Shadowrocket 是一个用于网络代理和防火墙管理的开源工具,它可以帮助你管理网络流量和安全策略,如果你想连接到 Shadowrocket,通常需要使用它提供的命令行工具或配置文件来设置代理服务器或防火墙规则。
以下是一些常见的连接 Shadowrocket 的方法:
使用命令行工具
Shadowrocket 提供了一个命令行工具 shadowsocks,可以用来连接和管理代理服务器。
安装 Shadowrocket
- 如果你使用的是 Python 版本,可以使用 pip 包管理工具安装:
pip install shadowsocks
连接到 Shadowrocket
- 使用
shadowsocks命令启动代理,并指定服务器地址和端口:shadowsocks --server host:port --port local_port --socks-proxy socks_host:socks_port
--server host:port:指定 Shadowrocket 服务器地址和端口。--port local_port:指定本地代理端口。--socks-proxy socks_host:socks_port:指定 SOCKS 代理地址和端口。
示例
配置 Shadowrocket 服务器
Shadowrocket 服务器需要预先设置好,才能为客户端提供代理服务。
添加客户端到 Shadowrocket
- 使用 Shadowrocket 的 Web 界面或配置文件将客户端添加到服务器中。
通过配置文件设置
- 打开 Shadowrocket 的配置文件(默认路径为
~/.shadowsocks/config.json),找到socks部分,添加客户端的 IP 和端口:{ "socks": [ { "address": "127...1", "port": 108, "auth": "username:password" } ] } - 保存配置文件后,重启 Shadowrocket 服务器。
使用 Shadowrocket 作为防火墙
Shadowrocket 也可以作为一个简单的防火墙,用于过滤或限制网络流量。
添加防火墙规则
-
使用
iptables或nft工具添加防火墙规则。# 使用 iptables 添加规则 iptables -A FORWARD -i eth -j ACCEPT iptables -A FORWARD -o eth -m state --state NEW -j ACCEPT iptables -A FORWARD -o eth -j ACCEPT # 保存规则 service iptables save service iptables restart
或者使用
nft:nft -f file:/etc/nftables.conf add rule filter iif eth accept nft -f file:/etc/nftables.conf add rule filter iif eth accept state new nft -f file:/etc/nftables.conf add rule filter iif eth accept
启用防火墙
- 启用防火墙后,Shadowrocket 会根据配置的规则处理所有经过它的网络流量。
使用 Shadowrocket 进行端口转发
Shadowrocket 支持端口转发,可以将外部连接转发到内部服务器。
添加端口转发规则
-
使用
iptables或nft添加端口转发规则。# 使用 iptables 添加端口转发 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:808 iptables -t nat -A POSTROUTING -j MASQUERADE
或者使用
nft:nft -f file:/etc/nftables.conf add rule nat iif eth out egress accept nft -f file:/etc/nftables.conf add rule nat iif eth out egress port-forwarding 80:808
测试端口转发
- 在外部网络中测试是否可以通过转发的端口访问内部服务器:
nc -zv 192.168.1.1 80
使用 Shadowrocket 作为 VPN 服务器
Shadowrocket 也可以作为一个简单的 VPN 服务器,用于加密和安全地连接到内部网络。
配置 Shadowrocket 作为 VPN 服务器
- 在 Shadowrocket 的配置文件中添加 VPN 客户端:
{ "socks": [ { "address": "127...1", "port": 108, "auth": "username:password" } ], "vpn": [ { "source": ".../", "destination": "192.168.1.1/24", "socks": "127...1:108", "auth": "username:password" } ] } - 启用 VPN 服务器后,客户端可以通过 SOCKS 代理连接到 VPN。
使用 Shadowrocket 进行流量监控
Shadowrocket 提供了简单的流量监控功能,可以统计和限制网络流量。
配置流量限制
- 在配置文件中添加流量限制规则:
{ "流量监控": { "接口": "eth", "上限": "100M", "下限": "10M", "限速": "100M" } } - 保存配置文件后,重启 Shadowrocket 服务器。
故障排除
-
权限问题:确保 Shadowrocket 有足够的权限访问网络接口和端口。
# 修改权限 chmod 777 /etc/nftables.d/ chmod 777 /etc/iptables.d/
-
防火墙阻止:检查防火墙规则是否正确开放了所需的端口。
iptables -L -n
-
网络配置错误:检查网络接口是否正确配置,并且可以访问外部网络。
-
服务启动问题:确保 Shadowrocket 服务已正确启动。
systemctl status shadowsocks
优化连接性能
- 使用更高效的加密算法(如 AES 或 ChaCha20)。
- 配置合理的并发连接数和超时设置。
- 使用更高效的协议(如 HTTP/2 或 WebSocket)。









