深網:用 I2P 讓 RetroShare 和 Element 隱藏 IP 達到匿名效果

i2p 網路隱身術




前言不用看

過去,網路是人們用來逃避現實的平台,是社畜們抒發情緒的管道。從早期的各種獨立論壇、PTT、Reddit 或 4ch 等皆是如此。然而時至今日,現實世界卻成了大家逃離網路的地方,為什麼會這樣呢?


除了電腦與網路都被科技巨擘把持以外,過度政治正確的社會氛圍、演算法塑造的同溫層和單一化的平台都是造成這個現象的主因。畢竟,你使用 Facebook、Youtube 和 Line 的理由,不是它有多好用,而是:翠維尼


大家都在用


其中,群聚效應和趨同演化更是造成網路越來越無聊的原因,到最後大家不但只會跟風、怕講錯話,還無法包容其他意見。既然如此,那我們該如何擺脫這個怪圈呢?


或許,深層網路是有志之士們僅存的樂土了。



深網是什麼?好像很可怕!

如果你一聽到「深網」時就馬上聯想到「暗網、犯罪、毒品、槍砲彈械和情色買賣」等負面詞彙並浮現反感和厭惡的感覺,恭喜你!您就是被媒體以負面詞彙連結宣傳 (Propaganda) 洗腦的受害者。基本上,連表層網路都能用來犯罪了,就不要牽拖什麼深網是犯罪者的溫床。就跟美金與西瓜刀一樣,端看使用者如何用罷了。


講白一點,你的 Email 和社群媒體帳號的朋友圈也算是深網


然而深網這樣的中性名詞被政客、新聞媒體和社會輿論污名化的過程並非本文重點,因此這邊就不做深入討論。


而除了 Tor、Zeronet、GNUnet 和 Freenet 之外,I2P 也是可以幫使用者在網路上匿名和隱藏 IP 的軟體。洋蔥路由 Tor 的教學請參考之前的文章,本文不多贅述。


用 Tor 洋蔥跳板在 PTT 上隱藏自己的 IP 位置

用 Tor 跳板切換台灣 IP 登入 PTT

利用 Tor 隱藏 IP 登入 PTT, BBS

用Tor Browser 跳板上 PTT

更多關於 Tor 的教學文章


在這篇文章中,流浪貓將會介紹 I2P 的安裝步驟,以及用 ElementRetroShare 連上 I2P 深網的方法。


名詞解釋 

深網:即深層網路 (Deep web, Invisible web, Hidden web) ,是指不能被標準搜尋引擎索引的網站內容,例如你放在 Google 雲端硬碟內的迷片。(維基百科:深網)


暗網:黑暗網站 (Dark web),以深網的概念為基礎,且只能用特殊軟體、特殊授權、或對電腦做特殊設定才能進入的網站。例如 Tor 暗網的洋蔥網站 (.onion)、I2P 的 .i2p 網站和 RetroShare 通訊軟體的 F2F 網路。



用 I2P 進入深層網路

受惠於網路各方高手的開發和貢獻,現在這類軟體的安裝和使用相較於以往都更為容易,全名為隱形網際網路計劃 (I2P, Invisible Internet Project) 的大蒜路由就是典型的例子。安裝方式很簡單,請到 I2P 官方網站下載符合作業系統的版本。


以 JAVA 版本的 I2P for Linux / BSD / Solaris 為例,下載後先賦予執行權限,之後便能進行安裝和啟動。(請勿用 sudo 執行)


chmod a+x i2pinstall_2.3.0.jar
java -jar i2pinstall_2.3.0.jar
cd /home/[USER]/i2p
./i2prouter start


打開瀏覽器輸入以下網址,即可檢視 I2P 的控制面板。


http://127.0.0.1:7657/i2ptunnelmgr


預設的情況下,I2P 開放了 127.0.0.1 port 4444 這個通道,只要在 Proxy 軟體輸入以下設定即可連線。以 Firefox 為例,在 Network Settings 的 Manual proxy configuration 輸入:


HTTP Proxy 127.0.0.1 port 4444
SSL Proxy 127.0.0.1 port 4444
SOCKS v5
No Proxy for localhost, 127.0.0.1


這樣就能連上 I2P 匿名網路了。不過,連線後要注意幾點:


  1. 可用 DuckDuckGo 搜尋 my ip 驗證連線狀態與 IP 位置。
  2. I2P 連線速度有時很慢,會一直找不到網頁,重新整理多半可解決。
  3. 若連線還是不穩,可以重啟 I2P 或到控制面板 將 I2P HTTP Proxy 重開。
  4. 更詳細的設定步驟,請參考官方說明



什麼是 RetroShare?

它是款免費開源的 P2P 通訊軟體,結合了郵件、頻道、即時通訊、論壇和檔案傳輸等功能為一體,是功能相當完整的通訊工具。


加上基於 GPG (GnuPG)、端對端加密 (EE2E) 和朋友對朋友 (F2F) 的設計,使得 ISP (網路服務提供商) 和有心人士幾乎無法得知內部傳遞的資料。


但是,RetroShare 保障的是通訊雙方之間的訊息,不是讓你在網路隱身。


也就是說,雖然它的加密通道可以讓 ISP 與好友圈外的使用者無法得知你在下載什麼奇怪的檔案,但如果你不小心將威權體制的走狗或版權方的間諜加入好友,那收到法院傳票也是預料中的事情,畢竟相關人士依然能透過 RetroShare 於 Node details 顯示的 IP 地址把你找出來喝茶。


例如這篇德國法院的判例:維習習尼翠

“Anonymous” File-Sharing Darknet Ruled Illegal by German Court


從這裡就能看出,通訊加密其實只是第一步驟,更重要的是網路身份隱形。因此要搭配 Tor 或 I2P 這類工具,才能在網路上達到完全的通訊隱私與身份匿蹤。當然,如果對方在檔案內藏入能偵測位置的木馬,那…你就乖乖進去蹲吧。



安裝 RetroShare 並連上 I2P 網路

RetroShare 的下載、安裝與設定就不多談,官方與網路上已有完整的教學,只要按照指示新增並保管 GPG 的金鑰即可。(Node type: Hidden node (Tor/I2P))


比較關鍵的地方在於,要分別設定 I2P 客戶管道和 I2P 隱身服務地址。


I2P 客戶端隧道

進入 I2P 管道面板,新增客戶管道 (Client tunnel)

Tunnel Wizard > Client Tunnel > SOCKS 4/4a/5 > 自訂名稱 > Outproxies 空白 > 自訂 port > Next > 勾選 Auto Start > 完成


I2P 隱身服務管理器

進入 I2P 管道面板,新增隱身服務 (Tor/I2P Hidden Service)

Tunnel Wizard > Server Tunnel > Standard > 自訂名稱 > 輸入地址 (127.0.0.1) 和自訂 port > 勾選 Auto Start > 完成

隱身服務列表便會產生一組新的服務地址 (b32.i2p) 和自訂的 port 號。


設定 RetroShare

進入 Preferences > Hidden Service Configuration 頁面,輸入剛才新增的資料。


Outgoing Manual Tor/I2P

  • I2P Socks Proxy: 127.0.0.1
  • Port: 自訂的號碼

Incoming

  • I2P Address: xxxxxxx.b32.i2p
  • Prot: 自訂的號碼


如果一切都沒問題,旁邊的燈號會顯示為綠色,軟體界面左下角會出現 I2P Proxy: ok 的圖示。



讓 Element 進入 I2P 匿名網路

Element 是去中心化即時通訊協定 Matrix 的客戶端,與支援 ActivityPub 協議的長毛象 Mastodon 一樣,都是分散式伺服器所組成的宇宙聯邦。


雖然 Matrix 目前沒有帳號遷移的功能,但相較於受單一企業把持的通訊軟體 (Line, Discord, Telegram) 來說,這種去中心化的通訊協定提供了民眾另類的選擇。


不過如果你仍然想遷移帳戶,可以考慮使用 Element 的實驗性功能。


Element - 帳戶遷移 (實驗性功能)

Is it possible to switch home servers? - Reddit


當然,軟體只是輔助,你的帳號還是可能因伺服器關閉而被消失,千萬別以為架設 ActivityPub 或 Matrix 伺服器的人都很佛心不會把你賣掉,對擁有相關知識技能的有心人士來說,竊取使用者的資料是輕而易舉的事情。


安裝 Element 的方式就不多談,請自行到官方網站或 Linux 的軟體管理員下載即可。以下段落將介紹讓 Element 登入 I2P 匿名網路的方法。


修改 Element 的啟動捷徑

目前 Element 尚無法讓使用者自訂 proxy,因此必須從外部手動輸入相關設定。而讓 Element 透過 I2P 連上深網的方法很簡單,就是在啟動路徑後面加上 –proxy-server 和預設的 Port 號,範例如下:


/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/element --file-forwarding im.riot.Riot --proxy-server=http://127.0.0.1:4444 @@u %U @@

當然,也可以用 Tor 洋蔥網路進行連線:

/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/element --file-forwarding im.riot.Riot --proxy-server=socks5://127.0.0.1:9150 @@u %U @@

其他連接方式

--proxy-server=https://127.0.0.1:4444
--proxy-server=socks://127.0.0.1:4444
--proxy-server=socks5://127.0.0.1:4444




Windows 的連線方式

C:\Users\admin\AppData\Local\element-desktop\Element.exe --proxy-server=socks5://127.0.0.1:1080
C:\Users\admin\AppData\Local\element-desktop\Element.exe --proxy-server=http://127.0.0.1:1080
C:\Users\admin\AppData\Local\element-desktop\Element.exe --proxy-server=127.0.0.1:1080


目前流浪貓僅成功以 http:// 協議讓 Element 連上 I2P 網路,其餘皆無法正常連線。而 http 是非加密的通訊協定,因此安全性有待進一步研究。


Windows 使用者可以用 FreeCap 來指定程式使用 Proxy 連上網路,例如流浪貓在這篇 Tor 教學中所述。




結語

由於 I2P 是基於 P2P 技術所建立的加密網路,因此在使用上和 BT 與電騾有著相同的麻煩:


Peers 的數量決定連線速度


因此官方與相關討論板都建議使用者將 I2P 開著當背景程式,讓它保持連線狀態幾天。之後連線速度應該會比較穩定。


最後,希望這些工具在台灣永遠派上不上用場。



延伸閱讀

更多 Tor 相關文章

更多 VPN 與 Proxy 相關文章

用 Tor 洋蔥跳板在 PTT 上隱藏自己的 IP 位置

用 Tor 跳板切換台灣 IP 登入 PTT

加密貨幣隱身術!用 Cosmos 的 SCRT 幣進行匿名交易






留言

這個網誌中的熱門文章