前言
其实以前很早在nginx上做了简单反代,但是随着需求的不断提升,以及为了改善使用体验等众多因素,重新搭建了一次功能更全的GO版(项目地址:https://github.com/JasonKhew96/biliroaming-go-server),同时感谢大佬们的奉献。在搭建GO版漫游的时候发现GO版支持直接使用socks5代理,相较于nginx版本来说简单了不少,就顺手记录一下搭建过程,顺便写一写踩到的坑。
准备工作
由于GO版能直接使用SOCKS5代理,因此我们只需要1台小鸡,1个域名,以及所需解锁的线路即可。
本文环境为ubuntu 18,如果您使用了相同或更高版本的ubuntu或者debian,可以直接复制粘贴。
正文
GO的安装
由于我的操作系统是ubuntu 18,如果直接使用apt-get install golang
命令则会安装go1.10版,然而该版本早就停止支持,很多操作都不支持,因此我们直接安装最新版。
参考官方安装说明,直接两行命令搞定
wget https://go.dev/dl/go1.18.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
接着输入go version
,提示如下则正常
go version go1.18 linux/amd64
sock5端口的建立
因为我很懒,所以直接用了某ray,配置文件仅供参考。
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "127.0.0.1",
"port": 7465,
"protocol": "socks",
"setting": {
"auth": "noauth",
"udp": true
},
"tag": "gotw"
},
{
"listen": "127.0.0.1",
"port": 7466,
"protocol": "socks",
"setting": {
"auth": "noauth",
"udp": true
},
"tag": "gohk"
}
],
"outbounds": [
{ //Paste your TW config here
"tag": "taiwan"
},
{ //Paste your HK config here
"tag": "hongkong"
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"inboundTag": [
"gotw"
],
"outboundTag": "taiwan"
},
{
"type": "field",
"inboundTag": [
"gohk"
],
"outboundTag": "hongkong"
}
]
}
}
安装PostgreSQL
一行命令
apt-get install postgresql postgresql-client
装完后进入PostgreSQL
psql -h localhost -p 5432 -U postgres
修改登录密码(password112233修改为你喜欢的任意字符)
ALTER USER postgres WITH PASSWORD 'password112233';
创建并进入数据库
CREATE DATABASE bili;
\c bili;
初始化数据库,复制这个页面内所有内容后粘贴即可(非必要,若哔哩漫游运行出错时再进行本步骤)
下载哔哩漫游GO版
没啥好说的,选好目录后用git直接下载
git clone https://github.com/JasonKhew96/biliroaming-go-server
国内服务器可以用一下ghproxy的加速服务
git clone https://ghproxy.com/https://github.com/JasonKhew96/biliroaming-go-server
为了方便后文描述,在此我把所有文件下载到了/home/biliroaming
修改配置文件
首先进入cd /home/biliroaming
,拷贝一份配置文件进行修改cp config.example.yml config.yml
首先是第4行的端口,因为我用nginx反代,所以改成任意我喜欢的端口,take 23333 for example.
接着第56-59行,如果你的服务器恰巧位于cn/tw/hk/th的任一位置,则直接把对应服务器位置的该行注释掉,同时由于我也没有th的线路,因此我顺手把th也注释掉,对于剩下的地点则按照设置的socks5端口填写。
最后到第90行,host后改为127.0.0.1,password改为设定的密码的同时取消注释,并把passwordFile注释掉,dbName改为bili,至此改完并保存。
运行测试
进入/home/biliroaming
对于国内服务器,先执行
export GOPROXY=https://goproxy.io,direct
接着执行
go run .
若无报错则说明正常(Ctrl-C退出),若有报错请自行检查是否有遗漏。
后台运行
github项目页给了三种思路,一是用systemd,二是screen,三是nohup。
正如上文所述,我懒得一匹,所以我用screen。
没装screen的用命令一把梭apt-get install screen -y
,安装完后直接执行下面命令
screen -S biliroaming
cd /home/biliroaming
go run .
没有问题则Ctrl-A-D退出
NGINX反代
这个没啥好说的,如果你是用的军哥的一键脚本(只需使用nginx,php和MySQL可以不装),那就直接执行lnmp vhost add
,输入域名和对应参数即可,顺便申请好证书。
接着进入设置vim /usr/local/nginx/conf/vhost/<span style="color: #ff0000;">xxxx</span>.conf
,在最后一个花括号前添加如下内容即可
location / {
proxy_pass http://127.0.0.1:23333;
}
最后重启nginx,一切搞定。
结语
测试站点:bili.eaglemoe.com
文章评论