|
|
本帖最后由 code666 于 2020-9-21 13:54 编辑 $ e0 A% e: Q8 F! {; ^- I9 ]$ z. P
% n3 K" C; y5 _$ U( {引言
2 n8 Q: i6 U: X! B6 j 一直以来给家里和单位的群晖NAS用的都是QC+DDNS方案,也通过URL转址解决了家宽公网没有80端口的痛点(可以不加端口号访问带端口的地址),可惜由于DDNS更新存在延迟和URL转址需要进入域名提供商的网页控制台进行增加和修改,另外这个功能只能为域名所有者使用,没法做到域名共享,实在是不太方便,于是在闲暇之余,我开发了这个MoeRedirect解决了以上痛点,并增加了一些激动人心的新功能。
3 g0 t/ W/ [, M$ T; Y关于MoeRedirect1 ]. v5 x, ]" v* k) L7 m6 U
MoeRedirect(个人版)基于GO编写,支持跨平台,几乎可以覆盖所有设备,目前已编译了mipsel,arm64,amd64架构的可执行文件,可以运行在路由器,NAS或其他设备上,没有采用数据库而是采用JSON格式在本地保存数据,这是考虑到个人需要转址的条目并不多,默认端口号88。MoeRedirect提供了api,可以实时增删改相关转址信息,也可以返回客户端ip。MoeRedirect实现了2大功能,重定向(转址)和反向代理。重定向基于泛解析,根据二级域名重定向至目标地址,反向代理目前暂不支持https,可以反代本机和内网任何设备端口,于是达到了隐藏了暴露在公网的端口的目的。
& L2 q6 e- {$ c( C: f" U d使用:
0 f8 p7 Z; X5 z4 d; A* } 目前MoeRedirect(个人版)还在测试阶段,有些需要的脚本也没写,但也向大家开放了测试,服务搭建在猫盘上,因为没有80端口,暂时只能用88端口将就着了。反向代理api暂不开放,怕内网被搞.7 d. {+ u9 G* o% t' [
API:
1 S1 N2 d# x3 t9 R' X" ahttp://api.moeredir.site:88/api?act=[reg][del][upd][getip]&token=123456&mrid=xxx&type=redir&url=[http://xxx][https://xxx]
' o- @+ v8 T2 V- ?$ I1 b* Aapi说明:act中reg为注册二级域名记录,del为删除二级域名记录,upd为更新现有二级域名记录,getip为获取客户端IP
. n+ Y5 |4 R+ etoken在act=getip时可不加,其他都需要加
7 B K1 j. m8 u, s1 z) [" Ymrid为MoeRedirect ID缩写,等同于二级域名,例如mrid设置为test时,即用test.moeredir.site:88访问
; v2 _% @; l* B# P6 I: G. `6 J3 M1 `url填写重定向目标地址,地址中必须带上http://或https://! i; f' O: e( ^/ p, y* v' Q, t
API使用示例:
5 m- f. K0 J, ^ a- L# @1 h; ~' x$ `http://api.moeredir.site:88/api?act=getip //获取客户端IP5 W5 s4 X& L' ~7 N6 B" j
http://api.moeredir.site:88/api?act=reg&token=123456&mrid=baidu&type=redir&url=http://www.baidu.com//注册一条到百度的重定向,用http://baidu.moeredir.site:88访问( J/ D% r! ?8 {. B3 \9 I8 v
http://api.moeredir.site:88/api?act=del&token=123456&mrid=baidu
, R" p# q: G$ W3 _//删除到百度的重定向: d+ X$ D. x$ L! o, N
http://api.moeredir.site:88/api?act=upd&token=123456&mrid=baidu&type=redir&url=http://www.runoob.com K/ E' g0 ^+ X/ N
//更新到百度的重定向地址为http://www.runoob.com(菜鸟教程)0 t' x, f: r! C. H" x1 W
反向代理示例:5 _& m G# L' A4 f' m
http://test.moeredir.site:88 //反代了猫盘上的Web Station* I1 C/ W q. W, [5 O, X% v+ u3 P
O k0 Y# g V
& B: p) l3 m( P" q |
|