• Categories
  • Recent
  • Popular
  • Users
  • Search
  • FingerprintSwitcher
  • CustomServers
  • AutomationPlugins
Skins
  • Light
  • Default
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Quartz
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Slate
  • Solar
  • Superhero
  • Vapor
Collapse

Bablosoft

Ограничить скорость для браузера

Scheduled Pinned Locked Moved Заказать скрипт
18 Posts 6 Posters 1888 Views
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Light
    wrote on last edited by
    #1

    В общем задача следующая, мне нужно ограничить скорость сетевого соединения для браузера в басе, по типу как в девтулс. Я пробовал пакеты https://www.npmjs.com/search?q=throttle и через проксирование, ну не умею я пока js готовить. Нужно ограничивать скорость например от 64 до 256 кб/с.

    Screenshot_57.png

    sergerdnS FastSpaceF 2 Replies Last reply
    0
  • sergerdnS Online
    sergerdnS Online
    sergerdn GURU BAS
    replied to Light on last edited by sergerdn
    #2

    @Light

    Скрипт писать не буду, но опытом поделюсь.

    BAS из коробки не имеет ничего, что помогло бы тебе сделать задачу просто и быстро.

    Мне только известен путь как сделать это сбоку:

    • найти remote_debugging_port для запущенного браузера
    • законнектиться к нему по CDP
    • послать команду Network.emulateNetworkConditions.

    🚀 Available for hire 40 hrs/week. 🚀

    L 1 Reply Last reply
    🤝
    2
  • FastSpaceF Online
    FastSpaceF Online
    FastSpace
    replied to Light on last edited by FastSpace
    #3

    @Light
    Ставишь 3proxy.
    Делаешь из своего интернета кучу локалхоста 127.0.0.1:xxxx
    На каждый порт в конфиг вешаешь ограничитель скорости

    L 1 Reply Last reply
    🤝
    1
  • L Offline
    L Offline
    Light
    replied to sergerdn on last edited by Light
    #4

    @sergerdn said in Ограничить скорость для браузера:

    найти remote_debugging_port для запущенного браузера

    бас не воспринимает атрибут --remote-debugging-port если я правильно понял, пробовал ранее. С этим атрибутом --remote-debugging-port=9222 тупо браузер не запускается

    sergerdnS 1 Reply Last reply
    0
  • L Offline
    L Offline
    Light
    replied to FastSpace on last edited by
    #5

    @FastSpace said in Ограничить скорость для браузера:

    Ставишь 3proxy

    Жуткий костыль, думал про него, но пока отложу для поиска менее костыльного способа, в любом случае спасибо.

    1 Reply Last reply
    0
  • sergerdnS Online
    sergerdnS Online
    sergerdn GURU BAS
    replied to Light on last edited by
    #6

    @Light said in Ограничить скорость для браузера:

    @sergerdn said in Ограничить скорость для браузера:

    найти remote_debugging_port для запущенного браузера

    бас не воспринимает атрибут --remote-debugging-port если я правильно понял, пробовал ранее. С этим атрибутом --remote-debugging-port=9222 тупо браузер не запускается

    Я написал для запущенного браузера, а не запустить браузер с нужными параметрами. Я размещал на этом форуме подробную логику с примерами кода на python.

    🚀 Available for hire 40 hrs/week. 🚀

    L 1 Reply Last reply
    0
  • L Offline
    L Offline
    Light
    replied to sergerdn on last edited by
    #7

    @sergerdn said in Ограничить скорость для браузера:

    Я написал для запущенного браузера, а не запустить браузер с нужными параметрами. Я размещал на этом форуме подробную логику с примерами кода на python.

    Я видел только одну вашу похожую тему https://community.bablosoft.com/topic/24585/ Можете если не затруднит тыкнуть на пример с пайтоном?

    sergerdnS 1 Reply Last reply
    0
  • sergerdnS Online
    sergerdnS Online
    sergerdn GURU BAS
    replied to Light on last edited by sergerdn
    #8

    @Light said in Ограничить скорость для браузера:

    Можете если не затруднит тыкнуть на пример с пайтоном?

    Тыц

    Можно переписать код на NodeJS, сделать из него кубик и таскать везде по проектам. Хотя я бы предпочел переписать код на PowerShell и запускать его из BAS, чтобы не использовать NodeJS.

    Но вот незадача - кубика для запуска кода на PowerShell в BAS то нет.

    🚀 Available for hire 40 hrs/week. 🚀

    1 Reply Last reply
    🤝
    1
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by A Former User
    #9

    Думаю вариант @FastSpace с 3proxy максимально простой, можно даже на том же бас сделать шаблон, который будет брать список прокси и создавать конфиги/запускать локальный прокси и выдавать список этих локальных прокси

    1 Reply Last reply
    🤝
    1
  • L Offline
    L Offline
    Light
    wrote on last edited by
    #10

    Хз накидал код с чатжпт, ни хера не проксируется:

    await (new Promise(async (resolve, reject) => {
      try {
        const fs = require('fs');
        const { exec } = require('child_process');
        const net = require('net');
    
        function getRandomPort() {
          return Math.floor(Math.random() * (65535 - 1024 + 1)) + 1024;
        }
    
        function checkPortAvailability(port) {
          return new Promise((resolve, reject) => {
            const server = net.createServer();
            server.once('error', (err) => {
              if (err.code === 'EADDRINUSE') {
                resolve(false);
              } else {
                reject(err);
              }
            });
            server.once('listening', () => {
              server.close(() => {
                resolve(true);
              });
            });
            server.listen(port);
          });
        }
    
        await new Promise((resolve, reject) => {
          const configPath = `D:\\BAS\\${Math.random().toString(36).substring(7)}.cfg`;
          const proxyPort = getRandomPort();
    
          const configContents = `
    daemon
    maxconn 1000
    nserver 8.8.8.8
    nscache 65536
    users ${configPath}
    rotate 3
    flush
    allow *
    ${proxyPort}
    
    timeout 6000
    dnspr
    noup
    nopm
    nolog
    
    proxy -p${proxyPort} -i127.0.0.1 -e${configPath}
    timeouts 1 5 30 60 180 1800 15 60
    
    speeds https://capmonster.cloud/Dashboard 32 64
    `;
    
          fs.writeFile(configPath, configContents, (err) => {
            if (err) {
              reject(err);
            } else {
              resolve();
            }
          });
        });
    
        let isPortAvailable = false;
        let proxyPort;
    
        do {
          proxyPort = getRandomPort();
          isPortAvailable = await checkPortAvailability(proxyPort);
        } while (!isPortAvailable);
    
        const logMessage = `Proxy settings: Host: 127.0.0.1, Port: ${proxyPort}`;
        console.log(logMessage);
    
        const configFileName = fs.readdirSync('D:\\BAS\\').find((file) => file.endsWith('.cfg'));
        console.log(`Config File: ${configFileName}`);
    
        const proxyPath = 'D:\\BAS\\3proxy\\3proxy.exe';
        exec(`"${proxyPath}" "${configFileName}"`, (err, stdout, stderr) => {
          if (err) {
            console.error(err);
          }
          console.log(stdout);
          console.error(stderr);
        });
    
        resolve();
      } catch (error) {
        reject(error);
      }
    }));
    

    Screenshot_60.png

    А еще же нужно же включить и другие прокси для работы, это как так, прокси через прокси?)

    L ? 2 Replies Last reply
    0
  • L Offline
    L Offline
    Light
    wrote on last edited by
    #11

    на скрине косяк localhost вместо 127.0.0.1 но даже так не работает.

    1 Reply Last reply
    0
  • L Offline
    L Offline
    Lokko
    replied to Light on last edited by Lokko
    #12

    @Light said in Ограничить скорость для браузера:

    let

    BAS не воспримет, попробуй заменить на var

    1 Reply Last reply
    0
  • ? Offline
    ? Offline
    A Former User
    replied to Light on last edited by A Former User
    #13

    @Light said in Ограничить скорость для браузера:

    Хз накидал код с чатжпт, ни хера не проксируется:

    ChatGpt особым умом не отличается и написал он вам какую-то ерунду, касаемо самого конфига. ChatGpt часто просто что-то придумывает, если не знает точно как это сделать.

    Это что...

    users ${configPath}
    

    А потом еще это

    -e${configPath}
    

    Это то что сходу бросилось в глаза

    Лучше почитайте доку 3proxy и сами сделайти шаблон конфига, тут даже nodejs не обязательно использовать можно просто в БАС все это реализовать.

    sergerdnS 1 Reply Last reply
    🤝
    1
  • sergerdnS Online
    sergerdnS Online
    sergerdn GURU BAS
    replied to Guest on last edited by
    #14

    @UserTrue said in Ограничить скорость для браузера:

    ChatGpt особым умом не отличается

    //offtopic

    Галлюцинации. Чтобы задать вопрос и понять где он придумал, а где нет - надо знать половину ответа. Тогда он даже очень даже норм.

    🚀 Available for hire 40 hrs/week. 🚀

    1 Reply Last reply
    2
  • L Offline
    L Offline
    Light
    wrote on last edited by
    #15

    Мне подсказали скрипт на пост запросах

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
    
    const chunksToSend = ['1', '2', '3'];
    const stream = new ReadableStream({
      async start(controller) {
        for(const chunk of chunksToSend) {
          await delay(1000);
          controller.enqueue(chunk);
        }
        controller.close();
      }
    });
    
    fetch('https://postman-echo.com/post', {
      method: 'POST',
      body: stream.pipeThrough(new TextEncoderStream()),
      headers: {'Content-Type': 'text/plain'},
      duplex: 'half',
    })
      .then(response => response.text())
      .then(text => console.log('Response:', text));
    

    Но он мне не подходит, так нужны гет запросы.

    Задача актуальна, кто знает как решить вопрос велком в тг

    FoxF 1 Reply Last reply
    0
  • FoxF Offline
    FoxF Offline
    Fox Bablosoft Team
    replied to Light on last edited by
    #16

    @Light said in Ограничить скорость для браузера:

    Мне подсказали скрипт на пост запросах
    Но он мне не подходит, так нужны гет запросы.

    Задача актуальна, кто знает как решить вопрос велком в тг

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
    
    const chunksToSend = ['1', '2', '3'];
    const stream = new ReadableStream({
      async start(controller) {
        for(const chunk of chunksToSend) {
          await delay(1000);
          controller.enqueue(chunk);
        }
        controller.close();
      }
    });
    
    fetch('https://postman-echo.com/post')
      .then(response => response.text())
      .then(text => console.log('Response:', text));
    
    L 1 Reply Last reply
    🤝
    1
  • L Offline
    L Offline
    Light
    replied to Fox on last edited by
    #17

    @Fox Ошибка при выполнении:

    Uncaught (in promise) RangeError: Maximum call stack size exceeded
    

    Чат жпт не знает как её исправить, предлагает решение:

    В коде, который вы предоставили, ошибка "Uncaught (in promise) RangeError: Maximum call stack size exceeded" возникает из-за рекурсивного вызова функции delay внутри цикла for...of. Это приводит к переполнению стека вызовов и возникновению ошибки.
    
    Для исправления этой ошибки вам необходимо изменить код таким образом, чтобы функция delay не вызывалась рекурсивно внутри цикла. Вместо этого вы можете использовать функцию setTimeout для задержки перед добавлением элемента в поток.
    

    Но по факту без изминений, таже ошибка.

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
    
    const chunksToSend = ['1', '2', '3'];
    const stream = new ReadableStream({
      start(controller) {
        let index = 0;
        const addChunk = () => {
          if (index < chunksToSend.length) {
            controller.enqueue(chunksToSend[index]);
            index++;
            setTimeout(addChunk, 100);
          } else {
            controller.close();
          }
        };
        addChunk();
      }
    });
    
    fetch('https://site.com/')
      .then(response => response.text())
      .then(text => console.log('Response:', text));
    
    1 Reply Last reply
    0
  • L Offline
    L Offline
    Light
    wrote on last edited by
    #18

    Можно попробовать еще через костыли но нужно допиливать расширение.

    1 Reply Last reply
    0

  • P

    Нужен скрипт или бот для просмотра объявлений на маркетплейсе

    Scheduled Pinned Locked Moved Заказать скрипт
    0 Votes
    1 Posts
    381 Views
    No one has replied
  • H

    Разработать скрипт для взаимодействия с расширением MetaMask (бюджет: 100$)

    Scheduled Pinned Locked Moved Заказать скрипт
    0 Votes
    1 Posts
    880 Views
    No one has replied
  • N

    Ищу фрилансера на BAS для крипто кранов

    Scheduled Pinned Locked Moved Заказать скрипт
    0 Votes
    1 Posts
    564 Views
    No one has replied
  • BesigorB

    Cкрипт для записи логов в Google Таблицу из BAS

    Scheduled Pinned Locked Moved Заказать скрипт
    0 Votes
    1 Posts
    1551 Views
    No one has replied
  • W

    Модуль, для подтверждения любых трейдов с 2FA

    Scheduled Pinned Locked Moved Заказать скрипт
    0 Votes
    1 Posts
    981 Views
    No one has replied
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Popular
  • Users
  • Search
  • FingerprintSwitcher
  • CustomServers
  • AutomationPlugins
  • Login

  • Don't have an account? Register

  • Login or register to search.