filebrowser一直是自己比较喜欢的一个云盘程序,使用Go语言编写,全平台支持,界面美观,部署简单迅速。官方于2018年9月宣布由于缺少人手“不再积极开发”。
Github上的filebrowser
如有乐享对filebrowser的介绍
起因
自己使用云服务器编译Openwrt固件后,有时需要给朋友分享刚编译的固件,使用QQ发文件的方式太麻烦,就在编译Openwrt固件的服务器上也运行了一个filebrowser,使用80端口,新建一个公共用户root,只授予读权限,主目录指向Openwrt编译完成默认固件生成目录,以后将账号密码交给朋友即可。结果这招致了一堆脚本爬虫对80端口的尝试,任何时间登陆后台执行netstat -antp | grep 80|grep ESTABLISHED|wc -l
能统计400+
自己也感觉困惑,初次部署后就将默认的管理员admin密码设置为随机字符组合自己也忘了。公共账号root的密码是弱密码admin。不是很懂为什么会招致大堆脚本爬虫,没有机密文件也就没在意。
瞎折腾
闲的没事开始折腾
- 申请密钥
先去谷歌相关页面申请秘钥,十分方便。填入自己网站域名—>reCAPTCHA版本选V2—>接受条款、提交即可,如下图:
理论上傻瓜式操作,立刻得到两个密钥:
- 设置filebrowser
这里注意,根据filebrowser下的issues所报告的,你应该使用2019-05之后的版本,否则下列命令很可能出现无效的情况。
然而,根据该issues所言,暂时也无法在config.json中设置reCAPTCHA。但config.json中似乎有与此相关的参数,如果删掉config.json中相关参数,即使命令设置了也依旧不会生效,因此推荐保留config.json中与reCaptcha有关的两个参数。
在shell中执行格式如下的命令
./filebrowser config set --recaptcha.key=First --recaptcha.secret=Second
其中First处 填写你获取到的“网站密钥”,Second处 填写你获取到的“密钥”。而后回车运行,打印出来具体配置内容。确保你填写的两个密钥成功显示在配置里即可。
这里需要注意一点,配置文件中recaptcha设置项中的默认的host由于特殊性无法在国内使用,须在shell中再执行格式如下的命令,详情参见filebrowser下的issues
./filebrowser config set --recaptcha.host http://recaptcha.net
效果图
小声嘀咕
此外还初步尝试了下CloudFlare,提升还是很明显,在想给Filebrowser配置Https时,似乎单程序模式运行似乎不能配置https,参考链接。必须借助Cadd或nginx进行转发,有时间再好好折腾下转发上https吧。
写完发现跑题了,好吧,其实出发点不是防脚本爬虫扫描,说是练手学习可能更恰当。