Shadowsocks-libev for OpenWrt

April 14, 2019 · View on GitHub

Download

简介

本项目是 shadowsocks-libev 在 OpenWrt 上的移植

特性

软件包只包含 shadowsocks-libev 的可执行文件, 可与 luci-app-shadowsocks 搭配使用
可编译两种版本

  • shadowsocks-libev

    客户端/
    └── usr/
        └── bin/
            ├── ss-local       // 提供 SOCKS 代理
            ├── ss-redir       // 提供透明代理, 从 v2.2.0 开始支持 UDP
            └── ss-tunnel      // 提供端口转发, 可用于 DNS 查询
    
  • shadowsocks-libev-server

    服务端/
    └── usr/
        └── bin/
            └── ss-server      // 服务端可执行文件
    

编译

  • 从 OpenWrt 的 SDK 编译

    # 以 ar71xx 平台为例
    tar xjf OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2
    cd OpenWrt-SDK-ar71xx-*
    # 添加 feeds
    git clone https://github.com/shadowsocks/openwrt-feeds.git package/feeds
    # 获取 shadowsocks-libev Makefile
    git clone https://github.com/shadowsocks/openwrt-shadowsocks.git package/shadowsocks-libev
    # 选择要编译的包 Network -> shadowsocks-libev
    make menuconfig
    # 开始编译
    make package/shadowsocks-libev/compile V=99
    

配置

软件包本身并不包含配置文件, 配置文件内容为 JSON 格式, 支持的键:

键名数据类型说明
server字符串服务器地址, 可以是 IP 或者域名
server_port整数值服务器端口号
local_address字符串本地绑定的 IP 地址, 默认 127.0.0.1
local_port整数值本地绑定的端口号
password字符串服务端设置的密码
method字符串加密方式, 详情参考
timeout整数值超时时间(秒), 默认 60
plugin字符串插件名称, eg: obfs-local
plugin_opts字符串插件参数, eg: obfs=http;obfs-host=www.bing.com
fast_open布尔值是否启用 TCP Fast Open
nofile整数值设置 Linux ulimit
mode枚举值转发模式, 可用值: [tcp_only, udp_only, tcp_and_udp]
mptcp布尔值是否启用 Multipath TCP
reuse_port布尔值是否启用端口复用, 需要内核版本大于 3.9.0