Ubuntu 安裝配置代理(Linux for clash + proxychains)

語言: CN / TW / HK

寫在前面

  • 這兩天要裝 FSL 軟件發現第一步不掛代理是真的慢,所以決定研究一下怎麼在 Linux 上掛代理
  • 簡單搜索後選擇使用 Linux for clashproxychains 解決代理問題
  • 網上的教程很多但我試過之後大多會出現一些細節問題,而且千篇一律
  • 所以整理一下掛代理的安裝配置流程和細節
  • 順嘴提一句 clash 是真的好用

配置環境

  • 虛擬機: VMware workstation pro 16
  • 虛擬機操作系統: ubuntu-18.04-desktop-amd64
  • Linux for clash版本:clash-linux-amd64-v1.11.8

Clash 安裝配置

Linux for clash 下載

  • 訪問 clash版本發佈頁選擇合適的版本下載
  • 這裏也提供我使用的 clash-linux-amd64-v1.11.8 快速下載地址
  • 可以通過瀏覽器下載,也可以使用 wget下載,clash 很小可以自行選擇下載方式,以下提供 wget 下載命令 bash wget http://github.com/Dreamacro/clash/releases/download/v1.11.8/clash-linux-amd64-v1.11.8.gz

Linux for clash 安裝

  • 首先對下載下來的壓縮包解壓,可以採用命令解壓或者雙擊後提取,下面附解壓命令

    bash gzip -d clash-linux-amd64-v1.11.8.gz

  • 解壓後對 clash-linux-amd64-v1.11.8 文件賦予執行權限

    bash chmod +x clash-linux-amd64-v1.11.8

    注意:雙擊提取後的文件名可能為clash-linux-amd64,對應更改後續命令即可

  • 使用 mv 命令將文件移動到指定目錄,方便全局訪問 clash

    bash sudo mv clash-linux-amd64-v1.11.8 /usr/local/bin/clash - 終端執行 clash -v 命令檢查 clash 能否正常運行,正常終端顯示結果如下:

    bash Clash v1.11.8 linux amd64 with go1.19 Fri Aug 26 13:20:30 UTC 2022

    Linux for clash 配置

    • clash 運行需要依賴相應的 YAML 配置文件,默認讀取 $HOME/.config/clash/config.yaml
    • 當沒有這份文件的時候,clash 會使用默認配置生成一份,所以我們可以直接運行一下 clash ,來獲取模版,同時會自動下載 Country.mmdb 文件
    • 第一次在終端執行 clash 的結果如下:

    bash INFO[0000] Can't find config, create a initial config file INFO[0000] Can't find MMDB, start download INFO[0000] Mixed(http+socks) proxy listening at: 127.0.0.1:7890 - 此時已獲得配置文件的模板,但這模板並沒有什麼用,yaml 文件的內容往往需要代理方提供,這就需要去購買 VPN - 大家可以自行找找,這裏所需的 VPN 不能是基於軟件(僅能在安裝它所提供的軟件後才可使用)的,而是可以提供訂閲鏈接(即可以取得配置文件的) - 在取得相應的配置文件後將其改名為 config.yaml 並替換相應目錄下的初始文件

Linux for clash 運行

  • 在配置完成後即可在終端執行 sudo clash 運行,若無報錯則運行成功
  • 運行後可以瀏覽器訪問 Clash控制枱
  • 如果訪問失敗,打開設置->網絡->網絡代理,切換為手動,設置下圖參數後 代理配置參數
  • 訪問成功後將進入如下界面: clash控制枱
  • 點擊設置,檢查允許來自局域網的連接是否開啟 設置頁面
  • 訪問嘗試外網網站,如 Google
  • 至此 Linux for clash 已經安裝配置好,接下來將介紹如何配置開啟自啟動,如果不需要的可以跳過下一小節

Linux for clash 開機自啟

  • 自啟動的話將 clash 託管給 systemd 來管理
  • 新建 clash.service 文件 bash sudo gedit /etc/systemd/system/clash.service
  • 將以下內容寫入到文件中,注意修改 ExecStart 的路徑 bash [Unit] Description=Clash - A rule-based tunnel in Go Documentation=http://github.com/Dreamacro/clash/wiki [Service] OOMScoreAdjust=-1000 ExecStart=/usr/local/bin/clash -f /root/.config/clash/config.yaml Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
  • ExecStart 的路徑可以使用以下命令進行查詢

    bash ls $HOME/.config/clash/config.yaml - 配置開機自啟,並啟動 clash 服務

    bash sudo systemctl enable clash sudo systemctl start clash sudo systemctl status clash

  • clash 運行起來之後,會在 http://127.0.0.1:7890 這個地址監聽 HTTP_PROXY 服務

  • 接下來需要為 Linux 配置代理,使所有的 http 請求,都經由這個代理服務進出
  • Linux 提供了專門的環境變量 http_proxyhttps_proxy 進行相關配置
  • 採用以下命令設置並將其寫入 .bashrc 文件中,使得每次開啟終端都可以生效 bash echo -e "export http_proxy=http://127.0.0.1:7890\nexport https_proxy=http://127.0.0.1:7890" >> ~/.bashrc
  • 重新打開個終端,配置即可生效

Proxychains 安裝配置

下載安裝

  • 使用 apt 進行安裝,命令如下:

    bash sudo apt-get install proxychains

代理配置

  • 打開 /etc/proxychains.conf 文件

    bash sudo gedit /etc/proxychains.conf - 在文件最後改成相應的代理方式、地址和端口,根據 clash 的配置,修改如下:

    bash http 127.0.0.1 7890

代理使用

  • 在命令前加 proxychains 即可
  • 可以使用一下命令查看是否成功

    bash proxychains curl -kIsS http://www.google.com

寫在最後

  • 目前上述方法已在 Ubuntu 18.04Ubuntu 16.04 上測試完成
  • 若有其他問題歡迎評論指出