Code Monkey home page Code Monkey logo

gologin's Introduction

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

import puppeteer from 'puppeteer-core';

import GoLogin from '../src/gologin.js';

const { connect } = puppeteer;

(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 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)
    • skipOrbitaHashChecking <[boolean]> skip hash checking for Orbita after downloading process (default false)
import GoLogin from '../src/gologin.js';
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

Swagger: link here

Postman: 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

import puppeteer from 'puppeteer-core';

import GoLogin from '../src/gologin.js';

const { connect } = puppeteer;

(async () => {
  const GL = new GoLogin({
    token: 'yU0token',
    profile_id: 'yU0Pr0f1leiD',
    executablePath: '/usr/bin/orbita-browser/chrome',
    tmpdir: '/my/tmp/dir',
  });

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

  const page = await browser.newPage();
  await page.goto('https://myip.link');
  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

gologin's People

Contributors

mixolap avatar andrewkovtun98 avatar vmestecdn avatar igortikush avatar minhvh-nals avatar nephilimlord avatar gologinapp avatar alexandivv avatar thatkit avatar sergeyshaykhullin avatar andrewk98 avatar k4dima avatar stepjet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.