0.0.1 • Published 2 years ago

gologin-launch v0.0.1

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
2 years ago

class GoLogin - class for working with gologin.com API

Official Package

Getting Started

GoLogin supports Linux, MacOS and Windows platforms.

Installation

npm i gologin

for running example.js install puppeteer-core

npm i puppeteer-core

Usage

Where is token? API token is here. To have an access to the page below you need register GoLogin account.

Token API in Settings

Example

const puppeteer = require('puppeteer-core');
const GoLogin = require('gologin');

(async () =>{
    const GL = new GoLogin({
        token: 'yU0token',
        profile_id: 'yU0Pr0f1leiD',
    });

    const { status, wsUrl } = await GL.start().catch((e) => {
      console.trace(e);
      return { status: 'failure' };
    });

    if (status !== 'success') {
      console.log('Invalid status');
      return;
    }

    const browser = await puppeteer.connect({
        browserWSEndpoint: wsUrl.toString(), 
        ignoreHTTPSErrors: true,
    });

    const page = await browser.newPage();
    await page.goto('https://myip.link/mini');   
    console.log(await page.content());
    await browser.close();
    await GL.stop();
})();

Running example:

DEBUG=gologin* node example.js

Methods

constructor

  • options <Object> Options for profile
    • autoUpdateBrowser <boolean> do not ask whether download new browser version (default false) - token <string> your API token - profile_id <string> profile ID - executablePath <string> path to executable Orbita file. Orbita will be downloaded automatically if not specified.
    • remote_debugging_port <int> port for remote debugging - vncPort <integer> port of VNC server if you using it
    • tmpdir <string> path to temporary directore for saving profiles
    • extra_params arrayof <string> extra params for browser orbita (ex. extentions etc.)
    • uploadCookiesToServer <boolean> upload cookies to server after profile stopping (default false)
    • writeCookesFromServer <boolean> download cookies from server and write to profile cookies file (default true)
const GoLogin = require('gologin');
const GL = new GoLogin({
    token: 'yU0token',
    profile_id: 'yU0Pr0f1leiD',
});

start()

  • returns: <object> { status, wsUrl }

start browser with profile id, returning WebSocket url for puppeteer

stop()

stop browser with profile id

DEBUG

For debugging use DEBUG=* node example.js command

Selenium

To use GoLogin with Selenium see selenium/example.js

Full GoLogin API

API link here

For local profiles

startLocal()

  • returns: string

start browser with profile id, return WebSocket url for puppeteer. Extracted profile folder should be in specified temp directory.

stopLocal()

stop current browser without removing archived profile

example-local-profile.js

const puppeteer = require('puppeteer-core');
const GoLogin = require('gologin');

(async () =>{
    const GL = new GoLogin({
        token: 'yU0token',
        profile_id: 'yU0Pr0f1leiD',
        tmpdir: '/my/tmp/dir',
    });
    const { status, wsUrl } = await GL.start(); 
    const browser = await puppeteer.connect({
        browserWSEndpoint: wsUrl.toString(), 
        ignoreHTTPSErrors: true,
    });

    const page = await browser.newPage();
    await page.goto('https://myip.link/mini');   
    console.log(await page.content());
    await browser.close();
    await GL.stopLocal({posting: false});
})();

Python support

pyppeteer (recommend) and Selenium supported (see file gologin.py)

for Selenium may need download webdriver