Mr.2 可以帮助你将内网服务器暴露在外网. 支持 TCP/UDP 协议, 当然也支持 HTTP 协议.
让这个世界简单点.
$ mr2 server -l :9999 -p password
# 将本地服务 127.0.0.1:1234, 暴露在外网: server_address:5678
$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:1234
# 将本地目录 /path/to/www, 以 HTTP 协议暴露在外网: server_address:5678
$ mr2 client -s server_address:port -p password -P 5678 --clientDiretory /path/to/www
$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:8080
# 然后
你的外网 HTTP 服务: server_address:5678
$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:22
# 然后
$ ssh -oPort=5678 user@server_address
$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:53
# 然后
你的外网 DNS 服务: server_address:5678
$ dig github.com @server_address -p 5678
$ mr2 client -s server_address:port -p password -P 5678 --clientDirectory /path/to/www
# 然后
你的外网 HTTP 服务: server_address:5678
...
请先阅读 CONTRIBUTING.md
以 GPLv3 协议开源
1
thisismr2 OP |
2
dabaibai 2019-05-05 09:46:00 +08:00
FRP?
|
3
thisismr2 OP 差不多. 相对使用更简单吧
|
4
thisismr2 OP 一直团队内部使用, 后续会把其他相关配套整理后也开源出来
|
5
shoaly 2019-05-05 10:24:41 +08:00
@thisismr2 相比 frp 确实要好理解一些, 主要是 frp 的配置特别绕.....
顺便问问, 能支持 多密码对应特定端口的方式么.... 这样就可以多个 client 连同一个 server, 通过用户名和密码分开了 比如: mr2 server -l :9999 -p2 {"pws1":"1081","pws2":"1082"} 这种 |
6
Tink 2019-05-05 11:00:36 +08:00 via iPhone
好像有点像 dog tunnel ?
|
7
xionger 2019-05-05 11:04:17 +08:00 via iPhone
看起来不错,待会到公司了试试
|
10
Tink 2019-05-05 11:12:12 +08:00 via iPhone
|
11
jay0726 2019-05-05 11:19:07 +08:00
基于 Java Netty 实现的可用于内网穿透的代理工具 https://github.com/wucao/natx 帮忙点几个 Star 吧😆
|
12
thisismr2 OP 定位还是有点不同的. Mr2 定位简单但足够用, Work as you see first
|
13
xionger 2019-05-05 11:25:17 +08:00 via iPhone
楼上来踢馆的好像献丑了,只支持 TCP。
楼主的貌似 UDP/TCP 全支持,可玩性更多 |
15
xionger 2019-05-05 11:31:40 +08:00 via iPhone
刚试了下,目前足够强大,ssh,http,dns TCP UDP 都试了下。
我试了下如果我本地是 https, 也是支持的,但是建议楼主增加个功能 如果我本地的时 http,能不能外网变成 https。 BTW 我是你另外项目 Brook 的用户,非常感谢。 |
17
xionger 2019-05-05 11:45:18 +08:00 via iPhone
@unixeno 也对
我想的是,比如我的本地地址是 http://127.0.0.1:8080 目前已实现外网服务器地址是 http://1.2.3.4:5678 要是直接变成 https://1.2.3.4:5678 就用不到 nginx 了,哈哈 |
18
wwqgtxx 2019-05-05 11:58:13 +08:00 via iPhone
话说 udp 穿透部分还是走 udp over tcp 这样的么
|
19
thisismr2 OP @xionger
我们前端也是有这个需求的, 我们团队内部已支持, 支持服务端证书, 也支持客户端自己颁发的证书的(我们公司所有电脑已信任我们自签的根证书) 比如你上面是可以用自己的根证书给 1.2.3.4 颁发证书, 然后将根证书需要给访问的人信息, 当然不信任也能访问就是浏览器提示不安全, 点下仍继续访问的问题. 这块其实东西其实不多, 但是也不算少, 就是给人感觉有点啰嗦, 目前还在整理剥离内部代码后开源. |
21
wwqgtxx 2019-05-05 12:11:28 +08:00 via iPhone
@thisismr2 那还是很好的,回头试试,frp 这一块就是走 over tcp 的,所以 udp 穿透的效果很差。
话说未来有打算支持一下类似 n2n 这样的功能么? |
23
thisismr2 OP @wwqgtxx 目前 p2p 建立连接需要服务端交换双方基础信息, 且根据 nat 类型还有很大概率最后建立不成功, 不成功还是得服务端中转数据. 经过我们以前的研究, 有不少家庭公司 nat 网络建立失败, 最后还是走了中转. 而且还可能得要求最终端的用户也安装个客户端.
|
25
iMusic 2019-05-05 14:05:13 +08:00
localhost.run 啥都不用装,不过功能没这么强大
|
26
thisismr2 OP @shoaly 主要是认证这块, 其实的确要改的东西也不是很多, 我这两天增加上这个吧.
大概结果是: ``` $ mr2 server --portPassword "1000 password" --portPassword "2000 password" ``` client 使用不变 |
28
mooncakejs 2019-05-05 15:37:42 +08:00
不来个 docker image
|
30
kios 2019-05-05 16:56:05 +08:00
看上去配置起来比 frp 方便很多
|
31
thisismr2 OP @shoaly 好了 AT 你. red packet 不用了, 不接受个人任何形式的娟增 :) 那俩字打不出来 = = ||
|
32
thisismr2 OP @mooncakejs 可以用自己喜欢的 base image 做个自用嘛
|
33
heretreeli 2019-05-05 17:52:52 +08:00
n2n ??
|
34
ninestep 2019-05-05 18:25:02 +08:00 1
支持 websocket 吗?我现在用到 frp 就走不通 websocket
|
35
iamxiaoq 2019-05-05 18:54:33 +08:00 via Android
昨天刚刚发现一个类似的 goproxy
|
36
thisismr2 OP @ninestep 理论上支持任何 TCP-based UDP-based 的协议. websocket 属于 TCP, 所以是支持的, 我没测试
|
38
thisismr2 OP @heretreeli 不同
|
41
huaxianyan 2019-05-05 20:14:21 +08:00
感谢,回头试试
|
42
WenjieYe 2019-05-05 21:02:53 +08:00
感谢
回头试试 |
43
designer 2019-05-05 21:27:07 +08:00 via iPhone
支持!
|
44
ihipop 2019-05-06 08:49:49 +08:00 via Android
是 brook 作者吗?
|
45
Dark1X 2019-05-06 17:08:02 +08:00
支持!非常好用!
|
46
thisismr2 OP |
47
hanguofu 2019-05-07 13:21:33 +08:00 via Android
整个项目都是用 go 开发的吗?
|
49
xionger 2019-05-08 09:33:47 +08:00 via iPhone
#46 这个很有用
|
50
Valid 2019-05-08 10:19:51 +08:00
emmmm,有人 @我我才来的,来了看到没人 @我
|
51
04huang 2019-05-08 12:09:44 +08:00
所有的流量都走服务器?
|
54
samondlee 2019-05-10 14:41:01 +08:00
233 可以考虑增加 arm 版本
树莓派、N1 刷 armbian 应用应该比较多 |
57
hzqim 2019-05-14 00:12:46 +08:00
谢谢分享。
作为伸手党,期待 openwrt-mr2 以及 luci-app-mr2 的出现。 |
58
hzqim 2019-05-14 00:18:20 +08:00
|