Вопрос или проблема
Я использую tor из командной строки, чтобы обойти цензуру правительства в моей стране. Операционная система — macOS, и файл torrc выглядит следующим образом:
UseBridges 1
ClientTransportPlugin obfs4 exec /opt/homebrew/bin/obfs4proxy
Bridge obfs4 ...
Bridge obfs4 ...
Tor заблокирован в моей стране, и поэтому перед его запуском мне нужно включить прокси SOCKS. В данный момент я делаю это вручную:
sudo networksetup setsocksfirewallproxy "Wi-Fi" 127.0.0.1 9050 && tor
Но, возможно, существует более удобный и правильный способ, просто добавив одну или две строки в сам torrc?
Я пытался добавить Socks4Proxy 127.0.0.1:9050
или Socks5Proxy 127.0.0.1:9050
или SOCKSPort 9050
в конце моего torrc, но это, похоже, не работает. Возможно, я пропустил что-то очень простое и очевидное?
Ответ или решение
Настройка SOCKS-прокси в файле torrc на macOS для обхода цензуры может быть более удобной, чем ручная конфигурация через команду в терминале. Вам нужно создать правильную конфигурацию, чтобы Tor автоматически задавал параметры сетевых подключений, включая использование SOCKS-прокси. Рассмотрим, как это можно сделать.
Теория
Tor, популярный инструмент анонимного соединения с Интернетом, часто используется для обхода блокировок. Это особенно актуально для пользователей в странах с жёстким контролем интернет-трафика. SOCKS-прокси позволяет направлять трафик приложения через Tor без дополнительной настройки приложений. Тор предусматривает использование порта 9050 для работы с SOCKS-прокси.
Существуют различные виды SOCKS-прокси — SOCKS4 и SOCKS5, которые различаются возможностями аутентификации и передачи данных. В контексте использования Tor, в большинстве случаев применяется SOCKS5 из-за его расширенных возможностей.
Пример
Ваша текущая конфигурация torrc дополняется несколькими строчками, чтобы задать требуемые параметры. Обычно для активации отдельного порта SOCKS достаточно добавить:
SOCKSPort 9050
Конечно, это предполагает, что порт 9050 открыт и не используется другими приложениями. Однако, похоже, что в вашем случае этого может быть недостаточно, чтобы прокси автоматически заработал, без дополнительной настройки.
Применение
У вас уже настроено использование мостов (bridges) для соединения через обфускационные транспорты, что важно для обхода прямых блокировок Tor-сетей. Однако конфигурация через torrc может не быть полной из-за неправильного понимания назначения некоторых параметров.
Прежде всего, убедитесь, что ваш system-level прокси открыт и не перезаписан другими процессами. Существует несколько шагов, которые помогут удостовериться, что SOCKS-прокси функционирует как надо:
-
Проверка активности порта 9050:
Убедитесь, что никакие другие приложения не используют этот порт. Вы можете проверить это, используя команду:lsof -i :9050
-
Обновление конфигурации torrc:
Убедитесь, что вы добавили корректный параметр в файл torrc. Используйте:SOCKSPort 0.0.0.0:9050
Это гарантирует, что Tor слушает все сетевые интерфейсы на указанном порту.
-
Управление сетью на уровне системы:
Хотя you делаете это вручную, вы можете автоматизировать этот процесс скриптом запуска Tor, чтобы вам не приходилось постоянно вводить команды вручную. Например, вы можете создать скрипт следующего содержания:#!/bin/sh sudo networksetup setsocksfirewallproxy "Wi-Fi" 127.0.0.1 9050 tor -f /path/to/your/torrc
Убедитесь, что этот скрипт имеет разрешения на выполнение.
-
Проверка соединения:
После настройки запустите Tor и убедитесь, что соединение проходит через SOCKS-прокси. Для этого можно использовать утилиты, такие какcurl
, с указанием прокси:curl --proxy socks5://127.0.0.1:9050 http://check.torproject.org
Это позволит убедиться, что ваш запрос проходит через сеть Tor.
Эти шаги помогут вам настроить автоматическое использование SOCKS-прокси через файл конфигурации torrc, минимизируя ручные действия и повышая удобство работы с Tor в условиях жёсткой интернет-цензуры. Убедитесь, что все изменения, которые делаются, соответствуют вашим внутренним политикам безопасности.