Могу ли я заставить модуль nodejs делать запросы через TOR без прямого изменения модуля?

Я пытаюсь использовать модуль npm google-trends-api для извлечения исторических данных тенденций Google. Это работало нормально в течение недели или двух, но внезапно прошлой ночью я резко ограничил скорость, и теперь я не могу выполнять какие-либо запросы ни через nodejs, ни через мой браузер. Однако, если я запускаю браузер TOR и делаю запрос, он работает нормально.

Я нашел модуль npm tor-request, и похоже, что он отлично решит мою проблему, за исключением того, что он предназначен для обертывания отдельных запросов. Поскольку запрос происходит в модуле, который я импортирую, а не непосредственно в моем собственном коде, это означает, что мне нужно либо создать дамп, либо разветвить модуль, чтобы модуль tor-request работал.

Есть ли способ заставить модули делать свои запросы через TOR без изменения фактического кода модуля? Например, что-то, что я могу установить в начале своей программы, чтобы все обычные запросы проходили через TOR. Мне было трудно найти ответ на этот вопрос, так как все поиски возвращали меня к модулю tor-request.

Не пытаюсь злоупотреблять API Google Trends, просто пытаюсь снова использовать его вообще.


person the8thbit    schedule 17.06.2018    source источник
comment
Параметр torify из этого ответа может работать, если вы согласны со всеми запросами приложений, проходящими через Tor. Что-то вроде torify node yourapp.js заставит все запросы проходить через Tor без изменения исходного кода программы.   -  person drew010    schedule 18.06.2018
comment
Спасибо, нарисовал. В итоге я остановился на решении, которое я предоставил ниже, но оно сработало бы, если бы мое решение не было вариантом, например, с модулями API, которые не принимают аргумент агента.   -  person the8thbit    schedule 20.06.2018


Ответы (1)


В дополнение к torify я обнаружил, что модуль (google-trends-api), который я пытался направить через TOR, принимал аргумент агента, который он просто передавал в запрос, поэтому я развернул прокси-сервер TOR на своем компьютере и передал api модуль socksProxyAgent, и он отлично работает.

person the8thbit    schedule 19.06.2018