|
本帖最后由 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
|
|