Для начала я кратко обозначу, какая польза постигнет вас, если вы организуете свой собственный onion сервер.
1. У вашего сервера не будет IP. Он работает без DNS. Есть только неказистое имя, вроде t2zz6dgyudp4iowf.onion Это старый стандарт, когда в имени 16 знаков. Новый стандарт подразумевает 56 знаков. Вы не можете выбрать себе имя, зато его можно менять хоть каждый день. Вам не потребуется никакая регистрация. Сервер будет доступен под новым именем уже в следующую минуту. Некрасивость имени пускай вас не смущает. Все равно в сети используются гиперссылки, где имя явно не показывается.
2. Сайт будет виден, даже если у вашего компьютера «черный IP», не видимый из внешнего мира. В этой сети понятие IP вообще отсутствует как вид.
3. Сайт будет виден, даже если ваш провайдер заблокировал все входящие соединения из интернета к вам.
4. Сайт будет виден, если вы включите свой комп в любую чужую сеть. Вам ничего не нужно перестраивать. Он просто заработает.
5. Никто не узнает, где физически находится ваш сайт. Но и вы тоже не сможете понять, кто его посещает. Все соединения выглядеть так, будто заходят с вашего же компьютера. Все Фантомасы, но и вы тоже Фантомас.
Данная инструкция предназначена для линукса Debian, Ubuntu и похожих. Она вообще подойдет для любого юникса с незначительными нюансами. В качестве веб сервера используется Apache2. Можно использовать Nginx или что-то иное, но опять же отличия будут незначительными.
Предполагается, что у вас уже установлены sshd и apache. К сети onion они не относятся, поэтому установку мы пропустим. Теперь нам потребуется установть Tor:
apt-get install tor
Здесь и далее все команды нужно выполнять, зайдя в сиситему как root, а установку софта, кстати, мы уже закончили. Проверьте, что tor заработал.
ps ax | grep tor
Откройте текстовым редактором файл /etc/tor/torrc И впишите следующие строчки:
HiddenServiceDir /var/lib/tor/matumba HiddenServiceVersion 2 HiddenServicePort 80 127.0.0.1:80 HiddenServicePort 22 127.0.0.1:22
Похожее уже есть в конфигурации, закомментрованное. Вам нужно лишь поправить.
HiddenServiceDir - каталог где будут настройки onion сервера. Предположим, что ваш сервер называтся matumba. Имя может быть любым. Его все равно никто не увидит.
HiddenServiceVersion 2 - это строка нужна лишь тогда, когда вы хотите создать короткое имя сайта. Если это не указать, вам присвоится длинное имя из 56 символов. Это новый стандарт и он считается предпочтительным.
HiddenServicePort - тут мы указываем, какие сервисы открыть - sshd и httpd.
Теперь перезапустите tor:
systemctl stop tor systemctl start tor
Если все пошло по плану, то в системе создался каталог /var/lib/tor/matumba Заглянем в него. Файл hostname содержит имя вашего сайта: dr2brcdyaopw3nga.onion или вроде того.
Поздравляю! Ssh сервер у вас уже есть. Можете проверить сами, если не верите.
torsocks ssh ВашеИмя@dr2brcdyaopw3nga.onion
Точно так же вы будете заходить на свой сервер из внешнего интернета.
Теперь делаем веб сервер.
Создаем каталог /var/www/matumba с правами 755. Здесь будет корень вашего сайта. Сделайте там тестовую страничку:
echo "Beware of dragons" > index.html
Создайте файл /etc/apache2/sites-available/matumba.conf и выполните конфигурацию вашего сайта. Самая простая конфигурация будет такой:
<VirtualHost *:80> ServerName dr2brcdyaopw3nga.onion DocumentRoot /var/www/matumba </VirtualHost>
Включаем новый сайт в сеть:
a2ensite matumba systemctl reload apache2
Готово. Ваш сайт dr2brcdyaopw3nga.onion виден через Tor Browser. Проверяем из командной строки:
my@host:~$ torsocks wget -q dr2brcdyaopw3nga.onion -O - Beware of dragons my@host:~$
При необходимости вы можете перенести свой сервер на другой хост, не потеряв имя. Для этого скопируйте файл /etc/tor/torrc и каталог /var/lib/tor/matumba на новое место.