@Fox да спасибо, сейчас так и делаю - это вопрос именно в организации кода. У меня реакт скрипт размещен после основного html. И например если нажать format document, то скрипт перестает работать. То есть его легко поломать и трудно дебажить. Наверное буду смотреть в сторону webpack тогда. Как я понял с помощью него можно один бандл сформировать.
[Сделано]Разные ip для разных сайтов
-
@support тоесть в данный момент проблематично реализовать разные прокси для разных сайтов при условии что для сайта 1 нужны ипв4 для сайта 2 ипв6 и переход на сайт 2 производится при клике на ссылку на сайте 1 и на сайте 1 ипв6 не поддерживается
(ипв6 туннелирование через ипв4) -
@35xakers Я рассматриваю профили как дополнительное удобство, а не как критическую необходимость.
тоесть в данный момент проблематично реализовать разные прокси для разных сайтов при условии что для сайта 1 нужны ипв4 для сайта 2 ипв6 и переход на сайт 2 производится при клике на ссылку на сайте 1 и на сайте 1 ипв6 не поддерживается
(ипв6 туннелирование через ипв4)Так должно работать
Устанавливаем прокси для сайта 1(ипв4) Заходим на этот сайт. Устанавливаем прокси для сайта 2(ипв6) Клик по ссылке.Первый сайт будет видеть ипв4 прокси, второй сайт - ипв6
туннелирование не существенно, главное, чтоб прокси работал)
-
@support said in Разные ip для разных сайтов:
Есть у меня идея сделать разные настройки заголовков, прокси, и данных браузера для разных сайтов или вкладок
Я давно хотел предложить эту идею) У себя пока сделал так:
function BASExtended() { } BASExtended.prototype.setProfile = function (profile) { BE.profile = profile; reset()! if (BE.profile.userAgent) { agent(BE.profile.userAgent)! } if (BE.profile.proxy) { proxy(BE.profile.proxy)! } if ((BE.profile.cookies && (typeof (BE.profile.cookies) === 'object'))) { restore_cookies(JSON.stringify(BE.profile.cookies))! } resize(BE.profile.resolution.w, BE.profile.resolution.h)! }; BE = new BASExtended(); BE.setProfile({ proxy: false, userAgent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0', cookies: false, resolution: {w: 800, h: 600} }); -
Асинхронные функции не будут работать в if, нужно оборачивать в специальный _if
-
@support да, я писал код еще до того, как узнал все тонкости api. Но он все равно работает, правда мой подход не совсем правильный (получается каша из асинхронных функций, они не выполнятся в нужном порядке), но перед загрузкой страницы все равно успевают выполниться. Вчера переделал правильный вариант
function BASExtended() { this.isLog = false; } BASExtended.prototype.log = function (msg) { if (BE.isLog) { log(msg); } }; BASExtended.prototype.callAsyncFunct = function () { var tmp = _arguments(); var args = []; var funct = tmp.shift(); var code = ''; for (var i = 0; i < tmp.length; i++) { eval('var arg_' + i + '=tmp[i]'); args.push('arg_' + i); } var asyncFunct = null; if (typeof (funct) === 'function') { code = 'asyncFunct = function(){funct(' + args.join() + ');}'; } else { code = 'asyncFunct = function(){' + funct + '(' + args.join() + ');}'; } BE.log('callAsyncFunct, ' + code); eval(code); _call(asyncFunct, null)! }; BASExtended.prototype.setProfile = function (profile) { BE.profile = profile; BE.log('Reset'); reset()! _if(BE.profile.userAgent, function () { _call(BE.callAsyncFunct, ['BE.setUserAgent', BE.profile.userAgent])!//~ })! _if(BE.profile.proxy, function () { _call(BE.callAsyncFunct, ['BE.setProxy', BE.profile.proxy])!//~ })! _if(BE.profile.cookies && (typeof (BE.profile.cookies) === 'object'), function () { _call(BE.callAsyncFunct, ['BE.setCookies', BE.profile.cookies])! })! _call(BE.callAsyncFunct, ['BE.setResolution', (BE.profile.resolution && BE.profile.resolution.w ? BE.profile.resolution.w : 800), (BE.profile.resolution && BE.profile.resolution.h ? BE.profile.resolution.h : 600)])! }; BASExtended.prototype.setProxy = function (p) { BE.log('setProxy: ' + p); proxy(p)! }; BASExtended.prototype.setCookies = function (cookies) { BE.log('Set cookies: ' + (JSON.stringify(cookies))); restore_cookies(JSON.stringify(cookies))! }; BASExtended.prototype.setResolution = function (w, h) { BE.log('setResolution: ' + w + 'x' + h); resize(w, h)! }; BE = new BASExtended(); BE.setProfile({ proxy: false, userAgent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0', cookies: false, resolution: {w: 800, h: 600} }); -
@blackhacker Да, так лучше
-
-
-
модуль для sms-acktiwator.ru
Locked Moved Запросы функционала -
-