Hangindev
最近從友人口中得知,香港被美國人口普查局網站封鎖,令一向對商業化的 VPN 服務沒多大興趣的我終於扚起心肝,試用 Algo 這個開源方案,架設個人 VPN 伺服器。
方案的作者是帶著最簡可行商品 (Minimum Viable Product) 的設計思想開發 Algo 的,簡化架設一個安全可靠 VPN 的步驟,減少可客制化的地方,從而降低安全漏洞出現的風險。用家只需要在 Linux 環境下執行它的指令,回答幾條問題,就可以安裝到自選的雲端伺服器上。
由於筆者使用的是 Windows 系統,又不想設定 Windows Subsystem for Linux,結果決定使用 Google Cloud Shell 連接 Virtual Machine (VM),執行安裝的指令。以下是安裝及部署過程。
Google Cloud Shell 讓使用者幾秒內就可以透過瀏覽器連接至屬於你 Linux 環境, 並預先設定好各種常用的開發與部署工具,包括 python, node, npm 等。 了解更多
登入(或註冊) Google Cloud Console,點擊右上方 Activate Cloud Shell按鈕連線至 Cloud Shell。
在 Cloud Shell 中輸入以下指令,下載並移動到 algo 資料夾
git clone https://github.com/trailofbits/algo.git && cd algo
輸入指令安裝 dependencies
python3 -m virtualenv --python="$(command -v python3)" .env &&source .env/bin/activate &&python3 -m pip install -U pip virtualenv &&python3 -m pip install -r requirements.txt
(使用 local system 而非 Cloud Shell 的用家需要自行安裝 python3 和 virtualenv, 詳情可參考這裡 Step3)
按 Open Editor 打開編輯器,在左面的 Explorer 中你會見到剛下載的 algo 資料夾,展開並點選config.cfg
。在users
下加入會使用這個 VPN 的裝置名稱,最多 250 個,完成後按ctrl+s
儲存。
Google Cloud Shell 只是設定和執行 Algo 安裝指令的地方,實際的 VPN 伺服器需要部署到另外的雲端平台,我在以下將示範使用 DigitalOcean 部署,但你亦可以選擇 AWS, Azure, GCP 等雲端平台。(DigitalOcean 收費最平為每月 5usd, 新註冊有兩個月免費)
開新分頁登入或註冊 DigitalOcean 後, 在左面目錄點選 ACCOUNT 下的 API,按 Generate New Token,輸入 API key 名稱及確保write
已被剔選 ✅,按 Generate Token。複製剛產生的 Token,或保持分頁打開。
回到 Cloud Shell,輸入./algo
指令,根據個人所需回答問題,以下是我的答案:
等待完成 ☕...
完成後將會看見以下畫面
在 Cloud Shell 輸入以下指令,下載客戶端(config.cfg 中的 users)的設置。
zip -r configs configsdl configs.zip
下載完成後你就再不需要這個資料夾,輸入cd ../
回到上個層目錄,輸入rm -rf algo
刪除資料夾。
把剛下載的configs.zip
解壓縮,在應用程式平台 (App Store/ Google Play/ Microsoft Store/ Mac App Store) 下載 WireGuard,使用 configs\[ip address]\wireguard
中的 .conf
檔案或 .png
QR code 加入 VPN 隧道。成功啟用後可到 whatismyipaddress.com 查看"你的 IP 位址"。🕵️♀️
使用 Algo 架設 VPN 比想像中簡單,大部份的時間都是在設置開發環境或註冊雲端服務而非設置 VPN 伺服器本身。日後要使用 VPN 的話,Algo 都會是我的選項之一。始終比起 closed source 的商業軟件,我偏向相信 open source 公開透明的制度。話說回來,筆者是個 Web Developer 而非網絡安全專家,故此一日未能完全明白 Algo 的開源碼及其背後原理,都會對它的安全性持保留態度。總括而言,這次架設可以當成使用這些雲端服務和部署的練習,做資料收集的同時亦加深了我對 VPN 的基本認識和興趣,希望將來有機會繼續研究下去。
感謝閱讀,不要使用免費的 Commercial VPN 服務。
更多關於 Algo 的設置,可到 Algo Github repo
更多關於 Algo 作者的開發動機,可閱讀 Meet Algo, the VPN that works 一文,或收聽 The Changelog – Ep #377。
類似的開源方案: Streisand
資料洩露事件發生之頻繁,令幾乎每人的資料都曾以某種形式被洩露,本文簡述密碼的使用原理,探討重複使用密碼的問題為何比以往嚴重和密碼管理器如何更有效保障你的帳戶安全。
隨著現代瀏覽器不斷進步,Web App 能提供的體驗逐漸追上 Native App,了解兩者的分別以選擇適合你企業的方案。
即時通訊成為消費者與商家互動的首選媒介,了解如何讓你的企業透過 Messenger Bot 與顧客建立關係,緊貼即時通訊的全球發展趨勢。