“FAQ:SS客户端”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(Eijux移动页面FAQ:SSFAQ:SS客户端,不留重定向)
 
(未显示同一用户的66个中间版本)
第1行: 第1行:
[[category:Software]]
[[category:网络工具]]


== 服务端 ==
== FAQ ==
一般安装在 Linux 中,也有各个不同的实现版本,还有不同的混淆方式,插件等。
问题参考:
1、[https://github.com/shadowsocks/shadowsocks-windows/issues/3215 求助,无法使用,提示一直超时 #3215]
2、[https://github.com/shadowsocks/shadowsocks-windows/issues/2228 为什么昨天刚换的Ip,今天就被封 #2228]


=== Shadowsocks-python ===
== Shadowsocks错误:端口被占用 ==
<!-- 在 NewYork 的主机 -->
[[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-python:
== Shadowsocks错误:系统保留端口 ==
# 安装:
[[File:ShadowsocksException系统保留端口.png|right|400px]]
#: <syntaxhighlight lang="bash" highlight="">
如未解决,参考GitHub中项目的问题页:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
# [https://github.com/shadowsocks/shadowsocks-windows/issues/2948 Shadowsocks 错误:端口1080是系统保留端口]
</syntaxhighlight>
# [https://github.com/shadowsocks/shadowsocks-windows/issues/2630 对端口被系统保留的测试]
# 文件夹权限:
#: <syntaxhighlight lang="bash" highlight="">
chmod +x shadowsocks.sh
</syntaxhighlight>
# 配置:
#: <syntaxhighlight lang="bash" highlight="">
vi /etc/shadowsocks.json


{
== 修改Shadowsocks本地端口 ==
    "server":"0.0.0.0",
出现以上两个错误:“端口被占用”、“系统保留端口”,最快捷的方式就是修改ss使用的本地端口。<br/>
   "server_port":*****,
修改之后还需确认软件的代理方式:
    "local_address":"127.0.0.1",
# Windows系统代理:“设置”->“网络和Internet”->“代理”中,选用“手动设置代理服务器”,并设置
   "local_port":*****,
#: <syntaxhighlight lang="XML">地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight>
   "password":"************",
# Chrome的ProxySwitchyOmega插件:在“情景模式”->“Shadowsocks”中,设置
    "timeout":300,
#: <syntaxhighlight lang="XML">代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight>
   "method":"***-***-***",
# 应用软件的代理设置:
    "fast_open":false
#: 使用“System Proxy Setting”,即“Windows系统代理”的设置
}
#: 使用“Custom Proxy”,设置:<syntaxhighlight lang="XML" inline>代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight>
</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 的主机 -->
 
# 安装 Shadowsocks-libev:
#: <syntaxhighlight lang="bash" highlight="">
 
</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>
 
== 客户端 ==
=== 安装 ===
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/>
记:又又又一次遇到端口不能使用(被占用、系统保留端口)【2020/11/18 17:28:59】<br/>


第164行: 第92行:
*: [[File:tcp端口排除范围.jpg|400px]]
*: [[File:tcp端口排除范围.jpg|400px]]


=== 【重启之前,手动退出Shadowsocks】 ===
 
【重启之前,手动退出Shadowsocks】
【2021/04/04 19:24:34】我发现:重启之前,手动退出Shadowsocks,则重启之后不会出现端口被保留的问题。【自己和自己冲突?mmp……可能哪个服务进程变量什么jb玩意儿,在重启(或关机再开机)的过程中不能被重置】
【2021/04/04 19:24:34】我发现:重启之前,手动退出Shadowsocks,则重启之后不会出现端口被保留的问题。【自己和自己冲突?mmp……可能哪个服务进程变量什么jb玩意儿,在重启(或关机再开机)的过程中不能被重置】


== FAQ ==
== 客户端“time out”问题 ==
=== Shadowsocks错误:端口被占用 ===
首先排除:
[[File:ShadowsocksException端口已被占用.png|right|400px]]
# 服务端所使用的端口是否在防火墙开启;
* Shadowsocks自启动时出现该问题,先排除其他服务或应用占用端口,确认由Shadowsocks导致
# 客户端是否配置了正确的端口;
解决,重装Shadowsocks(?或删除并重新设置启动项?):
# 服务器 ip、端口是否被锁;
# 删除Windows启动项中的Shadowsocks;
 
# 备份Shadowsocks内容,并重新安装;
 
# 右键Shadowsocks勾选“开机启动”
解决:
如未解决,参考GitHub中项目的问题页:
# '''更换服务器端口'''?(记得:防火墙开启端口并重新加载,更换本地配置)
# [https://github.com/shadowsocks/shadowsocks-windows/issues/314 Shadowsocks 错误: 端口已被占用]
# 重启 ss 服务?
# [https://github.com/shadowsocks/shadowsocks-windows/issues/2171 win10 x64最近一次更新后提示端口已被占用]
# '''尝试服务器 ipv6'''?(参考:[https://github.com/shadowsocks/shadowsocks-windows/issues/3256 国内外 端口测试app 都是 通的,但是客户端 socket timeout #3256]
# '''尝试使用混淆插件'''?
 
== '''检查 IP 是否被锁''' ==
输入 IP 检查分别在国内和国外的访问情况: https://www.vps234.com/ipchecker/
 
== '''检查 port 是否可用''' ==
使用 '''tcping'''(命令提示符工具,[https://www.elifulkerson.com/projects/tcping.php 下载])进行测试,看看端口是否能连通。
# 下载“tcping.exe”并保存到“D:\tools”;
#* 并将“D:\tools”加入环境变量“Path”。
# 打开cmd:
#: <syntaxhighlight lang="bash" highlight="">
tcping -t <服务器 ip> <服务器 port>
</syntaxhighlight>
#: [[File:tcping使用.png|600px]]


=== 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本地端口 ===
或者使用“TCP Port Check”(TCP 端口测试工具,[https://github.com/chenshaoju/tcpportcheck/releases 下载])
出现以上两个错误:“端口被占用”、“系统保留端口”,最快捷的方式就是修改ss使用的本地端口。<br/>
1、如果您正在使用 Windows 10 ,或者安装了 Microsoft .NET Framework 4 或更高版本,请下载 TCPPortCheck-dotNet4.exe。
修改之后还需确认软件的代理方式:
2、如果您在使用旧版本的操作系统,或者没有安装 Microsoft .NET Framework 4,请下载 TCPPortCheck.exe。
# 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>

2021年12月3日 (五) 06:41的最新版本


FAQ

问题参考:
1、求助,无法使用,提示一直超时 #3215
2、为什么昨天刚换的Ip,今天就被封 #2228

Shadowsocks错误:端口被占用

ShadowsocksException端口已被占用.png
  • Shadowsocks自启动时出现该问题,先排除其他服务或应用占用端口,确认由Shadowsocks导致

解决,重装Shadowsocks(?或删除并重新设置启动项?):

  1. 删除Windows启动项中的Shadowsocks;
  2. 备份Shadowsocks内容,并重新安装;
  3. 右键Shadowsocks勾选“开机启动”

如未解决,参考GitHub中项目的问题页:

  1. Shadowsocks 错误: 端口已被占用
  2. win10 x64最近一次更新后提示端口已被占用

Shadowsocks错误:系统保留端口

ShadowsocksException系统保留端口.png

如未解决,参考GitHub中项目的问题页:

  1. Shadowsocks 错误:端口1080是系统保留端口
  2. 对端口被系统保留的测试

修改Shadowsocks本地端口

出现以上两个错误:“端口被占用”、“系统保留端口”,最快捷的方式就是修改ss使用的本地端口。
修改之后还需确认软件的代理方式:

  1. Windows系统代理:“设置”->“网络和Internet”->“代理”中,选用“手动设置代理服务器”,并设置
    地址:http://localhost,端口:10800(修改的端口)
    
  2. Chrome的ProxySwitchyOmega插件:在“情景模式”->“Shadowsocks”中,设置
    代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)
    
  3. 应用软件的代理设置:
    使用“System Proxy Setting”,即“Windows系统代理”的设置
    使用“Custom Proxy”,设置:代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)

客户端端口问题排查总结

记:又又又一次遇到端口不能使用(被占用、系统保留端口)【2020/11/18 17:28:59】

之前使用1080端口,在某次软件更新还是系统更新之后,提示改端口为系统保留端口,查找占用进程无果的情况下,改为使用10800;昨天更新IDM并重启系统之后,提示10800被占用,改为1080提示系统保留端口,所以又又又在网上找了一圈解决方案……


排查占用(端口1080)的进程:

  1. 使用“netstat -aon|findstr "1080"”查找被占用端口对应的 PID;
    1查询占用端口的进程号.jpg
  2. 查看PID对应的进程(或服务);
    2根据PID查看进程.jpg
  3. (查看哪一个chrome进程占用了端口,“shift + esc”)
    3查看chrome中使用端口的任务.jpg

关闭了chrome进程数,以为能好使,但是……仍然提示“端口是系统保留端口”,并且找不到占用的进程:

系统保留端口在netstat是看不到有其他程序占用的,但你就是用不了。。。


关于此问题,shadowsocks-windows项目的端口禁止访问 #1835有描述:

这个问题并不是端口被占用,通过 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,目前找不到可以认为调整的方法。
分享一下曾经找到的解决办法
由于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


所以:

  1. 不要选用系统保留的端口;
  2. 对于非保留端口被占用,排查并结束对于进程即可;
  • 使用“netsh interface ipv4 show excludedportrange protocol=tcp”查看tcp的端口排除范围:
    Tcp端口排除范围.jpg


【重启之前,手动退出Shadowsocks】

【2021/04/04 19:24:34】我发现:重启之前,手动退出Shadowsocks,则重启之后不会出现端口被保留的问题。【自己和自己冲突?mmp……可能哪个服务进程变量什么jb玩意儿,在重启(或关机再开机)的过程中不能被重置】

客户端“time out”问题

首先排除:

  1. 服务端所使用的端口是否在防火墙开启;
  2. 客户端是否配置了正确的端口;
  3. 服务器 ip、端口是否被锁;


解决:

  1. 更换服务器端口?(记得:防火墙开启端口并重新加载,更换本地配置)
  2. 重启 ss 服务?
  3. 尝试服务器 ipv6?(参考:国内外 端口测试app 都是 通的,但是客户端 socket timeout #3256
  4. 尝试使用混淆插件

检查 IP 是否被锁

输入 IP 检查分别在国内和国外的访问情况: https://www.vps234.com/ipchecker/

检查 port 是否可用

使用 tcping(命令提示符工具,下载)进行测试,看看端口是否能连通。
  1. 下载“tcping.exe”并保存到“D:\tools”;
    • 并将“D:\tools”加入环境变量“Path”。
  2. 打开cmd:
    tcping -t <服务器 ip> <服务器 port>
    
    Tcping使用.png


或者使用“TCP Port Check”(TCP 端口测试工具,下载)
1、如果您正在使用 Windows 10 ,或者安装了 Microsoft .NET Framework 4 或更高版本,请下载 TCPPortCheck-dotNet4.exe。
2、如果您在使用旧版本的操作系统,或者没有安装 Microsoft .NET Framework 4,请下载 TCPPortCheck.exe。