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