Овај водич вам показује како да подесите Onion сервис за ваш вебсајт. За техничке детаље о томе како функционише Onion сервис протокол, погледајте нашу страницу о Onion сервис протоколу.

Корак 0: Набавите функционалан Tor

У оквиру овог водича, претпоставићемо да имате функционалан Tor на вашем рачунару. Да бисте подесили Tor, пратите Tor водич за инсталацију. Tor би требало да ради исправно да би овај водич функционисао. Такође би требало да знате где се налазе Tor конфигурациони фајлови.

Корак 1: Набавите функционалан веб сервер

Као први корак, требало би да подесите локални веб сервер, као што су Nginx, Apache, или ваш омиљени веб сервер. Подешавање веб сервера може бити комплексно. Ако запнете или желите да урадите више, пронађите пријатеља који може да вам помогне или се придружите нашој tor-onions мејлинг листи да бисте разговарали са другим оператерима.

Као пример, покрићемо како да подесите onionsite са Nginx и Apache на Debian-у. Препоручујемо да инсталирате нови одвојени веб сервер за ваш Onion сервис, јер чак и ако већ имате један инсталиран, можда га користите (или ћете желети да га користите касније) за регуларан вебсајт.

На овој страници, команде за управљање веб сервером су засноване на Debian-у сличним оперативним системима и могу се разликовати од других система. Проверите документацију вашег веб сервера и оперативног система.

Apache

Apache је доступан у главном репозиторијуму више Linux и *BSD дистрибуција. Да бисте инсталирали apache2 пакет:

$ sudo apt install apache2

Nginx

Nginx је доступан у главном репозиторијуму више Linux и *BSD дистрибуција. Да бисте инсталирали nginx пакет:

$ sudo apt install nginx

Подразумевано, веб сервер ће радити на localhost:80 на крају инсталације. Ако добијете поруку о грешци, нешто је пошло наопако и не можете наставити док не схватите зашто ово није функционисало.

Када подесите ваш веб сервер, уверите се да ради: отворите ваш прегледач и идите на http://localhost/. Затим покушајте да ставите датотеку у главни ХТМЛ директоријум и уверите се да се појављује када приступите сајту.

Корак 2: Конфигуришите ваш Tor Onion сервис

Следећи корак је отварање конфигурационог фајла Tor-а (torrc) и извршавање одговарајућих конфигурација за подешавање Onion сервиса. У зависности од вашег оперативног система и подешавања, ваш Tor конфигурациони фајл може бити на различитој локацији или изгледати другачије.

Потребно је да додате следеће две линије у ваш torrc фајл:

 HiddenServiceDir /var/lib/tor/my_website/
 HiddenServicePort 80 127.0.0.1:80

Линија HiddenServiceDir специфицира директоријум који треба да садржи информације и криптографске кључеве за ваш Onion сервис. Желите да промените линију HiddenServiceDir, тако да указује на стварни директоријум који је читљив/уписив за корисника који ће покретати Tor.

Линија HiddenServicePort специфицира виртуелни порт (то јест, порт који ће користити људи који посећују ваш Onion сервис), и у горњем случају каже да сав саобраћај који долази на порт 80 вашег Onion сервиса треба да буде преусмерен на 127.0.0.1:80 (што је место где веб сервер из корака 1 слуша).

Савет: Добра пракса да избегнете цурење Onion сервиса на локалну мрежу је да покрећете Onion сервисе преко Unix сокета уместо TCP сокета. Потребно је да додате следеће две линије у ваш torrc фајл:

HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor/my-website.sock

Корак 3: Поново покрените Tor и проверите да ли ради

Сада сачувајте ваш torrc и поново покрените Tor.

$ sudo systemctl restart tor

Ако се Tor поново покрене, одлично. У супротном, нешто није у реду. Прво погледајте ваше лог фајлове за наговештаје. Исписаће нека упозорења или поруке о грешци. То би требало да вам да идеју шта је пошло наопако. Обично, постоје типографске грешке у torrc или погрешне дозволе директоријума (Погледајте логовање FAQ ако не знате како да омогућите или пронађете ваш лог фајл.)

Када Tor почне, аутоматски ће креирати HiddenServiceDir који сте специфицирали (ако је потребно). Уверите се да је то случај.

Корак 4: Тестирајте да ли ваш Onion сервис ради

Сада да бисте добили вашу Onion сервис адресу, идите у ваш HiddenServiceDir директоријум и пронађите фајл назван hostname. Фајл hostname у вашем Onion сервис конфигурационом директоријуму садржи hostname за ваш нови onion v3 сервис. Остали фајлови су ваши Onion сервис кључеви, тако да је императив да они остану приватни. Ако ваши кључеви процуре, други људи могу имитирати ваш Onion сервис, чинећи га компромитованим, бескорисним и опасним за посету.

Сада можете да се повежете са својом услугом Онион користећи Тор претраживач и требало би да вратите ХТМЛ страницу коју сте подесили у Корак 1. Ако не ради, погледајте своје логове за неке наговештаје и наставите да се играте са тим док не проради.

Важно је напоменути да ће Onion сервис конфигурисан на овај начин бити читљив свима који знају или открију адресу. Можете учинити да Onion сервиси захтевају аутентификацију, и само корисници са приватним кључем ће приступити сервису. Прочитајте више о ауторизацији клијента документацији.

(Опционо) Корак 5: Покретање више Onion сервиса

Ако желите да проследите више виртуелних портова за један Onion сервис, само додајте више HiddenServicePort линија. Ако желите да покренете више Onion сервиса са истог Tor клијента, само додајте још једну HiddenServiceDir линију. Све следеће HiddenServicePort линије се односе на ову HiddenServiceDir линију, док не додате још једну HiddenServiceDir линију:

 HiddenServiceDir /var/lib/tor/onion_service/
 HiddenServicePort 80 127.0.0.1:80

 HiddenServiceDir /var/lib/tor/other_onion_service/
 HiddenServicePort 6667 127.0.0.1:6667
 HiddenServicePort 22 127.0.0.1:22

Ако покрећете више onion сајтова на истом веб серверу, запамтите да измените датотеку виртуелног хоста вашег веб сервера и додате onion адресу за сваки сајт. На пример, у Nginx-у и коришћењем Tor-а са Unix сокетима, конфигурација би изгледала овако:

server {
        listen unix:/var/run/tor/my-website.sock;
        server_name <your-onion-address>.onion;
        access_log /var/log/nginx/my-website.log;
        index index.html;
        root /path/to/htdocs;
}

Or in Apache with Tor service listening on port 80:

     <VirtualHost *:80>
       ServerName <your-onion-address.onion>
       DocumentRoot /path/to/htdocs
       ErrorLog ${APACHE_LOG_DIR}/my-website.log
     </VirtualHost>

Корак 6: Савети за безбедност и више савета

Подразумевана верзија Онион Сервицес-а је верзија 3 и њена адреса има 56 знакова, без делова хттп:// и .онион. Верзија 2 услуга Онион је застарела и више није подржана од издања 0.4.6.1-алпха Тор, 2021. године. Молимо вас да прочитате блог пост Временска линија за укидање верзије Onion сервиса за више информација.

Неки оператери onion сајтова можда не желе да открију локацију свог Onion сервиса. Стога, потребно је да конфигуришете свој веб сервер тако да не открива никакве информације о вама, вашем рачунару или вашој локацији. То није лак задатак, и ови ресурси ће вам помоћи како да то остварите:

На крају, ако планирате да ваш сервис буде доступан дуго времена, можда ћете желети да направите резервну копију private_key фајла негде.

Сада када имате функционалан onionsite, можда ћете желети да примените Onion-Location, или користите алате као што су Docker, Heroku, Terraform, Ansible или stem за аутоматизацију управљања вашим Onion Services. Ако имате статички вебсајт, али никада нисте инсталирали Nginx или Apache, други пројекат који можете пробати је OnionShare, где ће покретање onionsite-а бити лакше: вођено графичким интерфејсом и са минималном конфигурацијом.