查看“FAQ:SS客户端”的源代码
←
FAQ:SS客户端
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Software]] == 服务端 == 一般安装在 Linux 中,也有各个不同的实现版本,还有不同的混淆方式,插件等。 === Shadowsocks-python === <!-- 在 NewYork 的主机 --> 使用 Shadowsocks-python: # 安装: #: <syntaxhighlight lang="bash" highlight=""> wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh </syntaxhighlight> # 文件夹权限: #: <syntaxhighlight lang="bash" highlight=""> chmod +x shadowsocks.sh </syntaxhighlight> # 配置: #: <syntaxhighlight lang="bash" highlight=""> vi /etc/shadowsocks.json { "server":"0.0.0.0", "server_port":*****, "local_address":"127.0.0.1", "local_port":*****, "password":"************", "timeout":300, "method":"***-***-***", "fast_open":false } </syntaxhighlight> # 启动: #: <syntaxhighlight lang="bash" highlight=""> ./shadowsocks.sh 2>&1 | tee shadowsocks.log </syntaxhighlight> 使用锐速加速: # 安装: #: <syntaxhighlight lang="bash" highlight=""> wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh </syntaxhighlight> # 配置: #: <syntaxhighlight lang="bash" highlight=""> vi /serverspeeder/etc/config ??? </syntaxhighlight> # 重启锐速: #: <syntaxhighlight lang="bash" highlight=""> service serverSpeeder restart </syntaxhighlight> === Shadowsocks-libev === <!-- 在 NewJersey 的主机 --> 参见: https://www.xiaohuai.com/3948/ # 安装 Shadowsocks-libev: #: <syntaxhighlight lang="bash" highlight=""> wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh chmod +x shadowsocks-libev.sh ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log </syntaxhighlight> # 配置: #: <syntaxhighlight lang="bash" highlight=""> cd /etc/shadowsocks-libev/ vi config.json { "server":"0.0.0.0", "server_port":*****, "password":"***************", "timeout":300, "user":"nobody", "method":"********-****-********", "fast_open":true, "nameserver":"8.8.8.8", "mode":"tcp_and_udp" } </syntaxhighlight> # 安装 BBR: #: <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> === 后续步骤 === # 开放端口: #: <syntaxhighlight lang="bash" highlight=""> firewall-cmd --permanent --add-port=8888/tcp firewall-cmd --reload </syntaxhighlight> # 设置开机启动:??? #: <syntaxhighlight lang="bash" highlight=""> systemctl start shadowsocks-server.service systemctl enable shadowsocks-server.service </syntaxhighlight> #: <syntaxhighlight lang="bash" highlight=""> # CentOS chkconfig --add ss-libev # Debian update-rc.d ss-libev defaults </syntaxhighlight> # 启动: #: <syntaxhighlight lang="bash" highlight=""> # 启动: /etc/init.d/shadowsocks start # 停止: /etc/init.d/shadowsocks stop # 重启: /etc/init.d/shadowsocks restart # 查看状态: /etc/init.d/shadowsocks status </syntaxhighlight> == 客户端 == === 安装 === Shadowsocks的项目链接在[https://github.com/shadowsocks/shadowsocks-windows shadowsocks-windows]。<br/> # 下载'''Shadowsocks-4.1.10.0.zip''',并解压到本地Shadowsocks文件夹内(<code>D:\Program Files (x86)\Shadowsocks</code>) # 启动'''Shadowsocks.exe'''会自动加载其他内容 # 覆盖备份的配置文件'''gui-config.json''',然后重启Shadowsocks === 备份 === 需要备份的内容:code # '''<code>gui-config.json</code>''':(<code>D:\Program Files (x86)\Shadowsocks</code>)Shadowsocks使用的服务器配置文件 # '''<code>mgwz.dll</code>''':(<code>D:\Program Files (x86)\Shadowsocks\ss_win_temp</code>)Privoxy所需的动态库(不会自动生成或下载?) 其余内容会在Shadowsocks启动时自动生成,'''<code>gfwlist.txt</code>'''和'''<code>pac.txt</code>'''会在从GFWList更新本地PAC时生成。 === 关于文件 === * <s>'''libcrypto-1_1.dll''' : 加密库</s>(没这个) * '''libsscrypto.dll''' : 加密库 * '''mgwz.dll''' : Privoxy所需的动态库 * '''privoxy_<随机数>.conf''' : Privoxy配置文件 * '''shadowsocks.log''' : SS本身的日志 * '''ss_privoxy.exe''' : Privoxy主程序 * '''ss_privoxy.log''' : Privoxy的日志 * '''sysproxy.exe''' : 用于系统代理的代理设置程序 == 关于客户端端口被占用 == 记:又又又一次遇到端口不能使用(被占用、系统保留端口)【2020/11/18 17:28:59】<br/> 之前使用1080端口,在某次软件更新还是系统更新之后,提示改端口为系统保留端口,查找占用进程无果的情况下,改为使用10800;昨天更新IDM并重启系统之后,提示10800被占用,改为1080提示系统保留端口,所以又又又在网上找了一圈解决方案…… 排查占用(端口1080)的进程: # 使用“<syntaxhighlight lang="bash" inline>netstat -aon|findstr "1080"</syntaxhighlight>”查找被占用端口对应的 PID; #: [[File:1查询占用端口的进程号.jpg|400px]] # 查看PID对应的进程(或服务); #: [[File:2根据PID查看进程.jpg|400px]] #(查看哪一个chrome进程占用了端口,“shift + esc”) #: [[File:3查看chrome中使用端口的任务.jpg|400px]] 关闭了chrome进程数,以为能好使,但是……仍然提示“端口是系统保留端口”,并且找不到占用的进程: <pre> 系统保留端口在netstat是看不到有其他程序占用的,但你就是用不了。。。 </pre> 关于此问题,shadowsocks-windows项目的[https://github.com/shadowsocks/shadowsocks-windows/issues/1835 端口禁止访问 #1835]有描述: <pre> 这个问题并不是端口被占用,通过 netstat 里找不到占用这个端口的程序。 实际上,这个错误对应的 last-error 是 10013 (WSAEACCESS),权限不足。 根据2018年2月13日发布的 KB4074588 里的 known issue,这个补丁会调整操作系统的 reserve port ranges,可以通过运行 netsh interface ipv4 show excludedportrange protocol=tcp 查看。 在我自己的环境里,1025 ~ 1124 都被系统强制保留了,所以其他应用程序无法监听在这个端口。 workaround 要选取的端口也只能避开这些保留端口。 最后建议:ss 可以做一下 10013(WSAEACCES) 和 10048(WSAEADDRINUSE)的分类处理。毕竟看起来之后这个地方会出现坑不会少。 注1:我的系统是最新的1809,一直没有这个问题,直到上周安装了 SONY 的 Digital Paper App 附带的驱动之后触发了这个问题。另一台 surface pro 4 也装了 Digital Paper App,但是没有出现这个问题,不确定是不是因为 sp4 使用的是 Windows 10 Home 的关系。 注2:尝试使用 netsh interface ipv4 delete excludedportrange ... 会提示 access is denied,目前找不到可以认为调整的方法。 </pre> <pre> 分享一下曾经找到的解决办法 由于hyper-v保留了这些端口,所以需要先关闭hyper-v,保留想要保留的端口,再开启hyper-v功能 Disable hyper-v (which will required a couple of restarts) dism.exe /Online /Disable-Feature:Microsoft-Hyper-V When you finish all the required restarts, reserve the port you want so hyper-v doesn't reserve it back netsh int ipv4 add excludedportrange protocol=tcp startport=1080 numberofports=2 netsh int ipv4 add excludedportrange protocol=tcp startport=1099 numberofports=1 netsh int ipv4 add excludedportrange protocol=tcp startport=3306 numberofports=1 3.Re-Enable hyper-V (which will require a couple of restart) dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All </pre> 所以: # 不要选用系统保留的端口; # 对于非保留端口被占用,排查并结束对于进程即可; * 使用“<syntaxhighlight lang="bash" inline>netsh interface ipv4 show excludedportrange protocol=tcp</syntaxhighlight>”查看tcp的端口排除范围: *: [[File:tcp端口排除范围.jpg|400px]] === 【重启之前,手动退出Shadowsocks】 === 【2021/04/04 19:24:34】我发现:重启之前,手动退出Shadowsocks,则重启之后不会出现端口被保留的问题。【自己和自己冲突?mmp……可能哪个服务进程变量什么jb玩意儿,在重启(或关机再开机)的过程中不能被重置】 == FAQ == === Shadowsocks错误:端口被占用 === [[File:ShadowsocksException端口已被占用.png|right|400px]] * Shadowsocks自启动时出现该问题,先排除其他服务或应用占用端口,确认由Shadowsocks导致 解决,重装Shadowsocks(?或删除并重新设置启动项?): # 删除Windows启动项中的Shadowsocks; # 备份Shadowsocks内容,并重新安装; # 右键Shadowsocks勾选“开机启动” 如未解决,参考GitHub中项目的问题页: # [https://github.com/shadowsocks/shadowsocks-windows/issues/314 Shadowsocks 错误: 端口已被占用] # [https://github.com/shadowsocks/shadowsocks-windows/issues/2171 win10 x64最近一次更新后提示端口已被占用] === Shadowsocks错误:系统保留端口 === [[File:ShadowsocksException系统保留端口.png|right|400px]] 如未解决,参考GitHub中项目的问题页: # [https://github.com/shadowsocks/shadowsocks-windows/issues/2948 Shadowsocks 错误:端口1080是系统保留端口] # [https://github.com/shadowsocks/shadowsocks-windows/issues/2630 对端口被系统保留的测试] === 修改Shadowsocks本地端口 === 出现以上两个错误:“端口被占用”、“系统保留端口”,最快捷的方式就是修改ss使用的本地端口。<br/> 修改之后还需确认软件的代理方式: # Windows系统代理:“设置”->“网络和Internet”->“代理”中,选用“手动设置代理服务器”,并设置 #: <syntaxhighlight lang="XML">地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight> # Chrome的ProxySwitchyOmega插件:在“情景模式”->“Shadowsocks”中,设置 #: <syntaxhighlight lang="XML">代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight> # 应用软件的代理设置: #: 使用“System Proxy Setting”,即“Windows系统代理”的设置 #: 使用“Custom Proxy”,设置:<syntaxhighlight lang="XML" inline>代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight>
返回至“
FAQ:SS客户端
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息