wmproxy 0.2.1 发布,支持反向代理 / 负载均衡 / 内网穿透等功能,
0.2.1
1. 请求流量控制
2. 负载均衡
3. http接口重构
wmproxy
wmproxy
已用Rust
实现http/https
代理, socks5
代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket
代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子
📦 安装 & 🏃 使用
安装
cargo install wmproxy
OR
git clone https://github.com/tickbh/wmproxy cd wmproxy cargo install --path .
docker pull dreamwhat/wmproxy docker run -p 82:82 -p 8090:8090 -p 127.0.0.1:8837:8837 --name proxy_bash dreamwhat/wmproxy /bin/./wmproxy -b -b 0.0.0.0:8090
使用
默认端口为8090端口,默认监听地址为127.0.0.1
# 直接通用默认参数 wmproxy # 设置账号密码 wmproxy -b 0.0.0.0:8090 --user wmproxy --pass wmproxy # 其它指令 wmproxy --help #配置文件版启动 wmproxy -c config/client.yaml
启动二级代理
- 在本地启动代理
wmproxy -b 127.0.0.1 -p 8090 -S 127.0.0.1:8091 --ts
或者
wmproxy -c config/client.yaml
配置文件如下:
proxy: # 连接服务端地址 server: 127.0.0.1:8091 # 连接服务端是否加密 ts: true # 内网映射配置的数组 mappings: #将localhost的域名转发到本地的127.0.0.1:8080 - name: web mode: http local_addr: 127.0.0.1:8080 domain: localhost headers: - [proxy, +, x-forward-for, $client_ip] - [proxy, +, from, $url] - [+, key, value] - [-, etag] - [+, last-modified, aaaa] #将tcp的流量无条件转到127.0.0.1:8080 - name: tcp mode: tcp local_addr: 127.0.0.1:8080 domain:
因为纯转发,所以在当前节点设置账号密码没有意义-S
表示连接到的二级代理地址,有该参数则表示是中转代理,否则是末端代理。--ts
表示连接父级代理的时候需要用加密的方式链接
- 在远程启动代理
wmproxy --user proxy --pass proxy -b 0.0.0.0:8091 --tc
或者
wmproxy -c config/server.yaml
配置文件如下:
proxy: #绑定的ip地址 bind_addr: 127.0.0.1:8091 #代理支持的功能,1为http,2为https,4为socks5 flag: 7 #内网映射http绑定地址 map_http_bind: 127.0.0.1:8001 #内网映射tcp绑定地址 map_tcp_bind: 127.0.0.1:8002 #内网映射https绑定地址 map_https_bind: 127.0.0.1:8003 #内网映射的公钥证书,为空则是默认证书 map_cert: #内网映射的私钥证书,为空则是默认证书 map_key: #接收客户端是为是加密客户端 tc: true #当前服务模式,server为服务端,client为客户端 mode: server
--tc
表示接收子级代理的时候需要用加密的方式链接,可以--cert
指定证书的公钥,--key
指定证书的私钥,--domain
指定证书的域名,如果不指定,则默认用自带的证书参数
至此通过代理访问的,我们已经没有办法得到真正的请求地址,只能得到代理发起的请求
代理间的认证
目前提供了两种认证双式,
two_way_tls
开启客户端的证书认证信息, 另一种服务端配置了username
和password
即需要客户端配置相同的用户密码才能启用认证信息, 两种方式可叠加使用或者单独使用。 配置添加如下:
proxy: two_way_tls: true username: wmproxy password: wmproxy
🚥 路线图
socks5
- IPV6 支持
SOCKS5
验证方式NOAUTH
USERPASS
SOCKS5
CommandsCONNECT
UDP ASSOCIATE
http/https
- IPV6 支持
内网穿透
- Http 支持
- Https 支持
- Tcp 支持
反向代理
- 静态文件服务器
- 被动健康检查
- 主动健康检查
- 配置热加载
- 负载均衡
- 四层TCP负载
- 四层UDP负载
支持功能
- 修改 HTTP 请求 Header
- 支持 HTTP2 的内网穿透

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PicList 2.6.8 发布,图床管理和上传工具,相册 bug 修复
PicList是一款高效的云存储和图床平台管理工具,在PicGo的基础上经过深度的二次开发,不仅完整保留了PicGo的所有功能,还增添了许多新的feature。例如相册支持同步云端删除文件,内置图床额外添加了WebDav、本地图床和SFTP等。PicList同时增加了完整的云存储管理功能,包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和图片/markdown/文本/视频预览等,另外还有更加强大的相册和多项功能新增或优化。 开源地址和软件官网 Github: https://github.com/Kuingsmile/PicList Gitee: https://gitee.com/kuingsmile/PicList 软件官网:https://piclist.cn 下载地址 MacOS PicList-2.6.8-arm64.dmg PicList-2.6.8-x64.dmg PicList-2.6.8-universal.dmg Windows PicList-Setup-2.6.8-ia32.exe PicList-Setup-2.6.8-x64.exe ...
- 下一篇
SQL 质量管理 | SQLE 3.2311.0 来啦!盘点 V3 版本主要变更
📢 重要通知:至本期发版,SQLE 已经完成了从 V2 版本到 V3 版本的完美过渡! ✨V3 版本将带来全新的界面和焕然一新的体验! 🎁SQLE 体验有礼活动再次开启 长期有效,详见文末 什么是 SQLE? SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。 更多功能特性及使用场景:《让所有人不再为 SQL 问题头疼》 V3 版本有哪些变化? 与 10.24 发布的 V3 版本相比,本期的发布内容包括了过渡期间在 V2 版本上新增的功能,以及 V3 版本独有的一些酷炫功能。让我们一起来看看吧! 1. 审核功能改进 现在支持快速审核 SQL,高效获得审核结果; 新增了全生命周期 SQL 管控面板,让您的 SQL 管理更加得心应手; 引入了规则知识库,让您在审核过程中更加专业、准确; 支持导出扫描任务报告,让您的审核结果更加清晰明了; 审核结果还可以对规则进行筛选,让您的分析更有针对性; 2. CloudBeaver 优化 CloudBeaver...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果