Установка анонимного прокси для Synology NAS DS5 (UPD обновлен тор)

Собственно задача была простая, — сделать возможным анонимно таскать некоторые файлы с некоторых особо параноидальных серверов. Оно мне конечно, не обидно когда некоторые ресурсы, вроде гугла подсовывают мне региональную страничку  и не дают зайти нормально на google.de например. Но когда некие сайты, не будем их показывать пальцем, вообще блокируют доступ, при попытке скачать из  PHP пару их страниц, для облегчения жизни фрилансера, оно расстраивает до глубины души.

И вот я решил, что надо наконец поставить Tor+polipo на NAS сервер Synology DS212, который, у отличие от компьютера потребляет не 200-400 Вт. электроэнергии, а всего лишь 15-ть. Поэтому он собственно, и работает, круглые сутки.

Весь процесс оказался очень сложным, на удивление просто. Не зная Линукса, я вам рекомендую не начинать это делать, потому, что действительно сложно. Я предупредил.

Итак, для начала надо установить менеджер пакетов ipkg. Он ставиться в синолоджи, с помощью этой вот последовательности действий. Смысл такой — скачиваете скрипт, закидываете его во временную директорию, запускаете, а он уже делает все что нужно. Поскольку wget на Synology не умеет качать по https:// то придется файл, который инициирует ipkg устанавливать через закачку с помощью расшаренной папки, которые вы вероятно уже имеете в вашем NAS.

Далее все пойдет быстрей.

ipkg tor
ipkg nano
ipkg polipo

Это надо запускать из под рута, который имеет тот же пароль, что и админ

nano -удобный редактор, tor — это клиент сети анонимного серфимнга, polipo — прокси к ТОРу.

После этого всего надо все сконфигулировать, потому что в ipkg народу было действительно лень сделать все по-людски. А ведь всего пару часов работы. Видимо лень не только в Украине косит ряды.

Итак, — по первых, надо почитать классный глобал-форум Synology, вот тут все расписано, ну почти все. Смысл такой: делаем кучу конфигурационных файлов, настраиваем свои подсети, проверяем, запускаем с консоли, подключаемся.

Если у вас удалось подключиться удаленно к 8118 — поздравляю, теперь надо сделать все, чтобы было удобно. То есть отредактировать стартап скрипт, который там один пользователь пытался сделать, но наделал его с ошибками.

во-первых, убедитесь что в конфигурации TOR указано RunAsDaemon 1 а в конфигурации polipo есть daemonize=true, это обязательно, иначе все будет не работать, как оно не работает, если выполнить все рекомендации этого классного форума.

Далее, вы должны указать в скрипте автозапуска, который /opt/etc/init.d/S99tor правильный путь к конфигу polipo, там он не указан, поэтому «полипо» не будет давать подключаться извне.

Для ленивых вот указанный выше скрипт автозапуска:

#!/bin/sh
#written by ecaddict, distributed (conveyed) under GPL version 3 or any later version
 
TNAME=/opt/bin/tor
PNAME=/opt/bin/polipo
CONF=/opt/etc/polipo/polipo.conf
EXSD=/bin/sed
EXPS=/bin/ps
 
if [ -z "$1" ] ; then
    case ${0##*/} in
        S??*) rc="start" ;;
        K??*) rc="stop" ;;
        *) rc="usage" ;;
    esac
else
    rc="$1"
fi
 
TBN="${TNAME##*/}"
PBN="${PNAME##*/}"
case "$rc" in
    start)
        if [ ! -x "$TNAME" ]; then
          echo -e "\033[1;31m$TBN is missing, try ipkg install $TBN\033[0m"
          exit 1
        fi
        if [ ! -x "$PNAME" ];then
          echo -e "\033[1;31m$PBN is missing, try ipkg install $PBN\033[0m"
          exit 2
        fi
        TST="$(echo ${TNAME} | $EXSD 's#/#\\/#g')"
        PST="$(echo ${PNAME} | $EXSD 's#/#\\/#g')"
 
 
        echo "Starting $TBN and $PBN"
        if [ -n "$($EXPS | $EXSD -n '/.*'''$TST'''/p')" ]; then
             echo -e "\033[1;33m$TBN runs already\033[0m"
        else
          ${TNAME}&
          sleep 1
        fi
 
echo "Starting $PBN"
 
        if [ -n "$($EXPS | $EXSD -n '/.*'''$PST'''/p')" ]; then
             echo -e "\033[1;33m$PBN runs already\033[0m"
        else
          rm -f 
          ${PNAME} -c "$CONF"
        fi
        ;;
    stop)
        echo "Stopping $TBN and $PBN"
        killall ${TNAME##*/}; killall ${PNAME##*/}
        ;;
    restart)
        echo "Restarting $TBN and $PBN"
        "$0" stop
        sleep 2
        "$0" start
        ;;
    *)
        echo "Usage: $0 (start|stop|restart|usage)"
        ;;
esac

Для подключения к этому я использовал Chrome, с установленным плагином. Собственно эта статья была написана и опубликована через TOR-сеть.

UPD 2017-12. Статья была написана в 2012/05, когда в Украине еще не было понятия блокировки Интернета. В текущий момент, Интернет начали блокировать, российские ресурсы, например, поисковик Яндекс, сайт кинопоиск.ру и т.п. вещи. Лично я не понимаю, когда чиновники указывают мне что мне смотреть в Интернете.

Поэтому немного проверил как оно работает. В основном потому что надо на «Дюне» ыводить картинки к фильмам, а брались они с кинопоиска.ру. Ну и с блокировкой — перестали показываться. Поэтому проверил как все работает. А работает — до сих пор. И даже добавил немного лог файла.

Чтобы добавить в tor для synology логгинг, надо найти конфигурационнй файл. Он у меня не декларируется при запуске, и очевидно по-умолчанию берется из  файле /opt/etc/torrc. Внутри него ищем такое вот и раскомментируем:


После чего делаем перезапуск демона тор:


И смотрим в лог файл tail -n 30 /opt/var/log/tor_notices.log. Там мне написало про то, что версия тор старая.


Конечно старая. 5-ть лет. Решил обновить. Сделал ipkg update & upgrade. После чего тор перестал запускаться. Просто валится с ошибкой,  никаких логов. Полипо стартует, но толку. Класс… остается пробовать (каким-то образом) поставить старый пакет.

Все-таки замечательные ребята. Сделали отличный NAS, но на нем не работает анонимизатор ТОР. Получается что прийдется покопаться и … возможно собирать специальный тор-сервер. Матов пока не хватает …

Мытарства фрилансера.

Ок, для начала вспоминаем какой у нас синолоджи. Я (упаси макаронный монстр) не знал какой там процессор. uname -a дает, а веб-интерфейс дает версию ДСМ

  • synology_88f6282_212
  • DSM 5.0.-4528

Кстати, как оказалось, процессор и єто вот cat /proc/cpuinfo выдает. Оказалось что он Feroceon 99FR131. А 6282 — это модель платы. Во оно как…


Теперь нахожу в этих ваших интернетах сайтик, с сборками тора. Пробую версию для похожего процессора (*.spk). Устанавливаю, оно конечно вываливается с ошибкой:


Теперь маленький хак. Если не нажимать эту кнопочку и поискать в /usr/packages то можно там найти исполняемый файл tor, который не выдает сегментайшн фаулт, я просто его перезаписал поверху старой версии /opt/bin/tor из ipkg. Также пришлось немного переделать конфиг автозапуска чтобы он понимал где находится конфиг тора. Прикладываю файл как архив — arh_S99tor

Пришлось также разрешить в конфиге тора локальный лупбек, который нужен для коннектов полипо. Собственно весь конфиг:

Еще пришлось дать прав на файл лога и конфига. Я просто поднял их для всех, но по сути и логике надо создавать пользователя tor и давать права только ему.

После этих манипуляций все и запустилось-завертелось. Удалять пакет кстати — нельзя, вероятно он копирует еще какие-то файлы. После удаления  вообщем тор перестает запускаться. А с ним — работает.


Кстати, остановленный статус — ничего не означает. Ведь тор+полипо отлично работают.


Вот такая карамба, впрочем «у меня все работает». Хотя желания поставить на разбери-пи  отдельный тор-сервис прибавилось. Беда в том, что уже надоело плодить устройства, так как потом они ломаются, их надо помнить как чинить, поэтому оно врядли я вскорости буду такое делать.

UPD. Что самое интересное кинопоиск не виден через «ТОР». Защищаются и с той стороны.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *