@capybark читал по диагонали понял так "есть профили из браузера бас и хочется их перенести на дроид браузер", прост перенести скорее всего нельзя, но куки ты можешь. Отпечаток перенести не получится так как ожидается, ТК он работает только в бас. Но можно сделать наоборот, через кастом серверс снять отпечатки с разных тебе устройств, браузера разумеется, на этих отпечатках отфармить и получить куки и эти куки + локал сторедж залить в твой браузер на эмуле. Отпечаток, очевидно будет тот же. Стоит понимать, что бас для автоматизации браузера на ПК или отпечатках телефона, эт кастомизированная версия браузера для возможности подмены отпечатков. Но для браузера, не для приложений)
Платная помощь! FM/BAS - плохо
-
@00ch8 said in Платная помощь! FM/BAS - плохо:
FM плохой? Я создал идеальный инструмент в BAS, но учетные записи блокируются в FM/BAS. Мультилогин работает.
Нужна помощь!
С каким вебсайтом работаешь? Используешь ли мобильные отпечатки в BAS или только настольные компьютеры, как и в Multilogin?
-
@sergerdn said in Платная помощь! FM/BAS - плохо:
@00ch8 said in Платная помощь! FM/BAS - плохо:
FM плохой? Я создал идеальный инструмент в BAS, но учетные записи блокируются в FM/BAS. Мультилогин работает.
Нужна помощь!
С каким вебсайтом работаешь? Используешь ли мобильные отпечатки в BAS или только настольные компьютеры, как и в Multilogin?
Это лишние вопросы..
Последний апдейт по браузеру был 14 февраля 2022 в версии 24.7.1, с тех пор прошло больше года и ничего существенного исправлено не было, отсюда и низкий результат.
-
@FastSpace said in Платная помощь! FM/BAS - плохо:
Это лишние вопросы..
Не согласен, так как я может быть знаю конкретный ресурс, о котором идет речь и, может быть знаю, его подводные камни. Про мобильные отпечатки я спросил, потому что я всегда считаю очень плохой идеей их использовать в BAS. Это мое личное отношение, основанное на моем личном опыте.
@FastSpace said in Платная помощь! FM/BAS - плохо:
Последний апдейт по браузеру был 14 февраля 2022 в версии 24.7.1, с тех пор прошло больше года и ничего существенного исправлено не было, отсюда и низкий результат.
Не уверен, что дело ровно в этом, так как всегда есть шанс, что плохому танцору сам знаешь что мешает. Вероятно, если есть какие-то ошибки в BAS, их можно на своей стороне снизить их влияние.
С другой стороны да, пора уже и обновить встроенный браузер в BAS, в любом случае совсем уж старый он.
-
@FastSpace said in Платная помощь! FM/BAS - плохо:
@sergerdn причём тут танцор, там заголовки неправильные уходят даже :) это такая основа что жесть
Дай, пожалуйста, один конкретный пример конкретного заголовка. Какой есть заголовок, какой должен быть и при какой конкретной ситуации все должно происходить.
-
@FastSpace это не проблема движка, эта проблема в том что они в Фингер криво кладутся.
-
@sergerdn said in Платная помощь! FM/BAS - плохо:
@FastSpace said in Платная помощь! FM/BAS - плохо:
@sergerdn причём тут танцор, там заголовки неправильные уходят даже :) это такая основа что жесть
Дай, пожалуйста, один конкретный пример конкретного заголовка. Какой есть заголовок, какой должен быть и при какой конкретной ситуации все должно происходить.
Вот пожалуйста.
Заголовок RTT (что это такое гуглим), браузер сам адекватно подстраивает этот заголовок под твоё интернет соединение, а BAS нет, он забирает то что удалось взялось у юзера, не учитывая специфики что твоё прокси не равно интернет соединению юзера. Плюс для всех сайтов этот заголовок одинаковен... xD -
@FastSpace кстати интересная штука, я вот тоже думал, влияют ли данные с отпечатка на скорость соединения, или просто данные.
Ну то есть данные в отпечатки 3g и будем ползти на три Джи? Жалуется у меня периодически знакомый, мол через бас ползет прокси, а через мульти логин отлично та же прокся работает... -
@FastSpace said in Платная помощь! FM/BAS - плохо:
@sergerdn said in Платная помощь! FM/BAS - плохо:
@FastSpace said in Платная помощь! FM/BAS - плохо:
@sergerdn причём тут танцор, там заголовки неправильные уходят даже :) это такая основа что жесть
Дай, пожалуйста, один конкретный пример конкретного заголовка. Какой есть заголовок, какой должен быть и при какой конкретной ситуации все должно происходить.
Вот пожалуйста.
Заголовок RTT (что это такое гуглим), браузер сам адекватно подстраивает этот заголовок под твоё интернет соединение, а BAS нет, он забирает то что удалось взялось у юзера, не учитывая специфики что твоё прокси не равно интернет соединению юзера. Плюс для всех сайтов этот заголовок одинаковен... xDДай конкретную инструкцию. Например, я должен открыть конкретный сайт, обновить страницу, попить кофе, обновить страницу опять и увидеть конкретный заголовок или конкретные варианты заголовка.
-
@Bigma said in Платная помощь! FM/BAS - плохо:
@FastSpace кстати интересная штука, я вот тоже думал, влияют ли данные с отпечатка на скорость соединения, или просто данные.
Ну то есть данные в отпечатки 3g и будем ползти на три Джи? Жалуется у меня периодически знакомый, мол через бас ползет прокси, а через мульти логин отлично та же прокся работает...Думаю нет, в бас за проксирование отвечает своё решение.
У меня тоже прокси в BAS хуже работает, даже того же дильфина, но в BAS шас выручает квик, протокол топчик. В дильфине его нетДай конкретную инструкцию. Например, я должен открыть конкретный сайт, обновить страницу, попить кофе, обновить страницу опять и увидеть конкретный заголовок или конкретные варианты заголовка.
Зачем? Что это изменит?
Десктоп в BAS ничем не лучше мобилы, если у одного сотня утечек, у другого поменьше раза в 2 это не меняет общую ситуацию ни коим образом -
@FastSpace я почему подумал, в инструментах разработчика можно ограничить скорость соединения поставив 3g, главное, чтоб бас не делал тоже самое 😁 надо как то это проверить. Поймать отпечаток с 3g и замерить скорость без прокси и сравнить с обычным хромом...


-
@Bigma said in Платная помощь! FM/BAS - плохо:
@FastSpace я почему подумал, в инструментах разработчика можно ограничить скорость соединения поставив 3g, главное, чтоб бас не делал тоже самое 😁 надо как то это проверить. Поймать отпечаток с 3g и замерить скорость без прокси и сравнить с обычным хромом...
Знаю я про эту фичу, то что ты видишь там на сайтах детекторах это всего лишь вывеска - заглушка, врятли хромимум у BAS вмешивается в работу прокси (за прокси отвечает своё решение) таким образом, хотя проверить стоит.
-
@FastSpace это не прокси, это механизм задержки соединения, ну как то так.
-
@Bigma said in Платная помощь! FM/BAS - плохо:
@FastSpace это не прокси, это механизм задержки соединения, ну как то так.
Я знаю, если самому эти настройки выставить, то прокси будет работать с той скоростью которую ты указал, а если просто параметр из отпечатка, то врятли
-
@FastSpace said in Платная помощь! FM/BAS - плохо:
Зачем? Что это изменит?
Наверное, потому что тебя попросили. Так как ты не дал подробных инструкций, я додумал логику.
Это третий скрипт, который я написал в жизни на
javascriptиpuppeteer, что может говорить, что некоторые вещи могут быть не сложными, даже для не очень опытных кодеров. Времени у меня ушло на исследование вопроса и написание скрипта меньше часа.Можно реализовать установку любых заголовков в любое время. Вероятно, можно реализовать подобное и в BAS. Но надо знать его очень хорошо, а у меня его ограниченное знание.
Вероятно, в скрипте могут быть ошибки, так как у меня ограниченный опыт с
javascript.Иногда все таки дело в танцоре, а не инструменте.

/* This code sets up a Puppeteer browser instance with a specific profile directory and fingerprint. It then launches a new page and intercepts the requests made by that page, modifying specified headers if they exist. It navigates to a URL and takes a screenshot of the full page before closing the browser. */ require("dotenv").config(); const {plugin} = require("puppeteer-with-fingerprints"); const fs = require("fs").promises; const path = require("path"); async function interceptRequests(page, headers) { // Enable request interception for the given page await page.setRequestInterception(true); // Listen for incoming requests on the page page.on("request", iRequest => { // Get the headers of the incoming request const requestHeaders = iRequest.headers(); let headerIntercepted = false; // Check if any of the specified headers are present in the request headers for (const [headerName, headerValue] of Object.entries(headers)) { if (requestHeaders[headerName]) { // If a header is present, modify its value and log the change console.log(`Header intercepted from "${headerName}: ${requestHeaders[headerName]}" to "${headerName}: ${headerValue}" for URL: ${iRequest.url()}`); requestHeaders[headerName] = headerValue; headerIntercepted = true; } } // Continue the request with the modified headers if any headers were intercepted if (headerIntercepted) { iRequest.continue({headers: requestHeaders}); } else { iRequest.continue(); } }); } async function runAll(profileDirectory, fpKey) { // Check if the profile directory exists, and create it if it doesn't try { await fs.access(profileDirectory); } catch { await fs.mkdir(profileDirectory, {recursive: false}); } // Check if the fingerprint file already exists: const fingerprintFilePath = path.join(profileDirectory, "fingerprint.json"); let fingerprint; if (await fs.access(fingerprintFilePath).then(() => true).catch(() => false)) { // Read the fingerprint from the file: const fingerprintData = await fs.readFile(fingerprintFilePath, "utf-8"); fingerprint = JSON.parse(fingerprintData); } else { // Fetch a fingerprint from the server: fingerprint = await plugin.fetch(fpKey, { tags: ["Microsoft Windows", "Chrome"], minBrowserVersion: "110" }); // Write the fingerprint to a file in the profile directory: await fs.writeFile(fingerprintFilePath, JSON.stringify(fingerprint)); } // Apply fingerprint: plugin.useFingerprint(fingerprint); // Launch a new browser instance with the specified profile directory: const browser = await plugin.launch({ args: [`--user-data-dir=${profileDirectory}`], headless: false, }); // Create a new page in the browser: const page = await browser.newPage(); // Intercept requests and modify the headers if present: await interceptRequests(page, { "downlink": "downlink_any_value", "rrt": "rrt_any_value", "device-memory": "device-memory_any_value" }); // Navigate to the specified URL: await page.goto("https://browserleaks.com/client-hints"); // Wait for the page to finish loading: page.waitForNavigation() .then(() => { // Do something after the navigation is successful }) .catch(() => { // Handle navigation error }); // Take a screenshot of the page: await page.screenshot({path: path.join(path.dirname(__filename), "screenshot.png"), fullPage: true}); // Close the browser: await browser.close(); } // Run the function with the specified profile directory and fingerprint key: (async () => { const profileDirectory = path.join(path.dirname(__filename), ".profile-http-headers"); const fpKey = process.env.FINGERPRINT_KEY ?? ""; console.log(`running with profile: ${profileDirectory}`); await runAll(profileDirectory, fpKey); })();Logs:
$ node example_http_headers.js running with profile: D:\Projects\WebStorm\others\puppeteer-with-fingerprints_test1\.profile-http-headers Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/client-hints Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/client-hints Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/css/style.css?v=57762431 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/css/style.css?v=57762431 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/js/jquery.min.js?v=33792034 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/js/jquery.min.js?v=33792034 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/js/default.js?v=57762431 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/js/default.js?v=57762431 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/js/client-hints.js?v=57762431 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/js/client-hints.js?v=57762431 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/img/logo_hand.svg?v=33792034 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/img/logo_hand.svg?v=33792034 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/img/logo.png?v=33792034 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/img/logo.png?v=33792034 Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/client-hints/iframe Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/client-hints/iframe Header intercepted from "downlink: 10" to "downlink: downlink_any_value" for URL: https://browserleaks.com/manifest.json?v=33792034 Header intercepted from "device-memory: 8" to "device-memory: device-memory_any_value" for URL: https://browserleaks.com/manifest.json?v=33792034package.json:
{ "name": "puppeteer-with-fingerprints_test1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "dotenv": "^16.0.3", "puppeteer": "^19.7.3", "puppeteer-with-fingerprints": "github:CheshireCaat/puppeteer-with-fingerprints" }, "devDependencies": { "eslint": "^8.35.0" } } -
@sergerdn мощный костыль ты конечно накидал, но можно проще опять же :) То, про что Фаст говорил, скорее всего относится к стандартным заголовкам, которые можно посмотреть например в инструментах разработчика - и оппа сюрприз, для хрома - они будут отличаться от бассовских - но надо прям очень внимательно сравнивать. И все это хозяйство можно изменить другим способом.