gologin 2.0.28 → 2.0.30
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.
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ import { createInterface } from 'readline';
|
|
|
10
10
|
import util from 'util';
|
|
11
11
|
|
|
12
12
|
import { findLatestBrowserVersionDirectory } from '../utils/utils.js';
|
|
13
|
+
import { API_URL, getOS } from '../utils/common.js';
|
|
13
14
|
|
|
14
15
|
const exec = util.promisify(execNonPromise);
|
|
15
16
|
const { access, mkdir, readdir, rmdir, unlink, copyFile, readlink, symlink, lstat, rename, writeFile } = _promises;
|
|
@@ -18,19 +19,11 @@ const PLATFORM = process.platform;
|
|
|
18
19
|
const ARCH = process.arch;
|
|
19
20
|
|
|
20
21
|
const VERSION_FILE = 'latest-version.txt';
|
|
21
|
-
const MAC_VERSION_FILE_URL = `https://orbita-browser-mac.gologin.com/${VERSION_FILE}`;
|
|
22
|
-
const DEB_VERSION_FILE_URL = `https://orbita-browser-linux.gologin.com/${VERSION_FILE}`;
|
|
23
|
-
const WIN_VERSION_FILE_URL = `https://orbita-browser-windows.gologin.com/${VERSION_FILE}`;
|
|
24
|
-
const MAC_ARM_VERSION_FILE_URL = `https://orbita-browser-mac-arm.gologin.com/${VERSION_FILE}`;
|
|
25
22
|
|
|
26
23
|
const WIN_FOLDERSIZE_FILE = 'foldersize.txt';
|
|
27
24
|
const WIN_FOLDERSIZE_FILE_LINK = `https://orbita-browser-windows.gologin.com/${WIN_FOLDERSIZE_FILE}`;
|
|
28
25
|
|
|
29
26
|
const BROWSER_ARCHIVE_NAME = `orbita-browser-latest.${PLATFORM === 'win32' ? 'zip' : 'tar.gz'}`;
|
|
30
|
-
const MAC_BROWSER_LINK = `https://orbita-browser-mac.gologin.com/${BROWSER_ARCHIVE_NAME}`;
|
|
31
|
-
const DEB_BROWSER_LINK = `https://orbita-browser-linux.gologin.com/${BROWSER_ARCHIVE_NAME}`;
|
|
32
|
-
const WIN_BROWSER_LINK = `https://orbita-browser-windows.gologin.com/${BROWSER_ARCHIVE_NAME}`;
|
|
33
|
-
const MAC_ARM_BROWSER_LINK = `https://orbita-browser-mac-arm.gologin.com/${BROWSER_ARCHIVE_NAME}`;
|
|
34
27
|
|
|
35
28
|
const MAC_HASH_FILE = 'hashfile.mtree';
|
|
36
29
|
const DEB_HASH_FILE = 'hashfile.txt';
|
|
@@ -73,12 +66,12 @@ export class BrowserChecker {
|
|
|
73
66
|
async checkBrowser(autoUpdateBrowser = false) {
|
|
74
67
|
const browserFolderExists = await access(this.#executableFilePath).then(() => true).catch(() => false);
|
|
75
68
|
|
|
76
|
-
const browserLatestVersion = await this.getLatestBrowserVersion();
|
|
69
|
+
const { latestVersion: browserLatestVersion, browserDownloadUrl } = await this.getLatestBrowserVersion();
|
|
70
|
+
|
|
77
71
|
if (!browserFolderExists) {
|
|
78
|
-
return this.downloadBrowser(browserLatestVersion);
|
|
72
|
+
return this.downloadBrowser(browserLatestVersion, browserDownloadUrl);
|
|
79
73
|
}
|
|
80
74
|
|
|
81
|
-
|
|
82
75
|
const currentVersionReq = await this.getCurrentVersion();
|
|
83
76
|
const currentVersion = (currentVersionReq?.stdout || '').replace(/(\r\n|\n|\r)/gm, '');
|
|
84
77
|
|
|
@@ -87,7 +80,7 @@ export class BrowserChecker {
|
|
|
87
80
|
}
|
|
88
81
|
|
|
89
82
|
if (autoUpdateBrowser) {
|
|
90
|
-
return this.downloadBrowser(browserLatestVersion);
|
|
83
|
+
return this.downloadBrowser(browserLatestVersion, browserDownloadUrl);
|
|
91
84
|
}
|
|
92
85
|
|
|
93
86
|
return new Promise(resolve => {
|
|
@@ -101,7 +94,7 @@ export class BrowserChecker {
|
|
|
101
94
|
clearTimeout(timeout);
|
|
102
95
|
rl.close();
|
|
103
96
|
if (answer && answer[0].toString().toLowerCase() === 'y') {
|
|
104
|
-
return this.downloadBrowser(browserLatestVersion).then(() => resolve());
|
|
97
|
+
return this.downloadBrowser(browserLatestVersion, browserDownloadUrl).then(() => resolve());
|
|
105
98
|
}
|
|
106
99
|
|
|
107
100
|
console.log(`Continue with current ${currentVersion} version.`);
|
|
@@ -110,26 +103,16 @@ export class BrowserChecker {
|
|
|
110
103
|
});
|
|
111
104
|
}
|
|
112
105
|
|
|
113
|
-
async downloadBrowser(latestVersion) {
|
|
106
|
+
async downloadBrowser(latestVersion, browserDownloadUrl) {
|
|
114
107
|
await this.deleteOldArchives(true);
|
|
115
108
|
await mkdir(this.#browserPath, { recursive: true });
|
|
116
109
|
|
|
117
110
|
const pathStr = join(this.#browserPath, BROWSER_ARCHIVE_NAME);
|
|
118
|
-
let link = DEB_BROWSER_LINK;
|
|
119
|
-
if (PLATFORM === 'win32') {
|
|
120
|
-
link = WIN_BROWSER_LINK;
|
|
121
|
-
} else if (PLATFORM === 'darwin') {
|
|
122
|
-
link = MAC_BROWSER_LINK;
|
|
123
|
-
|
|
124
|
-
if (ARCH === 'arm64') {
|
|
125
|
-
link = MAC_ARM_BROWSER_LINK;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
111
|
|
|
129
|
-
await this.downloadBrowserArchive(
|
|
112
|
+
await this.downloadBrowserArchive(browserDownloadUrl, pathStr);
|
|
130
113
|
await this.checkBrowserArchive(pathStr);
|
|
131
114
|
await this.extractBrowser();
|
|
132
|
-
await this.checkBrowserSum();
|
|
115
|
+
await this.checkBrowserSum(latestVersion);
|
|
133
116
|
console.log('Orbita hash checked successfully');
|
|
134
117
|
await this.replaceBrowser();
|
|
135
118
|
await this.addLatestVersion(latestVersion).catch(() => null);
|
|
@@ -217,7 +200,7 @@ export class BrowserChecker {
|
|
|
217
200
|
);
|
|
218
201
|
}
|
|
219
202
|
|
|
220
|
-
async downloadHashFile() {
|
|
203
|
+
async downloadHashFile(latestVersion) {
|
|
221
204
|
let hashLink = DEB_HASHFILE_LINK;
|
|
222
205
|
let resultPath = join(this.#browserPath, DEB_HASH_FILE);
|
|
223
206
|
if (PLATFORM === 'darwin') {
|
|
@@ -228,6 +211,11 @@ export class BrowserChecker {
|
|
|
228
211
|
resultPath = join(this.#browserPath, MAC_HASH_FILE);
|
|
229
212
|
}
|
|
230
213
|
|
|
214
|
+
if (latestVersion) {
|
|
215
|
+
const [majorVer] = latestVersion.split('.');
|
|
216
|
+
hashLink = hashLink.replace('hashfile.', `hashfile-${majorVer}.`);
|
|
217
|
+
}
|
|
218
|
+
|
|
231
219
|
const writableStream = createWriteStream(resultPath);
|
|
232
220
|
writableStream.on('error', async (err) => {
|
|
233
221
|
await unlink(resultPath);
|
|
@@ -253,7 +241,7 @@ export class BrowserChecker {
|
|
|
253
241
|
return access(hashFilePath);
|
|
254
242
|
}
|
|
255
243
|
|
|
256
|
-
async checkBrowserSum() {
|
|
244
|
+
async checkBrowserSum(latestVersion) {
|
|
257
245
|
if (this.#skipOrbitaHashChecking) {
|
|
258
246
|
return Promise.resolve();
|
|
259
247
|
}
|
|
@@ -263,7 +251,7 @@ export class BrowserChecker {
|
|
|
263
251
|
return Promise.resolve();
|
|
264
252
|
}
|
|
265
253
|
|
|
266
|
-
await this.downloadHashFile();
|
|
254
|
+
await this.downloadHashFile(latestVersion);
|
|
267
255
|
if (PLATFORM === 'darwin') {
|
|
268
256
|
const calculatedHash = await exec(
|
|
269
257
|
`mtree -p ${join(this.#browserPath, EXTRACTED_FOLDER, 'Orbita-Browser.app')} < ${join(this.#browserPath, MAC_HASH_FILE)} || echo ${FAIL_SUM_MATCH_MESSAGE}`,
|
|
@@ -362,22 +350,13 @@ export class BrowserChecker {
|
|
|
362
350
|
}
|
|
363
351
|
|
|
364
352
|
getLatestBrowserVersion() {
|
|
365
|
-
|
|
366
|
-
if (PLATFORM === 'win32') {
|
|
367
|
-
url = WIN_VERSION_FILE_URL;
|
|
368
|
-
} else if (PLATFORM === 'darwin') {
|
|
369
|
-
url = MAC_VERSION_FILE_URL;
|
|
370
|
-
|
|
371
|
-
if (ARCH === 'arm64') {
|
|
372
|
-
url = MAC_ARM_VERSION_FILE_URL;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
353
|
+
const userOs = getOS();
|
|
375
354
|
|
|
376
|
-
return new Promise(resolve => get(
|
|
355
|
+
return new Promise(resolve => get(`${API_URL}/gologin-global-settings/latest-browser-info?os=${userOs}`,
|
|
377
356
|
{
|
|
378
357
|
timeout: 15 * 1000,
|
|
379
358
|
headers: {
|
|
380
|
-
'Content-Type': '
|
|
359
|
+
'Content-Type': 'application/json',
|
|
381
360
|
},
|
|
382
361
|
}, (res) => {
|
|
383
362
|
res.setEncoding('utf8');
|
|
@@ -386,7 +365,7 @@ export class BrowserChecker {
|
|
|
386
365
|
res.on('data', (data) => resultResponse += data);
|
|
387
366
|
|
|
388
367
|
res.on('end', () => {
|
|
389
|
-
resolve(resultResponse.trim());
|
|
368
|
+
resolve(JSON.parse(resultResponse.trim()));
|
|
390
369
|
});
|
|
391
370
|
}).on('error', (err) => resolve('')));
|
|
392
371
|
}
|
package/src/gologin.js
CHANGED
|
@@ -433,6 +433,7 @@ export class GoLogin {
|
|
|
433
433
|
profile_folder = await this.emptyProfileFolder();
|
|
434
434
|
await writeFile(this.profile_zip_path, profile_folder);
|
|
435
435
|
await this.extractProfile(profilePath, this.profile_zip_path);
|
|
436
|
+
await writeFile(pref_file_name, '{}');
|
|
436
437
|
}
|
|
437
438
|
|
|
438
439
|
const preferences_raw = await readFile(pref_file_name);
|
package/src/utils/common.js
CHANGED
|
@@ -21,8 +21,22 @@ const composeExtractionPromises = (filteredArchives, destPath = CHROME_EXTENSION
|
|
|
21
21
|
})
|
|
22
22
|
);
|
|
23
23
|
|
|
24
|
+
const getOS = () => {
|
|
25
|
+
if (process.platform === 'win32') {
|
|
26
|
+
return 'win';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (process.platform === 'darwin') {
|
|
30
|
+
return process.arch === 'arm64' ? 'macM1' : 'mac';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return 'lin';
|
|
34
|
+
};
|
|
35
|
+
|
|
24
36
|
const _composeExtractionPromises = composeExtractionPromises;
|
|
25
37
|
export { _composeExtractionPromises as composeExtractionPromises };
|
|
38
|
+
const _getOS = getOS;
|
|
39
|
+
export { _getOS as getOS };
|
|
26
40
|
const _USER_EXTENSIONS_PATH = USER_EXTENSIONS_PATH;
|
|
27
41
|
export { _USER_EXTENSIONS_PATH as USER_EXTENSIONS_PATH };
|
|
28
42
|
const _CHROME_EXTENSIONS_PATH = CHROME_EXTENSIONS_PATH;
|
package/zero_profile.zip
CHANGED
|
Binary file
|