如何搭建私人上網節點
前期准备
- 一台VPS(境外服务器)
- 一个域名
搭建上网节点
1、V2ray
系统支持:Ubuntu,Debian,CentOS,推荐使用 Ubuntu 22,谨慎使用 CentOS,脚本可能无法正常运行!
执行如下命令:
bash <(wget -qO- -o- https://git.io/v2ray.sh)
安装完成后,输入 v2ray 就能看到管理面板
V2Ray 脚本简化了很多流程,例如我们常用的是 (添加、更改、查看、删除) 配置,以下内容让你可以快速掌握使用
添加配置:
-
v2ray add -> 添加配置
-
v2ray add ss -> 添加一个 Shadowsocks 配置
-
v2ray add tcp -> 添加一个 VMess-TCP 配置
*v2ray add kcpd -> 添加一个 VMess-mKCP-dynamic-port 动态端口配置
备注,使用 v2ray add 添加配置的时候,仅 *TLS 相关协议配置必须提供域名,其他均可自动化处理。
更改配置:
-
v2ray change -> 更改配置
-
v2ray change tcp -> 更改 TCP 相关配置
-
v2ray change tcp port auto -> 更改 TCP 相关配置的端口,端口使用自动创建,也可以使用 v2ray port tcp auto
-
v2ray change kcp id auto -> 更改 mKCP 相关配置的 UUID,UUID 使用自动创建,也可以使用 v2ray id tcp auto
甲骨文云关闭防火墙和iptabls
systemctl stop firewalld.service
systemctl disable firewalld.service
service iptables stop
chkconfig iptables off
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
2、X-UI面板
我的主機選擇了Debian10系統,所以下面步驟以Debian/Ubuntu為例,連接主機後分別執行下面命令: 1、更新操作系統
apt update -y
2、 安裝curl
apt install -y curl
3、安裝socat
apt install -y socat
4、安裝BBR加速(慎用)
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
5、安装X-ui面板
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
安裝SSL證書
由於腳本自帶一鍵安裝SSL證書功能,我們只需要輸入:X-UI,在下面選項輸入16即可 然後根據提示,輸入我們提前準備好的域名(我們輸入泛域名:即XXXXX.com,不帶前綴),cloudfare賬戶郵箱,cloudfare的API key,安裝完成後,我們在ROOT目錄下看到一個cert文件夾,這個就是證書的存放目錄。
域名+cer就是公鑰證書 域名+key就是私鑰證書
我們右鍵,選擇復製路徑,把兩個證書的路徑提前保存好
訪問X-UI面板
這時我們就可以通過域名+你自定義端口號來訪問X-ui面板了。但是我在部署好之後,發現無法登錄,這裏要排除你主機防火墻是否開放了你自定義端口,我們在主機輸入:
ufw allow 你的端口號
另外,如果不魔法上網,很大概率連接不上面板的登錄界面,所以先要魔法上網再嘗試登錄。
3、trojan部署
#一键安装/更新
source <(curl -sL https://git.io/trojan-install)
#卸载
source <(curl -sL https://git.io/trojan-install) --remove
docker运行
docker run --name trojan-mariadb --restart=always -p 3306:3306 -v /home/mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=trojan -e MYSQL_ROOT_HOST=% -e MYSQL_DATABASE=trojan -d mariadb:10.2
docker run -it -d --name trojan --net=host --restart=always --privileged jrohy/trojan init
端口和root密码以及持久化目录都可以改成其他的
运行完后进入容器 docker exec -it trojan bash, 然后输入’trojan’即可进行初始化安装
启动web服务: systemctl start trojan-web
设置自启动: systemctl enable trojan-web
更新管理程序: source <(curl -sL https://git.io/trojan-install)
docker 使用教程
安装环境
curl -fsSL https://get.docker.com | sh
sudo apt-install docker-compose
启动环境
systemctl start docker
开机自启动环境
systemctl enable docker
查看docker环境版本
docker --version
删除镜像
docker rmi nginx:latest
查看所有容器
docker ps -a
查看运行的容器
docker ps
启动容器
docker start nginx
暂停容器
docker stop nginx
删除容器
docker rm nginx
强制删除容器
docker rm -f nginx
启动所有容器
docker start $(sudo docker ps -a -q)
暂停所有容器
docker stop $(sudo docker ps -a -q)
暂停所有容器
docker rm -f $(sudo docker ps -a -q)
进入容器
docker exec -it nginx bash
查看容器日志
docker logs nginx
docker部署cloudreve
docker run -d \
--name cloudreve \
-p 5212:5212 \
-v /home/docker/cloudreve/uploads:/cloudreve/uploads \
-v /home/docker/cloudreve/config:/cloudreve/config \
-v /home/docker/cloudreve/db:/cloudreve/db \
-v /home/docker/cloudreve/avatar:/cloudreve/avatar \
-e TZ="Asia/Shanghai" \
--restart always \
xavierniu/cloudreve
docker部署nginx-proxy-manager
nano docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker部署nextweb
docker pull yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY=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 \
-e CODE=919816 \
yidadaa/chatgpt-next-web
docker部署vocechat
docker run -d --restart=always \
-p 3009:3000 \
--name vocechat-server \
-v ~/.vocechat-server/data:/home/docker/vocechat-server/data \
privoce/vocechat-server:latest-arm64 \
--network.frontend_url "https://voce.haobin.org"
version: "3.8"
services:
cloudreve:
container_name: cloudreve
image: cloudreve/cloudreve:latest
restart: unless-stopped
ports:
- "5212:5212"
volumes:
- temp_data:/data
- ./cloudreve/uploads:/cloudreve/uploads
- ./cloudreve/conf.ini:/cloudreve/conf.ini
- ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
- ./cloudreve/avatar:/cloudreve/avatar
depends_on:
- aria2
aria2:
container_name: aria2
image: p3terx/aria2-pro
restart: unless-stopped
environment:
- RPC_SECRET=your_aria_rpc_token
- RPC_PORT=6800
volumes:
- ./aria2/config:/config
- temp_data:/data
volumes:
temp_data:
driver: local
driver_opts:
type: none
device: $PWD/data
o: bind