拯救pan.ezdial.cn的个人存储空间-frp内网穿透域名解析和DNS域名重定向

开题:

以往的文章很多开源方案,代码分享都是在我自建的家庭NAS上存放,一直以来用的frp基础的freefrp.net提供的内网免费服务,在以前的文中也过介绍,最近好像在转成VIP收费,使得免费服务难用而且中断。下面是我想到的临时应急方案。

探秘

找了几个免费的穿透服务,基本上是要备案和一些乱七八糟的操作的,后来转到了afrp.net,这个服务商有个特点和freefrp.net使用同一客户端,也就是官方的fprc就行。配置文件几乎完全兼容。唯一不同的是,好像不能绑定自己的域名。在说明中指定了它的子域。联系不上它的管理员,所以目前在用的子域是 wjcpan.us.frps.uk.后期由于各种原因,有可能转其它子域,也就是切换其它的服务器。
这带来一个问题,文章中的存储失效,因此 在想着怎么重定向域名。今天一直在解决这个问题。现在

定向

把几个可行方案和最终方案提供一下(前提是基于cloudflare):
1、以前转到了cloudflare,这防止了国内乱七八糟的各种限制,而且目前我使用非加密传输也省了不少事。hugo.ezdial.cn是cloudflare上的page+github的仓库,做成的一个hugo的静态网站,年久失修。但是如果新建一个站点结合静态页面+跳转,应该可以解决pan.ezdail.cn切换域名的问题。但是这个方案我中止了。原因是嫌麻烦,兼容性差,不灵活(国内有些地方上不去的吧)。
2、cloudfalre中还有work可以实现反向代理,https://sobaigu.com/proxy-site-with-cloudflare.html 这我测试了一下,好像在内地挺受限制的,而且关于page部分,我也不知道怎么用,主要是这样的机制对于性能损耗我基本不可接受,必竟都是免费的,它慢。
3、page可以在index中使用iframe标签实现隐式重定向到新的域名

重定向

先在frpc中配置好http方式,并使用一个可用的subdomain。如我的wjcpan

[common]
server_addr = us.afrp.net
#服务提供商提供的 frp 服务器 IP 地址或者域名地址
server_port = 7000
#服务提供商提供的 frp 服务端口号
token = afrps.cn
#服务提供商提供的密码
log_file = /tmp/frps.log
log_level = info
log_max_days = 3

[Afrps.us.frps.uk.http]
# 为避免错误,一定要更改名称,推荐使用[用户名.网址.协议].
type = http
# http协议
local_ip = 192.168.8.5
# 需穿透的设备内网IP.
local_port = 5000
# 群晖内网HTTP端口,默认为5000.
 
subdomain = wjcpan

运行frpc -c frpc.ini
选用一种合适的方式运行就行,我用的是openwrt下的luci-app-frpc,
如果出错可以查看/tmp/frpc.log的内容。
这种情况下测试http://wjcpan.us.frps.uk是通的,

最后配置重定向,具体位置在dns解析里没找到,但是域名管理的规则下有重定向规则,而且有一个是动态重定向,这样能把以前的path访问地址带过来。
过滤就是主机名,规则用动态

concat("http://wjcpan.us.frps.uk", http.request.uri)

Cloudflare redirect rules with dynamic expressions
直找转到可用的当前网址。
好了,这中间排除了一个小障碍,因为前期我的泛域名*指向了个因定IP,造成子域不太能请求到转向这一步,所以我加入一条TXT的子域给pan.ezdial.cn这样在请求过程中,cloudflare就给出了301重定向相应的path,使用了新的域名。具备了双域名可访问的条件。
上图在这里插入图片描述

至此问题解决完毕。

端口变更

除了转发,单一域名可以使用cloudflare 端口变更+frpc的tcp透传完成。在服务端可进行ssl的证书加密。实现去除端口号的目的。
在cloudflare,规则中有个 Origin Rules,其有有个变更端口去向,据我所测需要CNAME中记录中打开代理,指向目标frps的域名如afrp.net的某个服务器,并且使用tcp的映射,也就是直接指到端口。这样就打开了自有域名的80 /443端口,且指向自己内网的https服务。clash我的另一项加密服务。这样做有个好处,在微信中不会再有烦人的提示。而且域名就固定下来了,体验好过跳转。使用cloudflare重写端口
1、运行frpc定义tcp转发,定义配置文件frpc.ini如下

[common]
server_addr = us.afrp.net
#服务提供商提供的 frp 服务器 IP 地址或者域名地址
server_port = 7000
#服务提供商提供的 frp 服务端口号
token = afrps.cn
#服务提供商提供的密码
log_file = /tmp/frps.log
log_level = info
log_max_days = 3

[tcp_ezdial_cn_http]
type=tcp
local_ip=192.168.1.211
local_port=8000
remote_port=28600  

启动frpc

frpc -c frpc.ini

会出现不建议使用,怎奈afrp.net的官网说的是ini格式。
下面用https://us.afrp.net:28600 访问自己的服务,http,https视自己的服务而定,不太想给frpc套上证书。如果这一步没问题。
2、在cloudflare域名面板,添加dns解析cname,nnps.ezdial.cn 到us.afrp.net
在这里插入图片描述
在规则中设置Origin Rules,过滤规则主机名nnps.ezdail.cn,端口转发28600
在这里插入图片描述
以上完成后大约需要十分钟生效。对于不长期使用的服务,可以一试。长期使用,各方面还是收费版本吧。并且域名要经过正规备案才可提供服务。不要用于非法用途。

题外话

上个彩蛋,最近在帮助朋友找iptv的订阅地址,好像github有多个m2u8的文件,某些服务商又不让用,所以我就不定期,用在tvbox/sou下面。这样,就能给tvbox设定直播源了。直接用我的域名就行。我还放上了个离线包。http://wjcpan.us.frps.uk/nasone/tvbox/sou/tvboxqq.zip
假如有点耐心,这里面有非富的开车视频,我也纳闷了,这都是什么操作、
因为有十几个点播一址,上百个采集点,造成一种神经错乱一样的感觉,好在目前可用。结合那个绿鸟的软件效果挺好。http://wjcpan.us.frps.uk/nasone/tvbox/%E8%9C%82%E8%9C%9C2.07ys.apk
http://wjcpan.us.frps.uk/nasone/tvbox/com.fongmi.android.tv.210.apk
最主要的,我的老乐视破解版是4.0的安卓内核,只有它能好好兼容。
离线的使用的是,上传电视后解压,指定某个文件。这里算是跑题了。到此束这个久别的更新。

第二附加产品

因为以前的固定地址停机,把aria2的远程下载也透传到afrp.net 有点跑题,暂作记录.现在提供连个aria2NG的index单文件,之所以自己用自己的,一个是简单一个自己掌控,停和启动自己知道.其中一个https的放在 cloudflare的page下. 用了旧有的子域名. https://a.ezdial.cn/
另一个放在家用openwrt路由的www/static目录.afrp直接用http访问,透传,路径限制在static,感觉不是多么安全. 好在是跑在NAS的虚拟机里的.地址是 http://fc.ezdial.cn./static 这样连个配置是因为page无法强制http.而我人openwrt 无法https.
感觉只要有http就够了…另外要看这个afrp.net能够免费多久.不得而知了.
要是有一个自己的外网主机,就可以随便用了. 同样会有流量和带宽的限制的吧.

猜你喜欢

转载自blog.csdn.net/wjcroom/article/details/140171225