前段时间我写了个 Goflyway 进阶教程:免费域名+免费CDN+HTTP伪装=被墙的IP继续做代理 教程,当时是考虑到很多人的代理服务器IP被墙,所以才介绍大家这样搞。但是套CDN这种方式缺陷很明显,就是大部分人使用起来都是减速的。。。
所以本文章就把 HTTP伪装 单独摘出来介绍说明,同时说一下如果在服务器搭建一个HTTP网站,然后让这个网站变成HTTP伪装网站。
当你访问你的IP或域名时,会显示HTTP网站,当你用 Goflyway 客户端链接时,会建立代理。
注意:该教程仅适用于没有被墙IP的服务器,主要是降低使用 Goflyway 时的被墙几率。
其他 Goflyway 教程请看:https://doub.io/tag/goflyway/
原理说明
依靠 Goflyway 服务端的HTTP反向代理功能,我们上个文章只介绍了反向代理别人网站的配置,今天主要介绍自己在服务器上面建一个HTTP网站,然后让 Goflyway 服务端反向代理这个网站(例如:http://127.0.0.1:8080)。
反向代理别人的网站也有缺点,比如:
- 你需要找个纯HTTP的网站,因为现在SSL证书的普及,导致这就很麻烦;
- 其次你找的HTTP网站还不能引用太多的外链(图片、CDN)之类的,否则网页会显示不正常;
- 最后如果你反向代理较为出名的网站,这样反而会成为特征,因为你的域名与该网站内容的真实域名明显不对应。
而如果我们自己建立一个简单的HTTP网站,那么这些都不是问题了:
- 你可以什么网页文件都不放,只放一些大点的文件,形成一种目录列表程序下载文件的网站。
- 你也可以去网上找一些 HTML网站模板,然后简单改改放上去即可伪装成一个正常一点的网站。
- 又或者你可以去别人的网站右键另存为 xxx.html 文件并改名为 index.html ,然后上传上去也行。
总归这样玩更多样化更自定义,避免了大家都是一个样的尴尬和特征。
域名相关
尽管不需要域名也可以做下去,但是我还是建议搞个域名来做,毕竟这样真实一点。
如果你已经有了域名跳过这一步,如果你还没有,那么可以去随便申请个免费域名:教你申请.tk/.ml/.cf/.gq/.ga等免费域名
申请域名后配置好域名DNS解析,不需要套CDN什么的。
注意:免费域名有可能会被收回,如果想要稳定,可以随便买个便宜域名,几美元一年的域名很多,建议海外购买域名(例如 namecheap)。
HTTP网站配置
正如前面 原理说明 的那样,你可以准备几个大点的文件(多一点好些),或者网上找个HTML模板改改,或者去别人网站另存为本地 index.html 文件。
准备好这些后,我们就需要搭建 HTTP服务了,这里我用的是 Caddy ,如果你用其他的例如 Nginx Apache 都可以的。
安装 Caddy
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
安装 Caddy 成功后,继续新建一个用于使用的虚拟主机文件夹,例如 goflyway(可以自己改):
mkdir /home/www/ && mkdir /home/www/goflyway
然后你无论是用 SFTP 还是其他方式,只要把你准备的文件上传到 /home/www/goflyway
文件夹即可(如果是网页文件请确保 /home/www/goflyway/index.html
文件存在)。
配置 Caddy
然后我们还需要写入 Caddy 配置:
# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行! # :8080 指的是监听 0.0.0.0:8080 。 # /home/www/goflyway/ 这是虚拟主机文件夹,如果不一样请修改 echo ":8080 { root /home/www/goflyway/ timeouts none gzip }" > /usr/local/caddy/Caddyfile
这里我们并不需要配置域名,直接绑定 IP 就行,8080是端口,可以随意改,不建议与我一样。
如果你想要做成目录列表程序下载网站,那么请看下面这种示例:
启动 Caddy
最后就是启动 Caddy 了:
/etc/init.d/caddy start
如果启动失败,请检查日志: cat /tmp/caddy.log
并在下面评论里告诉我。
如果启动成功,那么请访问 http://你VPS的IP:8080 看看是否能看到你的网站内容,如果没有请检查上面的步骤,如果有就继续。
Goflyway 服务端配置
服务端配置就简单了,以我的 Goflyway 服务端一键脚本为例,如果是第一次安装,那么安装的时候伪装域名处直接填写 http://127.0.0.1:8080
即可。
如果是已经安装过的,请 运行脚本 - 7.设置 GoFlyway 账号 - 4.修改 伪装配置(该功能请确保脚本是 v1.0.5版本以后)来修改伪装域名配置。
另外,建议 Goflyway 服务端使用 80 端口,这样效果最好。
修改成功并重启服务端后,我们前面配置好的域名DNS解析也应该生效了。
这时候我们访问你配置的域名:http://你的域名/ 应该就能看到访问 http://你VPS的IP:8080 时看到的网站内容了。
至于客户端,照常使用,不过服务器IP处要填写你的域名。
另外突然想起来 Goflyawy 还支持 WebSocket ,那么我感觉我可以稍后研究一下,下次可能会单独写个 WebSocket 配置教程。
转载请超链接注明:逗比根据地 » GoFlyway 进阶教程:代理服务器自定义搭建HTTP伪装网站,降低被墙几率
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
443是标准的 HTTPS 端口,但是不代表你不用 443 就不能用SSL证书了。
不过你要靠 Caddy 自动申请SSL证书,需要 80 端口是空闲的,这是申请证书需要的必要验证条件。
至于 HTTPS 端口,你可以在 Caddy 的域名配置后面加上 :8080 这样的端口号即可。 不过,Goflyway 是HTTP伪装,你不能搞 HTTPS 网站。
caddy 支持 多域名配置,caddy 要卸载,只需要把安装代码里的 install 改成 uninstall 即可。
运行下面代码创建一个空的配置文件(否则卸载报错),然后卸载 Goflyway ,升级脚本,再安装 Goflyway 。
首先你查看日志
cat /tmp/caddy.log
看看你重启服务器时是否有日志输出,看看是不是启动了但是因为什么原因而启动失败?另外使用
netstat -lntp
看一下是否有其他的程序占用了 80端口(并且还是开机自启动,例如很多系统自带 apache2 nginx)。有兴趣可以去 Telegram群组(TG使用教程)私聊联系我讨论。
mkdir /home/www/goflyway
。Goflyway Tools 则也有开机启动功能,不过可能需要以管理员方式启动才能设置(添加注册表)
安装 Goflyway 后,会下载并注册系统服务,并默认配置开机启动。
特别是像 SSR 这种对CPU要求高(主要是协议和加密方式的原因),往往你的服务器宽带没跑满,但是CPU性能造成了瓶颈,导致速度上不去,不过不同代理软件对CPU和内存的占用都不同,Brook Goflyway V2ray 这类可能是因为用了 Golang 的原因,对CPU和内存都占用特别低,反正我分享的免费账号,以前是SSR,老是动不动80-100%的,现在换成Brook Goflyway免费账号,平时都是 10%以下,内存就更别提了,都感觉不到了。。。