如何搭建私人上網節點
前期准备
- 一台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文件夾,這個就是證書的存放目錄。
然後根據提示,輸入我們提前準備好的域名(我們輸入泛域名:即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
