@xneizv

Как добавить поддержку Proxy в NodeJs?

Есть библиотека Bedrock-Protocol на nodejs, которая позволяет создавать игровых ботов с использованием nodejs для серверов Minecraft Bedrock.

Я создал скрипт на основе выше названной библиотеки, который считывает игроков в онлайне и получает их игровые префиксы, работает отлично с одной оговоркой, администраторы серверов часто блокируют меня по IP адресу, блокировка критична для меня так как я использую выделенный сервер на Ovh, и после блокировки больше зайти на нужный мне сервер не удаётся по понятным причинам.

От разработчика Bedrock-Protocol есть библиотека MineFlayer, которая позволяет использовать Socks прокси, но в моей библиотеке нет такой функции., потому стоит вопрос, каким путем можно обходить блокировки по IP используя nodejs на выделенном сервере Linux Debian, если бы мой скрипт работал на локальном компьютере мне бы не оставило проблем поменять IP адрес, но в Debian я так сделать не могу, или не знаю как. Покупать отдельные IP после каждой блокировки не выгодно.

Один человек посоветовал поставить прокси и через него пробросить весь трафик, хорошая наверное идея только я не очень силен в Nodejs и моих знаний не достаточно от слова совсем даже представить этот процесс. Гуглил ничего не нашёл, видел только что то про OpenVPN, и то скорее всего это нужно для создания VPN сервиса на основе моего сервера..

Нужно всего лишь запустить бота на сервер через Proxy/Socks либо изменить Айпи адрес машины при блокировке, хотя-бы на время, чтобы при следующей блокировке можно также было снова изменить IP. Если есть какие то варианты решения проблемы или сервисы, библиотеки был бы рад услышать. А если есть люди которые смогут дописать поддержку Socks proxy в скрипт, хотел бы связаться с такими людьми.

Сама идея проекта имеет не коммерческую идею, у нас свое мини комьюинти в игре, где мы изучаем сервера.
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 1
i229194964
@i229194964
Веб разработчик
npm install socks

const { SocksClient } = require('socks');

const proxyOptions = {
  proxy: {
    ipaddress: '127.0.0.1',
    port: 1080,
    type: 5 // SOCKS5 proxy
  },
  target: {
    host: 'mc.example.com',
    port: 19132
  }
};

const client = new SocksClient(proxyOptions);

client.connect().then(() => {
  // подключаемся к серверу Minecraft Bedrock через прокси
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы