[轉]Linux下Tor的安裝和Meek的配置(非Browser Bundle模式)

Meek技術不僅僅救活了tor,也刺破了中共GFW封鎖網路的咽喉,當然 Tor Browser也更加成為被封鎖的目標,有網友寫的Linux下Tor的安裝和Meek的配置,美 博園轉載於此,給有技術的網友一個啟發和思路,如果更多人能夠自己建立Tor-Meek翻牆,應該會是中共流氓集團防不勝防。言歸正傳看主題:

博主喜歡折騰東西, 比如說好好的Tor Browser Bundle不用, 非要裝一個純的Tor來玩, 於是各種好玩的事情便紛至沓來。

關於Tor和Meek的基本介紹

TOR

Tor就不怎麼說了, 都懂。 三層代理支持, 只有出口節點知道訪問內容, 只有入口節點知道訪問的IP。

純Tor目前連接不上, 目錄伺服器被Block掉了。 導致的後果就是Tor無法直接連接Tor電路。

網橋

目前可用的辦法是讓Tor連接到中繼網橋上, 中繼網橋相當於跳板, 將客戶端的請求轉發到Tor電路中。

常規的中繼網橋流量明顯, 容易被盯上和封鎖, 因此有了幾款流量混淆外掛程式。

obfs2/3/4, ScrambleSuit, 當然還有今天的主角Meek。

流量混淆外掛程式可以將非常明顯的Tor數據包偽裝成普通的包, 防止被流量檢測器盯上。

網橋存在問題在於經常會被動態Block, 由於正常用戶需要通過各種方式獲取可用的網橋信息, 博主猜是他們也用各種類似辦法獲取網橋, 一旦發現新的就統統幹掉。

此外通過分析數據流量和目標地址, 估計也有一些辦法可以判定某些目標地址是網橋節點, 只要被盯上就會被幹掉。

歸根結底就是網橋無法長期穩定使用。

Meek

最後是Meek。

Meek是最近一個牛逼虎虎的外掛程式, 用Meek可以讓Tor連接到被封鎖的網路上。

Meek的原理簡單來說是內容的欺騙, 首先把真正需要訪問的地址(Tor網橋地址)塞進HTTPS包內部Header中, 在HTTPS包的外部把目標URL填寫為沒有被幹掉的普通地址, 在傳輸的過程中由於目標地址正常, 所以數據包可以成功到達伺服器。

到達正常伺服器, 解析出HTTPS內容, 在包的內部Header中發現HOST欄位, HOST欄位指向了真正需要訪問的被封鎖的URL。 由正常伺服器將包再次轉發。 由於這時候包已經成功到達敵國, 在敵國的傳輸不會受到干擾, 因此數據包正常到達真正的目標伺服器。

相當於拿一個正常的伺服器作為跳板轉發請求。

Meek現在據稱還處於測試階段, Tor的開發者們把Meek部署到三個大型的服務商里, 分別是亞馬遜的AWS, 微軟的Azure, 還有谷歌的GAE。 這些大型的服務商都提供了上述的HTTPS解析能力。

Tor的安裝

最簡單的辦法是照著教程做, 直接從torproject上面拉最新版:

https://www.torproject.org/docs/debian.html.en

源碼編譯也是可以的。 注意glibc之類的依賴, 博主手氣不好, 手動編譯經常失敗。

Meek的下載和安裝

從Tor的Git倉庫中拉一個最新版本的代碼:

git clone https://git.torproject.org/pluggable-transports/meek.git

把代碼搞到手之後就可以準備編譯了。 代碼是用go寫的, 博主由於不認識go, 搞了很久才把客戶端編譯好。

這裡需要了解的一點是meek-client是基於Tor的一個庫寫的, 在代碼中也可以看到工程的頭部引用了Tor的一個go庫。 因此直接進入目錄里編譯的話會報錯。

解決方案是讓go拉取Tor的對應庫:

go get git.torproject.org/pluggable-transports/goptlib.git

當然在這之前還必須把環境變數配置一下, 例如GOPATH什麼的。

最後進入meek-client編譯:

go build

如果ok的話可以拿到一個叫做meek-client(沒有任何尾碼)的執行檔, 拿出來用即可。

這裡假設把meek-client放到/tmp/meek-client里。

Tor的配置

接下來需要配置Tor讓它走meek通道, 編輯/etc/tor/torrc, 加入下述幾行:

UseBridges 1
Bridge meek 0.0.2.0:1 url=https://meek-reflect.appspot.com/ front=www.google.com
ClientTransportPlugin meek exec /tmp/meek-client --log /tmp/meek-client.log

解釋一下:

首先是配置使用Bridge。

然後配置Bridge信息, 是Meek類型的Bridge。

關鍵的來了, 配置front為Google的玉米, 配置meek伺服器的地址為一個appspot的地址。

front便是寫在HTTPS請求外層的所謂「合法」地址, 如果Google沒有被幹掉的話。 url為meek伺服器的地址, 也就是請求數據包最終發送到的地址。

最後一行配置了meek本地客戶端的信息, 執行檔的地址, 以及log日誌的列印地址。

如此配置之後得到的效果是, 所有本地的Tor數據包首先發送到Meek-client, 由Meek-client封裝成為HTTPS包發送到Google, Google解析HTTPS包的內容, 拿到包頭的HOST數據, 發現是給appspot的, 再由Google負責轉發到對應的appspot地址。

在appspot上等著的是Meek伺服器端, 由該伺服器解析並將數據傳入Tor電路。

神坑

使用apt一類的包管理器安裝Tor有一個坑, 由於Tor安裝到系統里, 可以使用Service一類的命令啟動Tor。

但是配置了Meek外掛程式之後調用

service tor restart

啟動Tor會一直報許可權不足, 即使用Root也是。

最後在stackoverflow上找到答案, 原來是Tor的Service有bug, 搞定了Meek外掛程式的安裝之後, 可以直接通過命令啟動:

tor
轉載自:https://www.scutlaoyi.tk/webTool003-how-to-use-tor-with-meek.html
本文鏈接:[轉]Linux下Tor的安裝和Meek的配置(非Browser Bundle模式)
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。

網 友 留 言

1條評論 in “[轉]Linux下Tor的安裝和Meek的配置(非Browser Bundle模式)”
  1. M says:

    我想請教一個問題,如果自己要搭建一個利用Meek網橋通信的模型,是否只需搭建一個伺服器,一個客戶端以及一個WEB就可以了?

這裡是你留言評論的地方


請留言


5 + 4 =
【您可以使用 Ctrl+Enter 快速發送】
Copyright © 2007 - 2026 , Design by 美博園. 著作權所有. 若有著作權問題請留言通知本站管理員. 【回到頂部】