找回密码
 立即注册
查看: 1643|回复: 6

[原创] [MoeRedirect]替代QC,DDNS,支持单端口反向代理,隐藏公网端口

[复制链接]

7

主题

84

回帖

532

积分

中级渣柚V2

积分
532
发表于 2020-9-21 13:33:50 | 显示全部楼层 |阅读模式
本帖最后由 code666 于 2020-9-21 13:54 编辑
: Z, S+ s! G0 i5 R3 V5 O- j
0 o2 c3 U' D0 u8 e引言
. ]1 ~% Q2 B' n* r       一直以来给家里和单位的群晖NAS用的都是QC+DDNS方案,也通过URL转址解决了家宽公网没有80端口的痛点(可以不加端口号访问带端口的地址),可惜由于DDNS更新存在延迟和URL转址需要进入域名提供商的网页控制台进行增加和修改,另外这个功能只能为域名所有者使用,没法做到域名共享,实在是不太方便,于是在闲暇之余,我开发了这个MoeRedirect解决了以上痛点,并增加了一些激动人心的新功能。
) o& J1 `5 ^$ f3 S! t$ P' F5 c关于MoeRedirect/ H/ r; n) ?$ y1 B5 k
       MoeRedirect(个人版)基于GO编写,支持跨平台,几乎可以覆盖所有设备,目前已编译了mipsel,arm64,amd64架构的可执行文件,可以运行在路由器,NAS或其他设备上,没有采用数据库而是采用JSON格式在本地保存数据,这是考虑到个人需要转址的条目并不多,默认端口号88。MoeRedirect提供了api,可以实时增删改相关转址信息,也可以返回客户端ip。MoeRedirect实现了2大功能,重定向(转址)和反向代理。重定向基于泛解析,根据二级域名重定向至目标地址,反向代理目前暂不支持https,可以反代本机和内网任何设备端口,于是达到了隐藏了暴露在公网的端口的目的。, d% Z; V) M; N( }4 Y6 u
使用:
. R* g  v3 [/ n# ?6 |7 ~       目前MoeRedirect(个人版)还在测试阶段,有些需要的脚本也没写,但也向大家开放了测试,服务搭建在猫盘上,因为没有80端口,暂时只能用88端口将就着了。反向代理api暂不开放,怕内网被搞.
( l2 Z' h" P: U2 j; jAPI:
0 P& }" N* ]& W( e) N9 _2 V, Bhttp://api.moeredir.site:88/api?act=[reg][del][upd][getip]&token=123456&mrid=xxx&type=redir&url=[http://xxx][https://xxx]
6 P5 W; Z1 ]* k4 \, m5 f1 ~api说明:act中reg为注册二级域名记录,del为删除二级域名记录,upd为更新现有二级域名记录,getip为获取客户端IP4 G5 T+ f% J' D: H- w1 L
token在act=getip时可不加,其他都需要加2 \4 Q' t( A' x! I
mrid为MoeRedirect ID缩写,等同于二级域名,例如mrid设置为test时,即用test.moeredir.site:88访问
6 Q" _7 G% n2 n5 Y) Eurl填写重定向目标地址,地址中必须带上http://或https://( R" {- n' f  N0 Z6 b& C) q
API使用示例:
  j3 q2 u9 S% e3 e) w0 Vhttp://api.moeredir.site:88/api?act=getip //获取客户端IP( d8 O" W3 @3 O6 X; e) ?0 Y
http://api.moeredir.site:88/api?act=reg&token=123456&mrid=baidu&type=redir&url=http://www.baidu.com//注册一条到百度的重定向,用http://baidu.moeredir.site:88访问9 W  W# i  V5 q- L+ ]
http://api.moeredir.site:88/api?act=del&token=123456&mrid=baidu: i. e  e" ?* z8 c( r& @
//删除到百度的重定向. t0 ^; P$ m" e+ Z
http://api.moeredir.site:88/api?act=upd&token=123456&mrid=baidu&type=redir&url=http://www.runoob.com! T, g( J7 W+ C; g
//更新到百度的重定向地址为http://www.runoob.com(菜鸟教程), t8 l8 _# P' I2 t  M5 k  H5 v
反向代理示例:/ d$ F7 b! s$ O) ^. _. K% k! o
http://test.moeredir.site:88 //反代了猫盘上的Web Station/ m" z0 Q8 y7 Z" L- F) u, V5 e! F5 n

8 ]0 B( C# Y! a" `; S- k  U3 q2 Q7 ]& u4 C( t

9

主题

974

回帖

2639

积分

中级渣柚V3

积分
2639
发表于 2020-9-21 14:19:46 | 显示全部楼层
厉害了。。支持支持

2

主题

33

回帖

78

积分

初级渣柚V2

积分
78
QQ
发表于 2020-9-22 01:47:10 | 显示全部楼层
支持支持

2

主题

33

回帖

78

积分

初级渣柚V2

积分
78
QQ
发表于 2020-9-22 01:48:07 | 显示全部楼层
等搞懂了,可以搞个docker试试

0

主题

27

回帖

62

积分

初级渣柚V2

积分
62
QQ
发表于 2020-10-8 17:21:32 | 显示全部楼层
学习啊,不错啊

8

主题

80

回帖

4445

积分

管理员

积分
4445
发表于 2020-10-8 18:57:46 | 显示全部楼层
厉害啊。

7

主题

26

回帖

89

积分

初级渣柚V2

积分
89
QQ
发表于 2020-11-24 21:06:56 | 显示全部楼层
大佬你好,我目前也遇到了这个问题,想要通过反向代理来代替端口,不想端口暴露出来,请问应该如何操作?真心求教
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-7-16 09:35 , Processed in 0.058467 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表