gologin-commonjs 2.1.1

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.
Files changed (88) hide show
  1. package/babel.config.json +17 -0
  2. package/dist/README.md +163 -0
  3. package/dist/example.js +35 -0
  4. package/dist/examples/example-amazon-cloud-browser.js +52 -0
  5. package/dist/examples/example-amazon-headless.js +56 -0
  6. package/dist/examples/example-amazon.js +53 -0
  7. package/dist/examples/example-create-custom-profile.js +42 -0
  8. package/dist/examples/example-create-profile.js +43 -0
  9. package/dist/examples/example-custom-args.js +34 -0
  10. package/dist/examples/example-fast-profile-settings.js +59 -0
  11. package/dist/examples/example-gmail.js +82 -0
  12. package/dist/examples/example-iphey.js +19 -0
  13. package/dist/examples/example-local-profile.js +28 -0
  14. package/dist/examples/example-login-walmart.js +38 -0
  15. package/dist/examples/example-startremote.js +29 -0
  16. package/dist/examples/example-stopremote.js +22 -0
  17. package/dist/examples/example-timezone.js +51 -0
  18. package/dist/fonts.js +3339 -0
  19. package/dist/fonts_config +104 -0
  20. package/dist/gologin-browser-ext.zip +0 -0
  21. package/dist/gologin_zeroprofile.b64 +1 -0
  22. package/dist/index.d.ts +61 -0
  23. package/dist/profile_export_example.csv +2 -0
  24. package/dist/run.sh +1 -0
  25. package/dist/src/bookmarks/utils.js +23 -0
  26. package/dist/src/browser/browser-api.js +106 -0
  27. package/dist/src/browser/browser-checker.js +336 -0
  28. package/dist/src/browser/browser-user-data-manager.js +306 -0
  29. package/dist/src/cookies/cookies-manager.js +164 -0
  30. package/dist/src/extensions/extensions-extractor.js +50 -0
  31. package/dist/src/extensions/extensions-manager.js +301 -0
  32. package/dist/src/extensions/user-extensions-manager.js +246 -0
  33. package/dist/src/gologin-api.js +103 -0
  34. package/dist/src/gologin.js +1319 -0
  35. package/dist/src/profile/profile-archiver.js +68 -0
  36. package/dist/src/profile/profile-directories-to-remove.js +71 -0
  37. package/dist/src/utils/browser.js +59 -0
  38. package/dist/src/utils/common.js +60 -0
  39. package/dist/src/utils/constants.js +7 -0
  40. package/dist/src/utils/utils.js +53 -0
  41. package/dist/test.html +1 -0
  42. package/dist/zero_profile.zip +0 -0
  43. package/gologin/.eslintrc.json +290 -0
  44. package/gologin/.sentry-native/a65389b2-9a7d-41ed-7de5-95c4570f0d3d.run.lock +0 -0
  45. package/gologin/README.md +163 -0
  46. package/gologin/example.js +36 -0
  47. package/gologin/examples/example-amazon-cloud-browser.js +44 -0
  48. package/gologin/examples/example-amazon-headless.js +50 -0
  49. package/gologin/examples/example-amazon.js +47 -0
  50. package/gologin/examples/example-create-custom-profile.js +39 -0
  51. package/gologin/examples/example-create-profile.js +40 -0
  52. package/gologin/examples/example-custom-args.js +34 -0
  53. package/gologin/examples/example-fast-profile-settings.js +69 -0
  54. package/gologin/examples/example-gmail.js +67 -0
  55. package/gologin/examples/example-iphey.js +17 -0
  56. package/gologin/examples/example-local-profile.js +26 -0
  57. package/gologin/examples/example-login-walmart.js +35 -0
  58. package/gologin/examples/example-startremote.js +25 -0
  59. package/gologin/examples/example-stopremote.js +20 -0
  60. package/gologin/examples/example-timezone.js +44 -0
  61. package/gologin/fonts.js +3339 -0
  62. package/gologin/fonts_config +104 -0
  63. package/gologin/gologin-browser-ext.zip +0 -0
  64. package/gologin/gologin_zeroprofile.b64 +1 -0
  65. package/gologin/index.d.ts +61 -0
  66. package/gologin/package.json +49 -0
  67. package/gologin/profile_export_example.csv +2 -0
  68. package/gologin/run.sh +1 -0
  69. package/gologin/src/bookmarks/utils.js +16 -0
  70. package/gologin/src/browser/browser-api.js +95 -0
  71. package/gologin/src/browser/browser-checker.js +392 -0
  72. package/gologin/src/browser/browser-user-data-manager.js +335 -0
  73. package/gologin/src/cookies/cookies-manager.js +189 -0
  74. package/gologin/src/extensions/extensions-extractor.js +56 -0
  75. package/gologin/src/extensions/extensions-manager.js +384 -0
  76. package/gologin/src/extensions/user-extensions-manager.js +295 -0
  77. package/gologin/src/gologin-api.js +110 -0
  78. package/gologin/src/gologin.js +1553 -0
  79. package/gologin/src/profile/profile-archiver.js +86 -0
  80. package/gologin/src/profile/profile-directories-to-remove.js +75 -0
  81. package/gologin/src/utils/browser.js +62 -0
  82. package/gologin/src/utils/common.js +76 -0
  83. package/gologin/src/utils/constants.js +1 -0
  84. package/gologin/src/utils/utils.js +49 -0
  85. package/gologin/test.html +1 -0
  86. package/gologin/zero_profile.zip +0 -0
  87. package/package.json +46 -0
  88. package/tes.js +35 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "plugins": [
3
+ [
4
+ "@babel/plugin-transform-modules-commonjs",
5
+ {
6
+ "importInterop": "babel"
7
+ }
8
+ ],
9
+ [
10
+ "babel-plugin-transform-import-meta"
11
+ ]
12
+ ],
13
+ "ignore": [
14
+ "node_modules",
15
+ "dist"
16
+ ]
17
+ }
package/dist/README.md ADDED
@@ -0,0 +1,163 @@
1
+ # class GoLogin - class for working with <a href="https://gologin.com" target="_blank">gologin.com</a> API
2
+ # Official Package
3
+
4
+ ## Getting Started
5
+
6
+ GoLogin supports Linux, MacOS and Windows platforms.
7
+
8
+ ### Installation
9
+
10
+ `npm i gologin`
11
+
12
+ for running example.js install puppeteer-core
13
+
14
+ `npm i puppeteer-core`
15
+
16
+ ### Usage
17
+
18
+ Where is token? API token is <a href="https://app.gologin.com/#/personalArea/TokenApi" target="_blank">here</a>.
19
+ To have an access to the page below you need <a href="https://app.gologin.com/#/createUser" target="_blank">register</a> GoLogin account.
20
+
21
+ ![Token API in Settings](https://user-images.githubusercontent.com/12957968/146891933-c3b60b4d-c850-47a5-8adf-bc8c37372664.gif)
22
+
23
+ ### Example
24
+
25
+ ```js
26
+ import puppeteer from 'puppeteer-core';
27
+
28
+ import GoLogin from '../src/gologin.js';
29
+
30
+ const { connect } = puppeteer;
31
+
32
+ (async () => {
33
+ const GL = new GoLogin({
34
+ token: 'yU0token',
35
+ profile_id: 'yU0Pr0f1leiD',
36
+ });
37
+
38
+ const { status, wsUrl } = await GL.start().catch((e) => {
39
+ console.trace(e);
40
+
41
+ return { status: 'failure' };
42
+ });
43
+
44
+ if (status !== 'success') {
45
+ console.log('Invalid status');
46
+
47
+ return;
48
+ }
49
+
50
+ const browser = await connect({
51
+ browserWSEndpoint: wsUrl.toString(),
52
+ ignoreHTTPSErrors: true,
53
+ });
54
+
55
+ const page = await browser.newPage();
56
+ await page.goto('https://myip.link/mini');
57
+ console.log(await page.content());
58
+ await browser.close();
59
+ await GL.stop();
60
+ })();
61
+ ```
62
+
63
+ ### Running example:
64
+
65
+ `DEBUG=gologin* node example.js`
66
+
67
+ ###
68
+ ### Methods
69
+ #### constructor
70
+
71
+ - `options` <[Object]> Options for profile
72
+ - `autoUpdateBrowser` <[boolean]> do not ask whether download new browser version (default false)
73
+ - `token` <[string]> your API <a href="https://gologin.com/#/personalArea/TokenApi" target="_blank">token</a>
74
+ - `profile_id` <[string]> profile ID
75
+ - `executablePath` <[string]> path to executable Orbita file. Orbita will be downloaded automatically if not specified.
76
+ - `remote_debugging_port` <[int]> port for remote debugging
77
+ - `vncPort` <[integer]> port of VNC server if you using it
78
+ - `tmpdir` <[string]> path to temporary directore for saving profiles
79
+ - `extra_params` arrayof <[string]> extra params for browser orbita (ex. extentions etc.)
80
+ - `uploadCookiesToServer` <[boolean]> upload cookies to server after profile stopping (default false)
81
+ - `writeCookesFromServer` <[boolean]> download cookies from server and write to profile cookies file (default true)
82
+ - `skipOrbitaHashChecking` <[boolean]> skip hash checking for Orbita after downloading process (default false)
83
+
84
+ ```js
85
+ import GoLogin from '../src/gologin.js';
86
+ const GL = new GoLogin({
87
+ token: 'yU0token',
88
+ profile_id: 'yU0Pr0f1leiD',
89
+ });
90
+ ```
91
+
92
+ #### start()
93
+
94
+ - returns: <[object]> { status, wsUrl }
95
+
96
+ start browser with profile id, returning WebSocket url for puppeteer
97
+
98
+ #### stop()
99
+
100
+ stop browser with profile id
101
+
102
+ ### DEBUG
103
+
104
+ For debugging use `DEBUG=* node example.js` command
105
+
106
+ ### Selenium
107
+
108
+ To use GoLogin with Selenium see `selenium/example.js`
109
+
110
+ ## Full GoLogin API
111
+ **Swagger:** <a href="https://api.gologin.com/docs" target="_blank">link here</a>
112
+
113
+ **Postman:** <a href="https://documenter.getpostman.com/view/21126834/Uz5GnvaL" target="_blank">link here</a>
114
+
115
+
116
+ ## For local profiles
117
+
118
+ #### startLocal()
119
+
120
+ - returns: string
121
+
122
+ start browser with profile id, return WebSocket url for puppeteer. Extracted profile folder should be in specified temp directory.
123
+
124
+ #### stopLocal()
125
+
126
+ stop current browser without removing archived profile
127
+
128
+ ### example-local-profile.js
129
+
130
+ ```js
131
+ import puppeteer from 'puppeteer-core';
132
+
133
+ import GoLogin from '../src/gologin.js';
134
+
135
+ const { connect } = puppeteer;
136
+
137
+ (async () => {
138
+ const GL = new GoLogin({
139
+ token: 'yU0token',
140
+ profile_id: 'yU0Pr0f1leiD',
141
+ executablePath: '/usr/bin/orbita-browser/chrome',
142
+ tmpdir: '/my/tmp/dir',
143
+ });
144
+
145
+ const wsUrl = await GL.startLocal();
146
+ const browser = await connect({
147
+ browserWSEndpoint: wsUrl.toString(),
148
+ ignoreHTTPSErrors: true,
149
+ });
150
+
151
+ const page = await browser.newPage();
152
+ await page.goto('https://myip.link');
153
+ console.log(await page.content());
154
+ await browser.close();
155
+ await GL.stopLocal({ posting: false });
156
+ })();
157
+ ```
158
+
159
+ ## Python support
160
+
161
+ <a href="https://github.com/pyppeteer/pyppeteer" target="_blank">pyppeteer</a> (recommend) and <a href="https://www.selenium.dev" target="_blank">Selenium</a> supported (see file gologin.py)
162
+
163
+ for Selenium may need download <a href="https://chromedriver.chromium.org/downloads" target="_blank">webdriver</a>
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
4
+ var _gologin = _interopRequireDefault(require("./src/gologin.js"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ const token = 'yU0token';
7
+ const profile_id = 'yU0Pr0f1leiD';
8
+ (async () => {
9
+ const GL = new _gologin.default({
10
+ token,
11
+ profile_id
12
+ });
13
+ const {
14
+ status,
15
+ wsUrl
16
+ } = await GL.start().catch(e => {
17
+ console.trace(e);
18
+ return {
19
+ status: 'failure'
20
+ };
21
+ });
22
+ if (status !== 'success') {
23
+ console.log('Invalid status');
24
+ return;
25
+ }
26
+ const browser = await _puppeteerCore.default.connect({
27
+ browserWSEndpoint: wsUrl.toString(),
28
+ ignoreHTTPSErrors: true
29
+ });
30
+ const page = await browser.newPage();
31
+ await page.goto('https://myip.link/mini');
32
+ console.log(await page.content());
33
+ await browser.close();
34
+ await GL.stop();
35
+ })();
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _gologin = _interopRequireDefault(require("gologin"));
4
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ // Usage example: in the terminal enter
7
+ // node example-amazon-cloud-browser.js yU0token yU0Pr0f1leiD
8
+
9
+ // your token api (located in the settings, api)
10
+ // https://github.com/gologinapp/gologin#usage
11
+
12
+ const [_execPath, _filePath, GOLOGIN_API_TOKEN, GOLOGIN_PROFILE_ID] = process.argv;
13
+ (async () => {
14
+ const GL = new _gologin.default({
15
+ token: GOLOGIN_API_TOKEN,
16
+ profile_id: GOLOGIN_PROFILE_ID
17
+ });
18
+ const {
19
+ _status,
20
+ wsUrl
21
+ } = await GL.startRemote();
22
+ const browser = await _puppeteerCore.default.connect({
23
+ browserWSEndpoint: wsUrl,
24
+ ignoreHTTPSErrors: true
25
+ });
26
+ const page = await browser.newPage();
27
+ const viewPort = GL.getViewPort();
28
+ await page.setViewport({
29
+ width: Math.round(viewPort.width * 0.994),
30
+ height: Math.round(viewPort.height * 0.92)
31
+ });
32
+ const session = await page.target().createCDPSession();
33
+ const {
34
+ windowId
35
+ } = await session.send('Browser.getWindowForTarget');
36
+ await session.send('Browser.setWindowBounds', {
37
+ windowId,
38
+ bounds: viewPort
39
+ });
40
+ await session.detach();
41
+ await page.goto('https://www.amazon.com/-/dp/B0771V1JZX');
42
+ const content = await page.content();
43
+ const matchData = content.match(/'initial': (.*)}/);
44
+ if (matchData === null || matchData.length === 0) {
45
+ console.log('no images found');
46
+ } else {
47
+ const data = JSON.parse(matchData[1]);
48
+ const images = data.map(e => e.hiRes);
49
+ console.log('images=', images);
50
+ }
51
+ await GL.stopRemote();
52
+ })();
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _gologin = _interopRequireDefault(require("gologin"));
4
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ // Usage example: in the terminal enter
7
+ // node example-amazon-headless.js yU0token yU0Pr0f1leiD
8
+
9
+ // your token api (located in the settings, api)
10
+ // https://github.com/gologinapp/gologin#usage
11
+
12
+ const [_execPath, _filePath, GOLOGIN_API_TOKEN, GOLOGIN_PROFILE_ID] = process.argv;
13
+ const delay = time => new Promise(resolve => setTimeout(resolve, time));
14
+ (async () => {
15
+ const GL = new _gologin.default({
16
+ token: GOLOGIN_API_TOKEN,
17
+ profile_id: GOLOGIN_PROFILE_ID,
18
+ extra_params: ['--headless', '--no-sandbox']
19
+ });
20
+ const {
21
+ _status,
22
+ wsUrl
23
+ } = await GL.start();
24
+ const browser = await _puppeteerCore.default.connect({
25
+ browserWSEndpoint: wsUrl.toString(),
26
+ ignoreHTTPSErrors: true
27
+ });
28
+ const page = await browser.newPage();
29
+ await delay(300);
30
+ const viewPort = GL.getViewPort();
31
+ await page.setViewport({
32
+ width: Math.round(viewPort.width * 0.994),
33
+ height: Math.round(viewPort.height * 0.92)
34
+ });
35
+ const session = await page.target().createCDPSession();
36
+ const {
37
+ windowId
38
+ } = await session.send('Browser.getWindowForTarget');
39
+ await session.send('Browser.setWindowBounds', {
40
+ windowId,
41
+ bounds: viewPort
42
+ });
43
+ await session.detach();
44
+ await page.goto('https://www.amazon.com/-/dp/B0771V1JZX');
45
+ const content = await page.content();
46
+ const matchData = content.match(/'initial': (.*)}/);
47
+ if (matchData === null || matchData.length === 0) {
48
+ console.log('no images found');
49
+ } else {
50
+ const data = JSON.parse(matchData[1]);
51
+ const images = data.map(e => e.hiRes);
52
+ console.log('images=', images);
53
+ }
54
+ await browser.close();
55
+ await GL.stop();
56
+ })();
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _gologin = _interopRequireDefault(require("gologin"));
4
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ // Usage example: in the terminal enter
7
+ // node example-amazon.js yU0token yU0Pr0f1leiD
8
+
9
+ // your token api (located in the settings, api)
10
+ // https://github.com/gologinapp/gologin#usage
11
+
12
+ const [_execPath, _filePath, GOLOGIN_API_TOKEN, GOLOGIN_PROFILE_ID] = process.argv;
13
+ (async () => {
14
+ const GL = new _gologin.default({
15
+ token: GOLOGIN_API_TOKEN,
16
+ profile_id: GOLOGIN_PROFILE_ID
17
+ });
18
+ const {
19
+ _status,
20
+ wsUrl
21
+ } = await GL.start();
22
+ const browser = await _puppeteerCore.default.connect({
23
+ browserWSEndpoint: wsUrl.toString(),
24
+ ignoreHTTPSErrors: true
25
+ });
26
+ const page = await browser.newPage();
27
+ const viewPort = GL.getViewPort();
28
+ await page.setViewport({
29
+ width: Math.round(viewPort.width * 0.994),
30
+ height: Math.round(viewPort.height * 0.92)
31
+ });
32
+ const session = await page.target().createCDPSession();
33
+ const {
34
+ windowId
35
+ } = await session.send('Browser.getWindowForTarget');
36
+ await session.send('Browser.setWindowBounds', {
37
+ windowId,
38
+ bounds: viewPort
39
+ });
40
+ await session.detach();
41
+ await page.goto('https://www.amazon.com/-/dp/B0771V1JZX');
42
+ const content = await page.content();
43
+ const matchData = content.match(/'initial': (.*)}/);
44
+ if (matchData == null || matchData.length == 0) {
45
+ console.log('no images found');
46
+ } else {
47
+ const data = JSON.parse(matchData[1]);
48
+ const images = data.map(e => e.hiRes);
49
+ console.log('images=', images);
50
+ }
51
+ await browser.close();
52
+ await GL.stop();
53
+ })();
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _gologin = _interopRequireDefault(require("gologin"));
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ // Usage example: in the terminal enter
6
+ // node example-create-custom-profile.js yU0token
7
+
8
+ // your token api (located in the settings, api)
9
+ // https://github.com/gologinapp/gologin#usage
10
+
11
+ const [_execPath, _filePath, GOLOGIN_API_TOKEN] = process.argv;
12
+ (async () => {
13
+ const GL = new _gologin.default({
14
+ token: GOLOGIN_API_TOKEN
15
+ });
16
+ const profileId = await GL.createCustom({
17
+ os: 'win',
18
+ // required param ('lin', 'mac', 'win', 'android'), for macM1 write (os: 'mac') and add property 'isM1'
19
+ // isM1: true,
20
+ name: 'testName',
21
+ fingerprint: {
22
+ autoLang: true,
23
+ resolution: '800x400',
24
+ language: 'de',
25
+ dns: 'testDNS',
26
+ hardwareConcurrency: 8,
27
+ deviceMemory: 4,
28
+ // 0.5, 1, 2, 4, 6, 8
29
+ startUrl: 'https://testurl.com',
30
+ googleServicesEnabled: true,
31
+ lockEnabled: true
32
+ // proxy: { // uncomment and check input if you need to use proxy
33
+ // mode: 'http', // 'socks4', 'socks5'
34
+ // host: '123.12.123.12',
35
+ // port: 1234,
36
+ // username: 'user',
37
+ // password: 'password',
38
+ // },
39
+ }
40
+ });
41
+ console.log('profile id=', profileId);
42
+ })();
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _gologin = _interopRequireDefault(require("gologin"));
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ // Usage example: in the terminal enter
6
+ // node example-create-profile.js yU0token
7
+
8
+ // your token api (located in the settings, api)
9
+ // https://github.com/gologinapp/gologin#usage
10
+
11
+ const [_execPath, _filePath, GOLOGIN_API_TOKEN] = process.argv;
12
+ (async () => {
13
+ const GL = new _gologin.default({
14
+ token: GOLOGIN_API_TOKEN
15
+ });
16
+
17
+ // the following parameters are required for profile creation
18
+ const profile_id = await GL.create({
19
+ name: 'profile_mac',
20
+ os: 'mac',
21
+ // 'win', 'lin', 'android'
22
+ // isM1: true, // for Mac M1
23
+ navigator: {
24
+ language: 'en-US,en;q=0.9',
25
+ userAgent: 'random',
26
+ // get random user agent for selected os
27
+ resolution: '1024x768'
28
+ },
29
+ proxyEnabled: false,
30
+ proxy: {
31
+ mode: 'none'
32
+ }
33
+ });
34
+ console.log('profile id=', profile_id);
35
+ await GL.update({
36
+ id: profile_id,
37
+ name: 'profile_mac2'
38
+ });
39
+ const profile = await GL.getProfile(profile_id);
40
+ console.log('new profile name=', profile.name);
41
+
42
+ // await GL.delete(profile_id);
43
+ })();
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
4
+ var _gologin = _interopRequireDefault(require("../src/gologin.js"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ (async () => {
7
+ const GL = new _gologin.default({
8
+ profile_id: 'yU0Pr0f1leiD',
9
+ token: 'yU0token',
10
+ args: ['--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-renderer-backgrounding']
11
+ });
12
+ const {
13
+ status,
14
+ wsUrl
15
+ } = await GL.start().catch(e => {
16
+ console.trace(e);
17
+ return {
18
+ status: 'failure'
19
+ };
20
+ });
21
+ if (status !== 'success') {
22
+ console.log('Invalid status');
23
+ return;
24
+ }
25
+ const browser = await _puppeteerCore.default.connect({
26
+ browserWSEndpoint: wsUrl.toString(),
27
+ ignoreHTTPSErrors: true
28
+ });
29
+ const page = await browser.newPage();
30
+ await page.goto('https://myip.link/mini');
31
+ console.log(await page.content());
32
+ await browser.close();
33
+ await GL.stop();
34
+ })();
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
4
+ var _browserApi = require("../src/browser/browser-api.js");
5
+ var _gologin = _interopRequireDefault(require("../src/gologin.js"));
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ const token = 'yU0token';
8
+ const profile_id = 'yU0Pr0f1leiD';
9
+ (async () => {
10
+ const GL = new _gologin.default({
11
+ token,
12
+ profile_id
13
+ });
14
+ const {
15
+ status,
16
+ wsUrl
17
+ } = await GL.start().catch(e => {
18
+ console.trace(e);
19
+ return {
20
+ status: 'failure'
21
+ };
22
+ });
23
+ if (status !== 'success') {
24
+ console.log('Invalid status');
25
+ return;
26
+ }
27
+ const browser = await _puppeteerCore.default.connect({
28
+ browserWSEndpoint: wsUrl.toString(),
29
+ ignoreHTTPSErrors: true
30
+ });
31
+ const page = await browser.newPage();
32
+ await page.goto('https://myip.link/mini');
33
+ console.log(await page.content());
34
+
35
+ /**
36
+ * @see updateProfileProxy
37
+ */
38
+ const proxyData = {
39
+ mode: 'none'
40
+ };
41
+ await GL.changeProfileProxy(proxyData);
42
+ await GL.changeProfileResolution('1920x1080');
43
+ const userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.71 Safari/537.36';
44
+ await GL.changeProfileUserAgent(userAgent);
45
+ await browser.close();
46
+ await GL.stop();
47
+ })();
48
+ (async () => {
49
+ /**
50
+ * @see updateProfileProxy
51
+ */
52
+ const proxyData = {
53
+ mode: 'none'
54
+ };
55
+ await (0, _browserApi.updateProfileProxy)(profile_id, token, proxyData);
56
+ await (0, _browserApi.updateProfileResolution)(profile_id, token, '1920x1080');
57
+ const userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.71 Safari/537.36';
58
+ await (0, _browserApi.updateProfileUserAgent)(profile_id, token, userAgent);
59
+ })();
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
4
+ var _gologin = _interopRequireDefault(require("../src/gologin.js"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ const {
7
+ connect
8
+ } = _puppeteerCore.default;
9
+ const delay = ms => new Promise(res => setTimeout(res, ms));
10
+ (async () => {
11
+ const GL = new _gologin.default({
12
+ token: 'yU0token'
13
+ });
14
+ const profile_id = await GL.create({
15
+ name: 'profile_gmail',
16
+ os: 'lin',
17
+ navigator: {
18
+ userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
19
+ resolution: '1280x720',
20
+ language: 'en-GB,en-US;q=0.9,en;q=0.8',
21
+ platform: 'Linux x86_64',
22
+ hardwareConcurrency: 8,
23
+ deviceMemory: 8,
24
+ maxTouchPoints: 5
25
+ },
26
+ proxy: {
27
+ mode: 'http',
28
+ host: 'proxy_host',
29
+ port: 'proxy_port',
30
+ username: 'proxy_username',
31
+ password: 'proxy_password'
32
+ }
33
+ });
34
+ console.log('profile id=', profile_id);
35
+ GL.setProfileId(profile_id);
36
+ const {
37
+ status,
38
+ wsUrl
39
+ } = await GL.start();
40
+ const browser = await connect({
41
+ browserWSEndpoint: wsUrl.toString(),
42
+ ignoreHTTPSErrors: true
43
+ });
44
+ const page = await browser.newPage();
45
+ const viewPort = GL.getViewPort();
46
+ await page.setViewport({
47
+ width: Math.round(viewPort.width * 0.994),
48
+ height: Math.round(viewPort.height * 0.92)
49
+ });
50
+ const session = await page.target().createCDPSession();
51
+ const {
52
+ windowId
53
+ } = await session.send('Browser.getWindowForTarget');
54
+ await session.send('Browser.setWindowBounds', {
55
+ windowId,
56
+ bounds: viewPort
57
+ });
58
+ await session.detach();
59
+ await page.goto('https://gmail.com');
60
+ await delay(1000);
61
+ await page.goto('https://accounts.google.com/signup/v2?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&flowName=GlifWebSignIn&flowEntry=SignUp');
62
+ await delay(3000);
63
+ await page.type('#firstName', 'first_name', {
64
+ delay: 100
65
+ });
66
+ await page.type('#lastName', 'last_name', {
67
+ delay: 100
68
+ });
69
+ await page.type('#username', 'username', {
70
+ delay: 100
71
+ });
72
+ await page.type('[name=Passwd]', 'pa$$w0rd', {
73
+ delay: 100
74
+ });
75
+ await page.type('[name=ConfirmPasswd]', 'pa$$w0rd', {
76
+ delay: 100
77
+ });
78
+ await page.click('#accountDetailsNext > div > button');
79
+ await delay(60000);
80
+ await browser.close();
81
+ await GL.stop();
82
+ })();
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _gologinApi = require("../src/gologin-api.js");
4
+ const token = process.env.GOLOGIN_API_TOKEN; // get token https://app.gologin.com/personalArea/TokenApi
5
+ const gologin = (0, _gologinApi.GologinApi)({
6
+ token
7
+ });
8
+ async function main() {
9
+ const {
10
+ browser
11
+ } = await gologin.launch();
12
+ const page = await browser.newPage();
13
+ await page.goto('https://iphey.com/', {
14
+ waitUntil: 'networkidle2'
15
+ });
16
+ const status = await page.$eval('.trustworthy-status:not(.hide)', elt => elt?.innerText?.trim());
17
+ return status; // Expecting 'Trustworthy'
18
+ }
19
+ main().catch(console.error).then(console.info).finally(_gologinApi.exitAll);
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _puppeteerCore = _interopRequireDefault(require("puppeteer-core"));
4
+ var _gologin = _interopRequireDefault(require("../src/gologin.js"));
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ const {
7
+ connect
8
+ } = _puppeteerCore.default;
9
+ (async () => {
10
+ const GL = new _gologin.default({
11
+ token: 'yU0token',
12
+ profile_id: 'yU0Pr0f1leiD',
13
+ executablePath: '/usr/bin/orbita-browser/chrome',
14
+ tmpdir: '/my/tmp/dir'
15
+ });
16
+ const wsUrl = await GL.startLocal();
17
+ const browser = await connect({
18
+ browserWSEndpoint: wsUrl.toString(),
19
+ ignoreHTTPSErrors: true
20
+ });
21
+ const page = await browser.newPage();
22
+ await page.goto('https://myip.link');
23
+ console.log(await page.content());
24
+ await browser.close();
25
+ await GL.stopLocal({
26
+ posting: false
27
+ });
28
+ })();