gologin 2.1.2 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,19 +15,12 @@ const [_execPath, _filePath, GOLOGIN_API_TOKEN, GOLOGIN_PROFILE_ID] = process.ar
15
15
  profile_id: GOLOGIN_PROFILE_ID,
16
16
  });
17
17
 
18
- const { _status, wsUrl } = await GL.startRemote();
19
18
  const browser = await puppeteer.connect({
20
- browserWSEndpoint: wsUrl,
19
+ browserWSEndpoint: `https://cloudbrowser.gologin.com/connect?token=${GOLOGIN_API_TOKEN}&profile=${GOLOGIN_PROFILE_ID}`,
21
20
  ignoreHTTPSErrors: true,
22
21
  });
23
22
 
24
23
  const page = await browser.newPage();
25
- const viewPort = GL.getViewPort();
26
- await page.setViewport({ width: Math.round(viewPort.width * 0.994), height: Math.round(viewPort.height * 0.92) });
27
- const session = await page.target().createCDPSession();
28
- const { windowId } = await session.send('Browser.getWindowForTarget');
29
- await session.send('Browser.setWindowBounds', { windowId, bounds: viewPort });
30
- await session.detach();
31
24
 
32
25
  await page.goto('https://www.amazon.com/-/dp/B0771V1JZX');
33
26
  const content = await page.content();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gologin",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "A high-level API to control Orbita browser over GoLogin API",
5
5
  "types": "./index.d.ts",
6
6
  "main": "./src/gologin.js",
package/src/gologin.js CHANGED
@@ -44,7 +44,6 @@ const delay = (time) => new Promise((resolve) => setTimeout(resolve, time));
44
44
  export class GoLogin {
45
45
  constructor(options = {}) {
46
46
  this.browserLang = 'en-US';
47
- this.is_remote = options.remote || false;
48
47
  this.access_token = options.token;
49
48
  this.profile_id = options.profile_id;
50
49
  this.password = options.password;
@@ -59,7 +58,6 @@ export class GoLogin {
59
58
  this.waitWebsocket = options.waitWebsocket ?? true;
60
59
 
61
60
  this.isCloudHeadless = options.isCloudHeadless ?? true;
62
- this.isNewCloudBrowser = options.isNewCloudBrowser ?? true;
63
61
 
64
62
  this.tmpdir = tmpdir();
65
63
  this.autoUpdateBrowser = !!options.autoUpdateBrowser;
@@ -1372,10 +1370,6 @@ export class GoLogin {
1372
1370
  }
1373
1371
 
1374
1372
  async start() {
1375
- if (this.is_remote) {
1376
- return this.startRemote();
1377
- }
1378
-
1379
1373
  if (!this.executablePath) {
1380
1374
  await this.checkBrowser();
1381
1375
  }
@@ -1406,9 +1400,6 @@ export class GoLogin {
1406
1400
 
1407
1401
  async stop() {
1408
1402
  await new Promise(resolve => setTimeout(resolve, 500));
1409
- if (this.is_remote) {
1410
- return this.stopRemote();
1411
- }
1412
1403
 
1413
1404
  await this.stopAndCommit({ posting: true }, false);
1414
1405
  }
@@ -1447,78 +1438,9 @@ export class GoLogin {
1447
1438
  return wsUrl;
1448
1439
  }
1449
1440
 
1450
- async startRemote(delay_ms = 10000) {
1451
- debug(`startRemote ${this.profile_id}`);
1452
-
1453
- /*
1454
- if (profileResponse.statusCode !== 202) {
1455
- return {'status': 'failure', 'code': profileResponse.statusCode};
1456
- }
1457
- */
1458
-
1459
- const profile = await this.getProfile();
1460
- const profileResponse = await requests.post(`${API_URL}/browser/${this.profile_id}/web`, {
1461
- headers: { 'Authorization': `Bearer ${this.access_token}`, 'User-Agent': 'gologin-api' },
1462
- json: { isNewCloudBrowser: this.isNewCloudBrowser, isHeadless: this.isCloudHeadless },
1463
- }).catch(() => null);
1464
-
1465
- if (!profileResponse) {
1466
- throw new Error('invalid request');
1467
- }
1468
-
1469
- const { body, statusCode } = profileResponse;
1470
- debug('profileResponse', statusCode, body);
1471
-
1472
- if (profileResponse.statusCode === 401) {
1473
- throw new Error('invalid token');
1474
- }
1475
-
1476
- if (body.status === 'profileStatuses.pending') {
1477
- return { status: 'pending', message: 'remote browser is being prepared, please try in 1 minute.' };
1478
- }
1479
-
1480
- let remoteOrbitaUrl = `https://${this.profile_id}.orbita.gologin.com`;
1481
- if (this.isNewCloudBrowser) {
1482
- if (!profileResponse.body.remoteOrbitaUrl) {
1483
- throw new Error('Couldn\' start the remote browser');
1484
- }
1485
-
1486
- remoteOrbitaUrl = profileResponse.body.remoteOrbitaUrl;
1487
- }
1488
-
1489
- const { navigator = {}, fonts, os: profileOs } = profile;
1490
- this.fontsMasking = fonts?.enableMasking;
1491
- this.profileOs = profileOs;
1492
- this.differentOs =
1493
- profileOs !== 'android' && (
1494
- OS_PLATFORM === 'win32' && profileOs !== 'win' ||
1495
- OS_PLATFORM === 'darwin' && profileOs !== 'mac' ||
1496
- OS_PLATFORM === 'linux' && profileOs !== 'lin'
1497
- );
1498
-
1499
- const {
1500
- resolution = '1920x1080',
1501
- language = 'en-US,en;q=0.9',
1502
- } = navigator;
1503
-
1504
- this.language = language;
1505
- const [screenWidth, screenHeight] = resolution.split('x');
1506
- this.resolution = {
1507
- width: parseInt(screenWidth, 10),
1508
- height: parseInt(screenHeight, 10),
1509
- };
1510
-
1511
- const wsUrl = await this.waitDebuggingUrl(delay_ms, 0, remoteOrbitaUrl);
1512
- if (wsUrl !== '') {
1513
- return { status: 'success', wsUrl };
1514
- }
1515
-
1516
- return { status: 'failure', message: body };
1517
- }
1518
-
1519
1441
  async stopRemote() {
1520
1442
  debug(`stopRemote ${this.profile_id}`);
1521
- const profileResponse = await requests.delete(`${API_URL}/browser/${this.profile_id}/web?isNewCloudBrowser=${this.isNewCloudBrowser}`, {
1443
+ const profileResponse = await requests.delete(`${API_URL}/browser/${this.profile_id}/web`, {
1522
1444
  headers: {
1523
1445
  'Authorization': `Bearer ${this.access_token}`,
1524
1446
  'User-Agent': 'gologin-api',
@@ -1,25 +0,0 @@
1
- // Usage example: in the terminal enter
2
- // node example-startremote.js yU0token yU0Pr0f1leiD
3
-
4
- // your token api (located in the settings, api)
5
- // https://github.com/gologinapp/gologin#usage
6
- import GoLogin from '../src/gologin.js';
7
-
8
- const GOLOGIN_API_TOKEN = process.argv[2];
9
- // your profile id
10
- const GOLOGIN_PROFILE_ID = process.argv[3];
11
-
12
- (async () => {
13
- const GL = new GoLogin({
14
- token: GOLOGIN_API_TOKEN,
15
- profile_id: GOLOGIN_PROFILE_ID,
16
- });
17
-
18
- // connection of the remote work method
19
- const { status, wsUrl } = await GL.startRemote();
20
-
21
- const GOLOGIN_PROFILE_CLOUD_URL = wsUrl.split('/')[2];
22
- console.log('Done! Launch web browser and navigate to URL:', GOLOGIN_PROFILE_CLOUD_URL);
23
- })();
24
-
25
- // after running the script, the url will appear on the terminal