заставьте node.exe перейти на Windows 10 - PullRequest
0 голосов
/ 20 ноября 2018

Я разрабатываю ботов для телеграммы , я из Ирана, и URL телеграммы заблокирован в моей стране, и я вынужден использовать VPN / прокси-серверы для доступа к API Telegram из моеголокальный аппарат

Но у меня в системе работают другие приложения, которые не работают, например, VPN, поэтому я вынужден использовать proxifier , я могу определить правила для приложений, которые мне нужныскинуть прокси.

Но node.exe почему-то игнорирует эти правила, в NetLimiter я вижу, что соединение исходит от C:\Program Files (x86)\nodejs\node.exe, но добавление этого пути к правилам проксификаторане имеет никакого эффекта, другие приложения, такие как сама telegram и firefox и ... прекрасно работают с этими правилами ...

Так кто-нибудь сумел заставить node.exe запустить бросок-проксиматор?

Iтакже пытался настроить прокси с php на моем хосте, но ни один из прокси-скриптов, которые я нашел, не смог обработать загрузку файлов

Моя последняя надежда - установить некоторые модули для apache и использовать его в качестве прокси илипросто установите nginx ...

Я также попытался https://github.com/krisives/proxysocket и https://github.com/TooTallNate/node-https-proxy-agent безуспешно, он просто выдает ошибки: (

1 Ответ

0 голосов
/ 20 ноября 2018

Хорошо, после нескольких часов попыток наконец-то заставил это работать с проксиматором.

https://github.com/TooTallNate/node-https-proxy-agent

new HttpsProxyAgent('http://username:password@127.0.0.1:8080')


Обновление: У этого подхода были свои проблемы, поэтому я создал небольшой персональный прокси-сервер с node-http-proxy на моем сервере и подключился к нему:

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;

const debug     = require('debug')('app');
const http      = require('http');
const httpProxy = require('http-proxy');

const proxy = httpProxy.createProxyServer({
  secure : false
});
proxy.on('error', function (e) {
  debug(e);
});

const server = http.createServer(function(req, res) {
  // You can define here your custom logic to handle the request
  // and then proxy the request.
  proxy.web(req, res, { target: 'https://api.telegram.org', });
});

server.listen(3333);

И просто просто перенаправил все запросы на этот сервер.

...