如何在Mac,Windows和Linux上設置ShadowSocks VPN

ShadowSocks用於加密客戶端和伺服器通信之間的數據。ShadowSocks伺服器是一個代理伺服器,它將與ShadowSocks客戶端使用指定的加密方法進行通信。它不是VPN,但它可以像VPN一樣通過加密您的互聯網數據來保護您。因此,本文將告訴您如何在Ubuntu中設置和配置ShadowSocks伺服器,以及如何在MacOS,Windows和Linux中設置和使用ShadowSocks客戶端工具。

1.在Ubuntu中設置ShadowSocks伺服器。

  1. 使用SSH客戶端連接Ubuntu伺服器。
  2. 執行sudo -i切換到root用戶。
  3. 使用以下命令更新和升級OS軟體包。
    #apt update
    #apt升級
  4. 通過使用gedit編輯/etc/sysctl.conf文件啟用BBR 啟用bbr可以通過最大化網路帶寬使用來提高ShadowSocks代理性能。
    〜#gedit /etc/sysctl.conf
  5. 在文件/etc/sysctl.conf的末尾添加以下兩行並保存。
    net.core.default_qdisc = FQ
    net.ipv4.tcp_congestion_control = BBR
  6. 執行命令reboot重啟ubuntu操作系統。
  7. 重啟後,運行lsmod | grep bbr命令驗證bbr配置。如果在控制台輸出中看到tcp_bbr行,則表示正確啟用了bbr。
    〜#lsmod | grep bbr
    tcp_bbr 20480 11
  8. 現在,您可以通過以下任一命令安裝ShadowSocks伺服器。
    〜#apt安裝shadowsocks
    要麼
    〜#apt install python-pip
    〜#pip安裝shadowsocks
  9. 之後,您可以ssserver 在終端中運行命令以驗證是否已安裝ShadowSocks伺服器。

2.配置並啟動ShadowSocks Server。

  1. 如果文件夾不存在,請創建目錄/ etc / shadowsocks。
    $ sudo mkdir / etc / shadowsocks
  2. 如果文件不存在,請在上面的文件夾中創建ShadowSocks配置文件。
    $ sudo gedit /etc/shadowsocks/config.json
  3. 在上面的文件中添加以下json數據。在下面的json數據中使用您自己的伺服器數據。
    {
      「server」:「0.0.0.0」,##代理伺服器外部ip地址。 
      「server_port」:8888,##代理伺服器偵聽埠號。
      「local_address」: 「127.0.0.1」,
      「local_port」:1080,##本地偵聽埠號。
      「password」:「888888」,##代理伺服器連接密碼
      「超時」:300,
      「method」:「aes-256-cfb」,##數據加密方法
      「dast_open」:假的
    }
  4. 使用以下命令啟動ShadowSocks伺服器。要確保可以正確啟動shadowsocks伺服器,請刪除-d命令參數以在控制台中顯示伺服器日誌。
     $ sudo ssserver -c /etc/shadowsocks/config.json -d start
  5. 如果您遇到如下錯誤消息。
    AttributeError:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1:未定義的符號:EVP_CIPHER_CTX_cleanup
  6. 您需要編輯  /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py文件。
    將第22行從  libcrypto.EVP_CIPHER_CTX_cleanup.argtypes =(c_void_p,) 更改為  libcrypto.EVP_CIPHER_CTX_reset.argtypes =(c_void_p,),將
    第111行從libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)更改  為  libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
  7. 然後再次啟動ShadowSocks伺服器,錯誤將消失。
  8. 如果您遇到socket.error:[Errno 99]啟動shadowsocks伺服器時無法分配請求的地址錯誤,如下所示。要修復它,只需在/etc/shadowsocks/config.json文件中將伺服器ip更改為「0.0.0.0」
    root @ instance-3 :〜#ssserver -c /etc/shadowsocks/config.json start
    信息:從/etc/shadowsocks/config.json載入配置
    2019-02-06 09:47:00 INFO從libcrypto.so.1.1載入libcrypto
    2019-02-06 09:47:00 INFO啟動伺服器在34.73.193.214:9090
    Traceback(最近一次調用最後一次):
    在<module>中的文件「/ usr / bin / ssserver」,第11行
    load_entry_point('shadowsocks == 2.9.0','console_scripts','ssserver')()
    文件「/usr/lib/python2.7/dist-packages/shadowsocks/server.py」,第74行,主要
    tcp_servers.append(tcprelay.TCPRelay(a_config,dns_resolver,False))
    在__init__中輸入文件「/usr/lib/python2.7/dist-packages/shadowsocks/tcprelay.py」,第733行
    server_socket.bind(SA)
    文件「/usr/lib/python2.7/socket.py」,第228行,在meth
    return getattr(self._sock,name)(* args)
    socket.error:[Errno 99]無法分配請求的地址

3.設置ShadowSocks客戶端工具。

您可以從官方下載頁面下載ShadowSocks客戶端工具。

閱讀:  如何在Amazon EC2 Linux上安裝ShadowSocks Server

3.1對於MacOS。

  1. 從github 下載ShadowsocksX-NG
  2. 它是一個zip文件,解壓縮後,您可以直接使用它。
  3. 當您單擊它開始時,它將出現在MacOS查找器欄的右上角。第一個小飛機圖標就是它的圖標。
    ShadowsocksX-NG出現在macos右上角的查找欄中
  4. 單擊小平面圖標,將彈出菜單列表,單擊伺服器 – >伺服器首選項…菜單項以打開伺服器管理器對話框。
    ShadowsocksX-NG伺服器首選項菜單1
  5. 單擊伺服器列表中的+按鈕添加新的ShadowSocks伺服器,輸入相關的伺服器信息,單擊確定按鈕進行保存。
    添加新的shadowsocks伺服器對話框
  6. 現在您可以在ShadossocksX NG彈出菜單列表中選擇ShadowSocks伺服器來使用它。打開Web瀏覽器,然後您可以通過ShadowSocks伺服器找到Web流量。

3.2對於Windows。

ShadowSocks windows客戶端工具與MacOS客戶端工具類似,可以 從github 下載shadowsocks-win,配置也很容易像MacOS。

3.3對於Linux。

3.3.1設置ShadowSocks客戶端工具。

此工具將與ShadowSocks伺服器通信使用加密通信數據。

  1. 在Linux中安裝ShadowSocks遵循本文第1,2節。
  2. ShadowSocks安裝可以用作伺服器,但也可以用作客戶端工具。當您將其用作伺服器時,使用ssserver命令,sslocal命令將啟動客戶端工具。
  3. 運行以下命令以安裝ShadowSocks軟體。
    〜$ sudo apt安裝shadowsocks
  4. 安裝後,已創建/etc/shadowsocks/config.json文件。只需將其內容編輯為您自己的內容即可。
    〜$ sudo gedit /etc/shadowsocks/config.json
    {            
       「伺服器」: 「1.2.1.2」,
       「SERVER_PORT」:8888, 
       「local_address」: 「127.0.0.1」,      
       「LOCAL_PORT」:1080,      
       「密碼」: 「888888」,      
       「超時」:300,      
       「方法」: 「AES-256-CFB」,     
       「dast_open」:假的 
    }
  5. 運行sslocal命令以啟動ShadowSocks客戶端工具。當您看到以下消息時,表示客戶端工具已成功啟動。
    jerry @jerry-VirtualBox :〜$ sslocal -c /etc/shadowsocks/config.json
    信息:從/etc/shadowsocks/config.json載入配置
    2018-10-01 21:28:25 INFO從libcrypto.so.1.1載入libcrypto
    2018-10-01 21:28:25 INFO從127.0.0.1:1080開始本地化
3.3.2設置本地Http代理伺服器。

polipo是一個緩存Web代理,它可以將您的http請求重定向到socks5代理伺服器。或者您可以使用其他http代理工具具有您熟悉的相同功能。

  1. 在ubuntu下使用以下命令安裝polipo。
    〜$ sudo apt-get install polipo
  2. 停止polipo並在polipo配置文件/ etc / polipo / configure中添加以下代理配置代碼
    〜$ sudo服務polipo停止
    〜$ sudo gedit / etc / polipo / config
    
    #添加以下polopo設置數據 
    socksParentProxy = localhost:1080
    proxyPort = 8787
  3. 再次啟動polipo服務。
    〜$ sudo服務polipo開始
  4. 運行ps -ef | grep polipo以確保polipo已啟動。
    傑里@jerry-VirtualBox :〜$ ps -ef | grep polipo
    proxy 641 1 0 15:37?00:00:00 / usr / bin / polipo -c / etc / polipo / config pidFile = / var / run / polipo / polipo.pid daemonise = true
  5. export http_proxy=http://127.0.0.1:8787 在當前用戶$ HOME / .bashrc文件的末尾添加  。
  6. 運行source $HOME/.bashrc命令使上述配置生效。
閱讀:  如何在Mac OS和Linux中編輯主機文件
3.3.3設置Firefox使用polipo本地Http代理伺服器。
  1. 打開Firefox Web瀏覽器。單擊右上角的「 打開菜單」按鈕,然後單擊「首選項」菜單項,在頂部搜索框中輸入代理,單擊「 網路代理配置」 後面的「設置…」按鈕。
    firefox首選項更改代理設置
  2. 選擇手動代理配置單選按鈕,在地址輸入框中輸入127.0.0.1,在埠號輸入框中輸入8787。我們的polipo緩存代理只在localhost上運行,並在埠8787上偵聽。
    firefox代理設置使用polipo代理
3.3.4設置Chrome使用polipo本地Http代理伺服器。
  1. 打開谷歌瀏覽器設置對話框。
    谷歌瀏覽器設置菜單
  2. 在Google Chrome設置對話框中搜索代理。
    在谷歌瀏覽器設置中搜索代理
  3. 單擊打開代理設置  項以打開網路配置對話框。
    在谷歌瀏覽器中更改網路代理
  4. 單擊網路代理項目以手動將代理伺服器IP更改為127.0.0.1並將埠更改為polipo http代理伺服器正在偵聽的8787。
    更改谷歌Chrome網路代理使用手動設置
3.3.5設置ShadowSocks Android App。
  1. 從谷歌遊戲商店下載ShadowSocks安卓應用程序
  2. 在Android設備上安裝它。
  3. 單擊ShadowSocks圖標以啟​​動Android應用程序。
  4. 在應用程序中添加ShadowSocks伺服器配置文件。
    android app添加shadowsocks伺服器配置文件
  5. 單擊配置文件列表中的ShadowSocks伺服器,單擊右下方的小平面按鈕以連接到ShadowSocks伺服器。當您在頂部狀態欄中看到一個鍵圖標時,ShadowSocks伺服器已連接。
    android app shadowsocks伺服器配置文件列表

Comments are closed.