青龙面板搭建
服务器:1c2g25g,NAT ipv6
准备:CF代理的域名并解析到服务器ipv6
1、Docker安装
curl -fsSL https://get.docker.com | bash启动并设置开启自启
systemctl start docker
systemctl enable docker
systemctl status docker
2、安装青龙面板
docker run -dit \
# 挂载卷,将宿主机的 /root/ql/data 目录映射到容器内的 /ql/data
-v /root/ql/data:/ql/data \
# host 模式让容器共享宿主机的网络命名空间
--net=host \
-e QlBaseUrl="/" \
-e QlPort="2052" \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:latest3、安装socat
socat 可以把从 IPv6 进来的流量转发给 IPv4 的青龙面板。这是解决 Host 模式下应用不支持 IPv6 的方法。
①安装:apt update && apt install socat -y
②编辑配置文件:
cat > /etc/systemd/system/ql-ipv6-bridge.service <<EOF
[Unit]
Description=IPv6 to IPv4 Bridge for Qinglong
After=network.target
[Service]
Type=simple
# 核心修改: 增加了 ipv6only=1 参数
ExecStart=/usr/bin/socat TCP6-LISTEN:2052,ipv6only=1,fork,reuseaddr TCP4:127.0.0.1:2052
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF③加载并启动:
apt update && apt install socat -y
systemctl enable --now ql-ipv6-bridge
systemctl status ql-ipv6-bridge
④检查端口监听:
ss -tulpn | grep 2052
应该能看到两行:一行是 Docker 的 0.0.0.0:2052,另一行是 socat 的 [::]:2052
4、常用依赖
NodoJS
request
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios
momentPython3
requests
canvas
ping3
jieba
PyExecJS
aiohttpLinux