我最近為我的網站建立了一個 .onion 鏡像。
\ 為什麼?因為為什麼不呢?而且因為我能做到。噢,還有言論自由、反審查和所有那些東西。
\ 我想假裝這是一個宏大的技術挑戰,但如果我完全坦白的話,這只需要 3 個命令和 4 行配置。
\ 如果你也想成為暗網的一員,以下是我的做法:
在我們深入了解"如何"做之前,我應該簡要概述一下我進入 Onion 世界之前的技術棧:
首先,我們需要安裝 Tor。在 Debian 上,它就在默認存儲庫中:
sudo apt update sudo apt install tor
接下來,我們需要配置 Tor 為我們的網站創建一個隱藏服務。在你喜歡的命令行文本編輯器中打開 Tor 配置文件(/etc/tor/torrc)(最好是 vim,否則你對我來說就是死人)。我對在我的 VPS 上運行中繼或出口節點沒有興趣,所以我對配置文件做了一些最小的更改,它應該看起來像這樣(為了清晰起見,註釋已被刪除):
# Disable SOCKS proxy since we aren't making outbound connections # through Tor SocksPort 0 # Make sure Tor runs as a daemon (i.e. in the background) RunAsDaemon 1 # Setup the hidden service on port 80, this is where we tell Tor to # create a .onion service for our web server HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 # Disable inbound connections, since we aren't running a relay or # exit node ORPort 0 # Disable directory services, since we won't be mirroring directory # information to other Tor nodes DirPort 0
\ 就是這樣。其他所有內容都應該使用 # 字符註釋掉。
現在,我們需要重啟 Tor 服務以應用我們的更改:
sudo systemctl restart tor
Tor 重啟後,它會為我們生成一個新的隱藏服務。我們可以在我們之前指定的 HiddenServiceDir(/var/lib/tor/hidden_service/)中找到我們的新 .onion 地址。這個目錄只有 debian-tor 用戶可讀,所以我們需要使用 sudo 來讀取裡面的 hostname 文件:
sudo cat /var/lib/tor/hidden_service/hostname
\ 終端上將會顯示你的新 .onion 地址。它應該看起來像這樣:
jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion
我的 Caddy 伺服器在 80 端口上提供我的網站,沒有任何 IP 或域名限制,所以我不需要對我的 Caddy 配置做任何更改,但是,如果你明確設置你的 Caddy 伺服器只響應某些域名或 IP 地址,你需要為你的 .onion 地址添加一個新的站點塊,它看起來像這樣:
http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion:80 { # Set up a reverse proxy, or serve static files, etc. }
\ 因為你無法為 .onion 地址獲取 HTTPS 證書,所以你需要通過純 HTTP 提供你的網站。我不確定這在 Tor 網絡中是否被普遍接受(也許我的幾十個讀者中的一個可以啟發我),但我的網站無論如何都不需要 HTTPS,所以它適合我的目的。
如果你希望人們找到你的 .onion 網站,你需要在某處宣傳它。我喜歡微妙的方式,所以我在我的主網站上設置了一個指向我的 .onion 地址的 Onion-Location 頭部。這樣,任何使用支持 Tor 的瀏覽器訪問我的常規網站的人都會自動被告知我的 .onion 鏡像的存在,而不會有任何侵入性的彈出窗口、橫幅或額外的 UI 元素。
\ 要做到這一點,你需要在你的主 Caddy 站點塊中添加一個頭部,如下所示:
header { Onion-Location http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion{uri} }
\ 我在末尾添加 {uri} 的原因是,如果有人訪問我的主網站上的特定頁面(例如 https://flower.codes/some-post),Onion-Location 頭部將指向我的 .onion 網站上的等效頁面(http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion/some-post),這(至少對我來說)為體驗增添了一些光彩。
開玩笑的。
\ 此時,你的 .onion 鏡像應該已經啟動並運行。你可以通過在任何支持 Tor 的瀏覽器(如 Tor 瀏覽器或甚至 Brave,它內置了 Tor 支持)中訪問你的 .onion 地址來測試它。


