2022年3月3日星期四

lucky IPv6 tcp/udp 端口转发内网IPv4,动态域名服务

 

lucky 端口转IPv6 tcp/udp 转发内网IPv4,动态域名服务发替代socat

    使用:

    默认后台管理地址 http://<运行设备IP>:16601 默认登录账号: 666 默认登录密码: 666

    管理命令 systemctl start lucky.daji.service
    sudo systemctl restart lucky.daji.service
    sudo systemctl stop lucky.daji.service

      /etc/init.d/lucky.daji enable 
      /etc/init.d/lucky.daji start
      /etc/init.d/lucky.daji restart
      /etc/init.d/lucky.daji stop

    Docker中使用

  • 不挂载主机目录, 删除容器同时会删除配置

    # host模式, 同时支持IPv4/IPv6, Liunx系统推荐
    docker run -d --name lucky --restart=always --net=host gdy666/lucky
    # 桥接模式, 只支持IPv4, Mac/Windows推荐,windows另外会有专用版本支持ipv6,待开发
    docker run -d --name lucky --restart=always -p 16601:16601 gdy666/lucky
  • 在浏览器中打开http://主机IP:16601,修改你的配置,成功

  • [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 /root/luckyconf 为主机目录, 配置文件为lucky.conf

    docker run -d --name lucky --restart=always --net=host -v /root/luckyconf:/goodluck gdy666/lucky

转发规则格式

例子1
tcp6@:22222to192.168.31.1:22
监听 tcp6 类型的22222端口转发至192.168.31.1的22端口

例子2
udp@:1194to192.168.31.36
监听 udp(同时包含udp4和udp6)类型的1194端口转发至192.168.31.36的相同端口(1194)

例子3
tcp6,udp6@:53to192.168.31.1:53
监听 tcp6和udp6类型的53端口转发至192.168.31.1的53端口

如果你还是没法理解格式,那么可以通过web管理后台添加转发规则后直接在规则列表中一键复制自动生成的命令行配置
需要注意的是这种方式导入的规则不包含规则中的其它参数部分,命令行模式的规则只支持通过设置启动参数共用相同的额外参数(一般使用影响不大,不需要理会)

其它启动参数

使用后台管理的用户不需要理会这部分内容

-pcl <num>
全局代理数量限制(默认128),每个端口转发对应一个代理,这个参数主要是为了防止用户误写规则,生成过多代理造成程序奔溃或占用资源过多,一般不需要动.

-gpmc <num>
全局最大连接数(默认10240),设计这个参数是为防止由于未知原因被人恶意高并发访问搞挂运行设备或程序,请根据需求调整.

-smc <num>
单个代理(端口)的最大连接数

-ups <num>
UDP包最大长度,默认1500,一般使用情景不需要理会,有特殊使用情景再自行调整,比如内网小包性能测试.

-upm <bool>
UDP代理性能模式开关,打开后,多核CPU环境下有利于改善UDP小包转发性能,默认已打开.

-udpshort <bool>
UDP short模式,如果需要用到dns转发打开这个开关有助于节省资源.
配置示例:(开启公网访问,监听3389端口转发到example.com:3389,
添加IP地址 61.177.172.90 和 165.227.50.84 到访问黑名单)
{
    "BaseConfigure": {
        "AdminWebListenPort": 16601,
        "ProxyCountLimit": 128,
        "AdminAccount": "admin",
        "AdminPassword": "admin123",
        "AllowInternetaccess": true,
        "GlobalMaxConnections": 10240,
        "LogMaxSize": 1024
    },
    "RelayRuleList": [
        {
            "Name": "RDP",
            "Configurestr": "tcp,udp@:3389toexample.com:3389|example.com:3389",
            "Enable": true,
            "Options": {
                "UDPPackageSize": 1500,
                "SingleProxyMaxConnections": 256,
                "UDPProxyPerformanceMode": true,
                "UDPShortMode": true,
                "SafeMode": "blacklist"
            }
        }
    ],
    "WhiteListConfigure": {
        "BaseConfigure": {
            "URL": "",
            "ActivelifeDuration": 36,
            "BasicAccount": "666",
            "BasicPassword": "666"
        },
        "WhiteList": null
    },
    "BlackListConfigure": {
        "BlackList": [
            {
                "IP": "61.177.172.90",
                "Effectivetime": "2098-10-14 10:48:19"
            },
            {
                "IP": "165.227.50.84",
                "Effectivetime": "2098-10-14 10:48:27"
            }
        ]
    },
    "DDNSConfigure": {
        "Enable": false,
        "HttpClientSecureVerify": false,
        "FirstCheckDelay": 0,
        "Intervals": 30
    },
    "DDNSTaskList": null,
    "ReverseProxyRuleList": null
}