Как мне программно использовать tor

#node.js #tor

#node.js #tor

Вопрос:

Мой tor подключен к 127.0.0.1:9051 , сказано, что это не http-прокси, так как я могу действительно подключиться к веб-сайтам, программно используя его (предпочтительно node.js )? (Пытаюсь подключиться с помощью http GET)

Например, есть ли определенный способ отправки запросов?

Заранее спасибо 🙏

Ответ №1:

Вы можете использовать Axios для запроса и установить прокси на TOR SOCKS proxy. Как показано ниже

 const axios = require('axios');
const SocksProxyAgent = require('socks-proxy-agent');
const proxyOptions = `socks5://$127.0.0.1:9050`;
const httpsAgent = new SocksProxyAgent(proxyOptions);
const baseUrl = 'https://example.com'
const client = axios.create({baseUrl, httpsAgent});
client.get('/something').then(res => res.data);
  

Комментарии:

1. Это все еще работает?

Ответ №2:

Для людей, которые ищут обновленный ответ здесь, что работает для меня. Убедитесь, что ваш tor экземпляр запущен на другой вкладке терминала или в фоновом режиме.

Это обычная axios настройка, но нам нужно передать httpsAgent параметр, созданный socks-proxy-agent библиотекой.

 const axios = require('axios')
const { SocksProxyAgent } = require('socks-proxy-agent')

const run = async () => {
  try {
    const httpsAgent = new SocksProxyAgent('socks://127.0.0.1:9050')

    const result = await axios({
      httpsAgent,
      method: 'get',
      url: 'https://api.ipify.org'
    })

    console.log(result.data)
    // 185.220.101.68
  } catch (err) {
    console.log(err.message)
  }
}

run()