开发完成了网站的自动同步功能,写一些建站的那些小事
几年前写了几篇如何在路由器上自建博客的文章,现在这篇文章主要是为以前的文章做补充总结和说明,鉴于一些朋友对这很有兴趣,所以要讲一下为什么用以前文章写的方式现在无法成功
在443端口未被封的时候怎么弄的
当时那还是个广东电信未封443端口的年代,甚至更早的年代80端口都是开放的,拿到域名的DV证书再加上用DDNS和URL跳转是可以方便的利用上行宽带来比较稳定的运行一个网站的。但是,这样开443端口或者非标端口来运行一个网站,是有风险的,具体的风险点我见过比较有用的讨论如下:
当然,我在广东并没有遇到他人讨论的各种情景,所以用这样的方式,我的博客运行了快3年的时间,但是终于在2020年1月15号早上8点半的样子,广东电信对443端口痛下杀手,事已至此,这条路是走不通了,当然非标端口我没试也不想试,一样有上面讨论的风险点。
现在是怎么弄的
现在暴露标准端口建站的路是走不通了,那么现实的解决方案是找个公网的机器做内网穿透,frp就是这种非常好用的软件,同样可以跨各种平台编译,另外网上也有一些免费的frp代理服务,可以搜索找一找,我就不打广告了。通过frp,把我们的80和443端口代理到公网上,就可以正常访问了。但是这样的方式带宽是有限的,而且有时候也不一定很稳定。
关于路由器建站的问题
我这个博客网站最早是运行在极路由上,程序都是用go编译的mipsle版本,后面跑在刷了机小米路由青春版和树莓派上,这些设备运行起来稍慢,但都是很稳定正常的,路由这东西毕竟cpu性能孱弱,如果一定想这么跑建议最好是运行在一个旁路由上以防延时影响家里正常上网,现在一般在售的路由都是不带USB不能开SSH的,这是一大问题限制了路由的可玩性,用旁路由如果图便宜可以淘一些以前可开SSH带USB二手的便宜货,当然比较高端一点的路由比如华硕基本上都是可以的。一般如果网站访问量不大,用路由一天扛几万的PV值是不成问题的。
华硕的中高端路由大部分是可以开SSH和挂载移动硬盘的,CPU大部分用的是ARM核,但是又缺失vpf协处理器,所以编译华硕路由的go代码要预设一下环境变量,用低版本的ARM指令才可能运行的起来,GOARM=5 GOOS=linux GOARCH=arm CGO_ENABLED=0
理想的运行环境处理性能至少得在树莓派3B以上,PI也确实是一个非常好的嵌入式linux环境,当然如果能有一台nas或者htpc就更棒了,这也是我的博客目前的运行硬件环境。
关于自动同步功能
目前我已经开发完成了依赖坚果云的webdav的服务的完整的自动同步,也就是增删改功能都完美运行,主要是开发了一个webdav的基于时间戳同步工具,一个转换md文件的matter头工具,再用脚本做一个粘合功能轮循执行,等一切运行稳定,这些代码晚点我会考虑开源的。