如何在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.