树莓派搭建哔哩漫游解析服务器
用树莓派搭建哔哩漫游服务器
准备:
- 懂得提问过程的脑子
- 会用搜索引擎的手
- 耐心
- 树莓派(或其他能长时间运行的计算机)
- 魔法
- 域名
- 一点点Linux知识
第一步
准备工作
域名:有许多免费申请域名的方法,Bing搜索都有,这里不再赘述,不过比起免费还是建议去购买域名,一年最多就几十块,不算很贵
树莓派:这里我安装了Ubuntu 22.04.1 LTS,下文的许多指令不确定在Ubuntu以外的操作系统有效,尽情留意
魔法:懂的都懂,没有的可以散伙了,建议用付费的,比较稳定,详细的我也不敢说,我怕备案掉了,不过后文的配置文件会提一嘴
第二步
环境搭建
Go编译器安装
我们在这里采用手动安装的方式,因为不确定apt是否能安装到最新的稳定版本
先从此处找到合适的软件包(因为是树莓派所以选择linux-arm64),右键复制链接
wget <下载网址> && tar -C /usr/local -xzf <下载文件名>
如果下载慢或无法下载,请使用魔法或者使用此处镜像(本人不保证该资源安全,请自行校验或选择可信镜像站)
然后编辑/etc/environment
,在path变量后加上/usr/local/go/bin
最后执行go version
,如果是类似以下的输出结果则为安装成功
go version go1.19.4 linux/arm64
安装PostgreSQL[1]
一行命令
apt-get install postgresql postgresql-client
装完后进入PostgreSQL
psql -h localhost -p 5432 -U postgres
如果显示类似如下错误信息:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "root" does not exist
请使用以下指令再试一遍:
sudo -u postgres psql -h localhost -p 5432 -U postgres
修改登录密码(password112233修改为你喜欢的任意字符)
ALTER USER postgres WITH PASSWORD 'password112233';
创建并进入数据库
CREATE DATABASE bili;
\c bili;
初始化数据库,复制这个页面内所有内容后粘贴即可(请务必进行这一步,否则后续可能报错)
如果解析服务器搭建后你想查看使用的用户详情的话建议你安装一个pgadmin4
使用docker安装会比较舒服,同时还推荐一个家庭云管理,说是家庭云,其实就像一个小型的docker容器可视化管理器
sock5端口的建立
这是关于魔法的部分,如果没有魔法请自行离开
使用某ray软件,配置文件[2]仅供参考
{
"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"
},
{
"listen": "127.0.0.1",
"port": 7467,
"protocol": "socks",
"setting": {
"auth": "noauth",
"udp": true
},
"tag": "goth"
}
],
"outbounds": [
{ //Paste your TW config here
"protocol": "trojan",
"settings": {
"servers": [
{
"address": "",
"port": ,
"password": ""
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls"
},
"tag": "taiwan"
},
{ //Paste your HK config here
"protocol": "trojan",
"settings": {
"servers": [
{
"address": "",
"port": ,
"password": ""
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls"
},
"tag": "hongkong"
},
{ //Paste your TH config here
"protocol": "trojan",
"settings": {
"servers": [
{
"address": "",
"port": ,
"password": ""
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls"
},
"tag": "thailand"
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"inboundTag": [
"gotw"
],
"outboundTag": "taiwan"
},
{
"type": "field",
"inboundTag": [
"gohk"
],
"outboundTag": "hongkong"
},
{
"type": "field",
"inboundTag": [
"goth"
],
"outboundTag": "thailand"
}
]
}
}
内网穿透
使用ddns也可以,只要你有方法使你的网站能在外网被访问就可以
这里使用的是Sakura frp
你也可以使用其他内网穿透服务,详情请自行搜索
注册账号等不再赘述
新建隧道,选择可建站的节点
注意:海外节点可能被墙无法访问,国内节点需要域名备案,请理清需求条件后再使用,否则请使用其他内网穿透服务
除了节点选择以外按照下图进行设置(建议在网络低峰期新建,因为高峰期节点满载就禁止新建了):
在此处下载客户端并上传至服务器
选择Linux-arm64
在用户信息处复制访问密钥登陆,然后选中隧道继续就可以了
之后可以用文末的方式进程保留在后台
(ps:目前比较好用的免费穿透服务我知道的就这一家,如果有推荐的更好的免费穿透服务的话建议在下面发出来,我很需要)
宝塔面板安装
非必要步骤,如果你了解Nginx配置和免费证书申请等网站搭建基本步骤请优先使用你的方法(因为宝塔安装Nginx太慢了,我用它纯纯是因为我是懒狗)
如果你对宝塔有意见的话可以试试mdserver-web,或者手动搭建Nginx服务和手动申请证书
因为写这篇文章的时候我已经用上宝塔了,所以文中就用宝塔进行演示了
此处复制粘贴指令即可
安装完后通过浏览器访问面板,提示lnmp安装的话只需要安装Nginx就可以了,由于是编译安装,所以时间可能比较久,你可以先干其他事
安装完成后新建站点,域名填你使用的域名,申请证书的部分网上也有步骤,我是懒狗懒得再复述一遍了
第三步
哔哩漫游goserver安装
mkdir biliroaming && cd biliroaming
新建和进入目录后克隆库
git clone https://github.com/JasonKhew96/biliroaming-go-server
如果下载缓慢或遇到其他网络问题,建议使用ghproxy的加速服务
git clone https://ghproxy.com/https://github.com/JasonKhew96/biliroaming-go-server
配置文件的编写[3]
参考此处
第4行因为要用反代,所以填个合适的端口就行
第68-73行根据某ray软件来编写,如果列表里有,注释掉你的树莓派所在地,及你没有的地区魔法
最后到第103行,host后改为127.0.0.1,password改为设定的密码的同时取消注释,并把passwordFile注释掉,dbName改为bili,至此改完并保存。
运行!
对于国内服务器,先执行
`export GOPROXY=https://goproxy.io,direct`
接着执行
go run .
若无报错则说明正常(Ctrl-C退出),若有报错请自行检查是否有遗漏。
运行后进入宝塔面板,进入网站新建反向代理,目标url填http://127.0.0.1:<端口号>
后台运行
没什么问题后就进入后台运行
使用screen,没有screen就装一个
使用
screen -S <终端名>
选择合适的终端名有利于出现问题时方便排查
进入后再次运行各个项目,然后Ctrl-A-D退出
恢复则使用
screen -r <终端名>
补充
如果你想要同时搭建网页请在biliroaming/html/
目录下放置你的网页文件
不知是否支持动态网页,请自行实验
总结
你可以看看我建的
以上,如果有疑问的话欢迎留言
引用自 Yukie-记录一下哔哩漫游GO版搭建流程
因为我懒得再写一遍,就直接复制粘贴了
有稍作修改 ↩︎参考同上博客,有稍作修改 ↩︎
部分参考同上 ↩︎