Windows Server/桌面系统 安装Shadowsocks(R)服务



(Last Updated On: 2018-11-07)

基于一些用户希望使用的window server或者window桌面系统(win7/win10)安装shadowcocks(R)服务,收集整理一下这方面的教程,也做一下更新。VPS自带的windows server价格是比较贵的,如Vultr的就要多$16,原因基本是需支付微软授权费,装机量少之类的,所以也有用户会通过镜像安装盗版系统,被查出来就有被封号的风险。并且VPS便宜的配置不高,带界面的Windows会更吃内存和硬盘。如劝退失败,实在有这方面的需要,可以继续往下看。

1.搭建环境

本人测试使用的是虚拟机,镜像安装的Windows Server 2012 R2,除了自带Power Shell命令行工具、服务器环境和安全级别默认设置最高之外,操作起来未发现有太大的区别。所以使用Windows7/Windows10也差不多。

Chocolatey

安装环境可以自己下载安装,然后配置路径到环境变量。然而习惯了包管理工具,如Mac的HomeBrew,Debian的apt,Windows的话随便搜索到了chocolatey 就用了。包管理工具的好处就是方便安装和卸载,还能自动配置环境变量。安装区分cmd.exe和PowerShell.exe两种。分别根据这2种工具进行选择。如失效,优先参考官网步骤:https://chocolatey.org/install 

#cmd 很长,但是其实是一句  @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"    #powershell 很长,也是一句  Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装Python

默认安装3.7.0版本。Windows版本的
choco install python    #检测是否安装并添加到环境  python --version  Python 3.7.0

安装OpenSSL

OpenSSL实现安全套接字层和传输层安全性协议的项目,ss和ssr需要这个工具包。
choco install openssl.light    #检测是否安装并添加到环境  openssl version  OpenSSL 1.1.1 11 Sep 2018

安装git

用于拉取仓库文件、利用mingW来运行shell,根据需要安装,建议也装了。
choco install git --params "/GitAndUnixToolsOnPath /NoAutoCrlf"    #检测是否安装并添加到环境  git --version  git version 2.19.0.windows.1

2. 安装shadowsocks

根据社区主页的加以改动,也可以参考社区的步骤。

下载

chocolatey仓库也有shadowsocks,不过是Windows版本的客户端。我们使用Python自带的包管理工具PyPI(pip)来安装,既然Python有包管理工具,为什么还要chocolatey?。可能会提示pypi的版本过低,可以按提示升级。
#以下方式会安装2.8.2,会因为新版本的OpenSSL报错:AttributeError: function 'EVP_CIPHER_CTX_cleanup' not found  pip install shadowsocks    #建议使用这种方式,可以安装3.0.0  pip install -U   git+https://github.com/shadowsocks/shadowsocks.git@master

成功后会下载到python的lib\site-packages文件夹,如C:\Python37\lib\site-packages\shadowsocks。

添加配置文件

配置文件不是必须的,可以通过命令行来运行,配置文件比较方便。创建一个config.json文件,放在上面的shadowsocks目录,运行的话会自动加载这个配置文件。

{  "server":"0.0.0.0",     ##填写服务器外网ip地址  "server_port":8000,  ##代理端口  "local_address":"127.0.0.1",  "local_port":1080, ##本地监听端口  "password":"123456",   ##连接密码  "timeout":300,  "method":"aes-256-cfb", ##加密方式  "dast_open":false  }

运行

运行方式有几种,运行后,退出关闭命令行或者control+c。
#直接默认运行,加载目录下的config.json  ssserver     #指定配置文件路径  ssserver -c xxx\config.json  

3.安装ShadowsockR

下载

镜像地址下载,解压到无中文路径目录下。如C:\shadowsocksr-manyuesr。

配置

目录下复制config.json为user-config.json,并且修改里面的参数。

{   "server": "0.0.0.0",   "server_ipv6": "::",   "server_port": 8388,   "local_address": "127.0.0.1",   "local_port": 1080,      "password": "m",   "method": "aes-128-ctr",   "protocol": "auth_aes128_md5",   "protocol_param": "",   "obfs": "tls1.2_ticket_auth_compatible",   "obfs_param": "",   "speed_limit_per_con": 0,   "speed_limit_per_user": 0,      "additional_ports" : {}, // only works under multi-user mode   "timeout": 120,   "udp_timeout": 60,   "dns_ipv6": false,   "connect_verbose_info": 0,   "redirect": "",   "fast_open": true  }

运行

和ss很类似

#1.普通运行,  #先cd进入到shadowsocksr-manyuser目录  python server.py    #2.后台运行 (参照的是linux的方式)  #cd进入到shadowsocksr-manyuser\shadowsocks  .\logrun.sh  #运行成功任务管理器查看会发现驻留python进程。前提需要安装git(默认携带mingW来运行shell)。    #2.1尝试用.\stop.sh 并不能停止,手动到任务管理器去停止。    #2.2查看日志使用下面的命令,弹窗输出和普通运行一样的命令。  .\tail.sh     #2.3 其实到文件夹中直接双击这些脚本文件也可以执行脚本

4.其他

由于是在虚拟机部署,所以server填的127.0.0.1,还要区分server的本地监听端口和客户端的本地监听端口(如果是在VPS上,这些不用理会)。测试时在虚拟机内安装ssr客户端,关闭了防火墙(VPS也可以关闭或者到防火墙中添加开放端口),使用全局模式,成功连接,并且看到了日志。

包管理器安装在虚拟机内,install时并不顺畅,VPS上未尝试,实在不行,可以手动下载包来安装,但是要配置环境变量。PowerShell需要管理员模式运行。

SSR参考的是doubi和破娃的最后版本fork,如需新版本就得参考后续的维护者的了。

欢迎指教。

没有评论: