启动 Shadowrocket 服务器并设置本地代理

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 也可以作为一个简单的防火墙,用于过滤或限制网络流量。

添加防火墙规则

  • 使用 iptablesnft 工具添加防火墙规则。

    # 使用 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 支持端口转发,可以将外部连接转发到内部服务器。

添加端口转发规则

  • 使用 iptablesnft 添加端口转发规则。

    # 使用 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)。

启动 Shadowrocket 服务器并设置本地代理

扫码添加小飞机VPN网络工具官方微信

扫码添加小飞机VPN网络工具官方微信

400-638-2751
扫码添加小飞机VPN网络工具官方微信

扫码添加小飞机VPN网络工具官方微信

网站地图