[教程] Porter-简单实现单端口多用户/端口复用/端口转发

  • 萌新

    因个人需求,通过搜索引擎学习法,用go简单实现了一下,已编译成可执行文件。下面是一些使用场景举例,如果你也有类似的需求,可以试试用这个项目实现。项目地址

    运行参数

    -config
    指定配置文件名(default:config.json);也可以指定远程地址(example: http://rss.example.com/config ),当指定远程地址的时候,每分钟请求一次更新配置参数
    -l
    指定监听的端口(default:8080)

    配置文件参数

    param - http请求头的Host内容,客户端填写的混淆参数
    address - 目标服务的地址和端口(可以本地地址也可以远程地址)
    host - 转发后请求头的Host内容(留空则不处理Host)
    

    使用场景举例

    1. 单端口多用户

    {
      "forward":[
        {
          "param":"user1.example.com",
          "address":"xxx.com:6077",
          "host":""
        },
        {
          "param":"user2.example.com",
          "address":"xxx.com:6077",
          "host":""
        }
      ]
    }
    

    运行程序后,只有混淆参数为user1.example.comuser2.example.com的连接会转发到xxx.com:6077

    2. 端口复用

    {
      "forward":[
        {
          "param":"proxy1.example.com",
          "address":"a.com:6077",
          "host":""
        },
        {
          "param":"proxy2.example.com",
          "address":"b.com:6077",
          "host":""
        }
    }
    

    运行程序后,混淆参数为proxy1.example.com的连接转发到a.com:6077,混淆参数为proxy2.example.com的连接转发到b.com:6077

广告

赞助商广告

分类

2
Online

5.1k
Users

18.3k
Topics

57.7k
Posts