快轉到主要內容

Linux電腦如何設定Tor代理連線 & 安裝Tor瀏覽器

· 民國115年丙午年
·
切換正體/简体 ·
分類 Linux系統 Linux使用技巧
標籤 Tor Linux Firefox
目錄

How to setup Tor proxy on Linux.

Tor,The Onion Router,又稱洋蔥網路,是一種匿名上網的開源技術,連上網路的時候會經過多次跳轉,可以有效隱藏使用者的IP,保護上網隱私。

此外,連上Tor網路,使用者便能存取以.onion網址結尾的網站(俗稱暗網,儘管這個定義並不準確)。

Ivon這裡會分享Linux系統的設定Tor連線的方法,以Ubuntu為例,內容包含:

  • 如何使用Tor瀏覽器存取.onion網址的網站
  • 跑Tor代理伺服器,讓其他電腦上的程式自由指定是否用這個連線上網。
  • 如何只讓部份程式走Tor連線,其他程式不受影響。
  • 如何讓Linux全域使用Tor連線

本文假定讀者的電腦能夠正常存取Tor網路,不包含繞過中國防火長城(GFW)的教學。如果沒有辦法連線到Tor網路,你要先找前置代理繞過。

1. 安裝Tor瀏覽器
#

最簡單連上Tor網路的方法,就是安裝專為存取Tor網路所設計的「Tor瀏覽器」。如果你只是要臨時看.onion網站,不要干擾電腦上其他程式的連線,安裝「Tor瀏覽器」就好。

Tor瀏覽器基於Firefox開發,內建Tor代理伺服器。可以用來看.onion網頁,也能上正常網站。

如果你已經安裝了Tor代理伺服器服務,就不太需要裝這個瀏覽器了,其他瀏覽器也能搭配Tor使用。不過Tor瀏覽器提供比Firefox更為強大的隱私保護功能,例如隱藏使用者指紋,還有禁止執行JavaScript和一鍵切換Tor迴路的按鈕,也不會蒐集任何使用者資料。要提高隱私瀏覽效果,那麼Tor瀏覽器依然是個好選擇。

  1. 各大Linux發行版都有收Tor瀏覽器套件,例如Ubuntu可以從套件庫安裝torbrowser-launcher,開啟後會自動下載最新版Tor瀏覽器:
sudo apt install torbrowser-launcher
  1. Tor瀏覽器也可以透過Flatpak安裝。不過Flatpak版的瀏覽器可能安全性會較低,會破壞瀏覽器沙盒機制,參考Flatpak browsers not secure?

  2. Tor瀏覽器開啟後應該會自動連上Tor網路。這樣就能打開.onion網址了。例如這是Duckduckgo搜尋網址:https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/

2. 安裝Tor代理伺服器服務
#

「Tor」跟「Tor瀏覽器」是不一樣的東西,這裡我們要安裝的是Tor代理伺服器(proxy)。要讓電腦連上Tor網路,必須跑一個Tor代理伺服器服務,再手動指定程式使用使用該代理伺服器上網。

如果你只是要臨時看.onion網站,則只要安裝「Tor瀏覽器」就好(見上)。但是要讓整臺電腦都連上Tor網路的話,那麼就要安裝全域Tor代理伺服器。

Tor服務本身也可以用來架站,啟用「HiddenService」功能之後,會隨機分配一個.onion的位址,讓別人能透過該位址連上你Linux伺服器的網站。

  1. 以Ubuntu來說,Tor可以用套件管理器安裝
sudo apt install tor
  1. 設定開機自動啟動服務
sudo systemctl enable --now tor
  1. 查看是否已經連上Tor網路
sudo systemctl status tor
  1. 如果需要換個迴路連線,就重新啟動Tor服務:
sudo systemctl restart tor
  1. Tor每次啟動會隨機挑選國家,如果要指定出口節點或是設定Tor Relay,請編輯/etc/tor/torrc設定檔。

替代選擇:如果你覺得命令行啟動Tor伺服器不直覺,那就用圖形工具Carburetor跑代理伺服器。這個代理伺服器是獨立的應用程式,跟上面安裝的Tor不一樣。

Carburetor可以用Flatpak安裝:

flatpak install flathub io.frama.tractor.carburetor

開啟後點選連線,跑一個Tor的代理伺服器服務。

3. 讓部份程式使用Tor代理連線
#

只讓部份程式使用Tor連線,其他程式不受影響。

Tor預設的SOCKS代理伺服器應該是127.0.0.1:9050

瀏覽器
#

Firefox到設定 → 一般 → 網路設定,手動指定代理伺服器位址。

Chromium系瀏覽器會沿用系統的代理伺服器。需要安裝Proxy SwitchyOmega擴充功能,才能手動指定代理伺服器。

要確定瀏覽器有無成功連上Tor網路,可以用Tor官方網站https://check.torproject.org確認。

命令行程式
#

一些命令行程式支援手動指定代理伺服器,例如git、wget、curl、apt都可以透過指令參數指定代理伺服器。不過最方便的還是透過proxychains,它可以讓命令行程式暫時使用Tor連線。

  1. 從Ubuntu套件庫安裝proxychains:
sudo apt install proxychains
  1. 編輯設定檔
sudo vim /etc/proxychains.conf
  1. 填入要使用的代理伺服器
[ProxyList]
socks5  127.0.0.1 9050
  1. 這樣接在proxychains後面指令的程式便會使用Tor代理了。比如我用curl指令連上Tor Project官網確認目前的IP,應該會印出外國IP:
# 試比較兩者輸出結果的差異

curl https://check.torproject.org/api/ip

proxychains curl https://check.torproject.org/api/ip

4. Linux設定全域Tor代理連線
#

讓所有程式使用Tor上網。

Tor預設的SOCKS代理伺服器應該是127.0.0.1:9050

圖形界面設定法
#

用桌面環境的系統設定就可以完成。

GNOME:系統設定 → 網路 → 代理伺服器,填入SOCKS伺服器位址。

KDE Plasma:系統設定 → 網路設定 → 代理,填入SOCKS伺服器位址。

爾後所有程式連線應該會自動使用Tor連線,例如Chromium系瀏覽器會沿用系統的代理伺服器設定。這點可以用Tor官方網站https://check.torproject.org確認。

但有些程式可能不會理會系統的代理伺服器設定,例如Firefox,依然需要手動指定代理伺服器。

命令行設定法
#

Linux可以透過編輯/etc/environment,加入export http_proxy=環境變數的方式來設定全域Tor代理連線,不過不見得對所有程式有效。

這裡我們使用Perl寫成的nipe工具,方便設定全域Tor代理連線。

  1. 安裝nipe:
sudo apt install cpanminus

git clone https://github.com/htrgouvea/nipe

cd nipe

sudo cpanm --installdeps .
  1. 安裝nipe服務
sudo perl nipe.pl install
  1. 啟動nipe服務,之後所有程式上網都會經過Tor網路
sudo perl nipe.pl start
  1. 連線到Tor Project官網,確認是否連上Tor網路:
curl https://check.torproject.org/api/ip
  1. 關閉服務:
sudo perl nipe.pl stop

參考資料
#

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。