Sign inSign up

mingertai/ztncui-aio

By mingertai

•Updated over 2 years ago

ZeroTier 1.14.0 ztncui简体中文

Image
4

1.2K

mingertai/ztncui-aio repository overview

⁠ZeroTier 1.14.0 ztncui 简体中文

⁠Golang auto-mkworld(已嵌入 docker 镜像中)此功能允许您在不使用 C 代码和编译器的情况下生成planet文件

🎈 编译时间:2024年02月03日-12点24分

⁠内建支持自动生成moon
使用详情
⁠创建docker-compose.yml文件并拷贝下面粘贴它 初始化容器与激活docker-compose up -d

初始化容器时,根据需要设置AUTOGEN_PLANET环境变量:

强制的变量名解释默认值
noAUTOGEN_PLANET=0默认值AUTOGEN_PLANET=0不执行任何操作0
noAUTOGEN_PLANET=1设置AUTOGEN_PLANET=1自动生成私有planet文件并放入httpfs文件夹以供外部下载0
noAUTOGEN_PLANET=2设置AUTOGEN_PLANET=2自动生成私有planet&moon文件并放入httpfs文件夹以供外部下载0
noAUTOGEN_PLANET=3如果你是多台服务器请设置AUTOGEN_PLANET=3这将使用mkworld.config.json文件0

警告: 如果你是多台服务器请设置`AUTOGEN_PLANET=3 使用mkworld.config.json文件,以便编辑mkworld.config.json

version: '3.1'
services:
  ztncui:
    image: mingertai/ztncui-aio
    container_name: ztncui
    hostname: ztncui
    restart: always
    cap_add:
      - ALL
    devices:
      - /dev/net/tun
    network_mode: bridge
  ports:
    - 3000:3000
    - 3180:3180
    - 4000:4000
    - 9993:9993
    - 9993:9993/udp
  volumes:
    - /home/zerotier/opt/key-networks/ztncui/etc:/opt/key-networks/ztncui/etc
    - /home/zerotier/var/lib/zerotier-one:/var/lib/zerotier-one
    - /home/zerotier/etc/zt-mkworld:/etc/zt-mkworld
  environment:
    - TZ=Asia/Shanghai
    - AUTOGEN_PLANET=0
    - NODE_ENV=production
    - HTTPS_HOST=0.0.0.0
    - HTTPS_PORT=4000
    - HTTP_PORT=3000
    - HTTP_ALL_INTERFACES=yes
    - MYDOMAIN=ztncui.docker.test  # ztncui.docker.test 替换你的域名
    - ZTNCUI_PASSWD=admin
    - MYADDR=你的公网ip
  privileged: true
⁠多台服务器 设置 AUTOGEN_PLANET=3 时,使用下面脚本自动创建planet&moon文件
创建mkworld.config.json脚本,带moon生成
#!/bin/bash
# 把9993替换你本机设置的端口
myport1=9993

# 把239.221.47.23替换你另一台的ip地址
myip2=239.221.47.23

# 把9993替换你另一台设置的端口
myport2=9993

# 替换你另一台的identity数据 注:identity2=后面的数据
identity2=46ea9f8088:0:06a11875324cec9bc41cc5bf932c5b105806feb475c71104bc235c530a3b1472375001a6e7346301f37a1518719b35f8f863382e5d8ab5c89794e708362dfca7

########
# 下面的不用动它
########
myadd2=$myip2/$myport2
cat << EOF > /home/zerotier/etc/zt-mkworld/mkworld.config.json
{
    "rootNodes": [
      {
        "comments": "$(wget -qO- http://ipecho.net/plain | xargs echo) 私有 Planet",
        "identity": "$(cat /home/zerotier/var/lib/zerotier-one/identity.public)",
        "endpoints": [
          "$(wget -qO- http://ipecho.net/plain | xargs echo)/$myport1",
          "$myadd2"
        ]
      },
      {
        "comments": "$myip2 私有 Planet",
        "identity": "$identity2",
        "endpoints": [
          "$myadd2",
          "$(wget -qO- http://ipecho.net/plain | xargs echo)/$myport1"
        ]
      }
    ],
    "signing": ["previous.c25519", "current.c25519"],
    "output": "planet.custom",
    "plID": 0,
    "plBirth": 0,
    "plRecommend": true
}
EOF
sleep 8s
#################################### 分隔线 下面生成moon代码
# 创建 自动生成moon脚本
cat << 'EOF' > /root/moon.sh
#!/bin/sh
set -x
zerotier-idtool initmoon /var/lib/zerotier-one/identity.public > moon.json
chmod 777 moon.json
moonip="[\"${MYADDR}/9993\"]"
sed -i "s#127.0.0.1#${MYADDR}#g" moon.json
sed -i "s#\[\]#${moonip}#g" moon.json
cat moon.json
zerotier-idtool genmoon moon.json

mkdir /var/lib/zerotier-one/moons.d
cp *.moon /var/lib/zerotier-one/moons.d

cp *.moon /opt/key-networks/ztncui/etc/httpfs/
moon_id=$(cat /var/lib/zerotier-one/identity.public | cut -d ':' -f1)
echo -e "++++++++++++++++++++++++你的 ZeroTier moon id 是 $moon_id++++++++++++++++++++++++\\n\\nWindows客户端加入moon服务器,在终端输入:\\n\\ncd C:\ProgramData\ZeroTier\One\\n\\n接着输入:\\n\\nzerotier-cli orbit $moon_id $moon_id\\n\\n++++++++++++++++++++++++++++++检查是否加入moon服务器+++++++++++++++++++++++++++++\\n\\n在终端输入 如下命令:\\n\\nzerotier-cli listpeers\\n\\n+++++++++++++++++++++++++++++++++++加入网络+++++++++++++++++++++++++++++++++++++\\n\\n执行如下命令:\\n\\nPS C:\Windows\system32> zerotier-cli.bat join 网络id(就是在网页里面创建的那个网络)\\n\\n200 join OK\\n\\nPS Windows\system32>\\n\\n+++++++++++++++++++++Docker 如果想把服务器控制器也加入节点中+++++++++++++++++++++\\n\\n在容器里加入Network ID就可以了,输入如下进入容器:\\n\\ndocker exec -it ztncui bash\\n\\nzerotier-cli join Network ID\\n\\n++++++++++++++++++++++++++++++++  MacOS 客户端  ++++++++++++++++++++++++++++++++\\n\\n步骤如下步骤如下:\\n\\n进入 /Library/Application\ Support/ZeroTier/One/ 目录,并替换目录下的 planet 文件\\n\\n重启 ZeroTier-One:cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill\\n\\n加入网络 zerotier-cli join 网络 id\\n\\n管理后台同意加入请求\\n\\nzerotier-cli peers 可以看到 planet 角色\\n\\n++++++++++++++++++++++++++++++++  Linux 客户端  ++++++++++++++++++++++++++++++++\\n\\n步骤如下:\\n\\n安装linux客户端软件\\n\\n进入目录 /var/lib/zerotier-one\\n\\n替换目录下的 planet 文件\\n\\n重启 zerotier-one 服务(service zerotier-one restart)\\n\\n加入网络 zerotier-cli join 网络 id\\n\\n管理后台同意加入请求\\n\\nzerotier-cli peers 可以看到 planet 角色\\n\\n+++++++++++++++++++++++++++++++如何判断是直连还是中转+++++++++++++++++++++++++++\\n\\n管理员权限执行终端,运行zerotier-cli peers\\n\\n<ztaddr>   <ver>  <role> <lat> <link>   <lastTX> <lastRX> <path>\\n\\n69c0d507d0 -      LEAF      -1 RELAY\\n\\n93caa675b0 1.12.2 PLANET  -894 DIRECT   4142     4068     110.42.99.46/9994\\n\\nab403e2074 1.10.2 LEAF      -1 RELAY" > /opt/key-networks/ztncui/etc/httpfs/使用说明.txt
EOF

# 生成moon文件
cd && cd /root
chmod +x moon.sh
docker cp moon.sh ztncui:/tmp
rm -rf moon.sh
docker exec -it ztncui bash /tmp/moon.sh

# 重启ztncui 注:ztncui为容器名
docker restart ztncui

Tag summary

Content type

Image

Digest

sha256:f00901312…

Size

95.8 MB

Last updated

over 2 years ago

docker pull mingertai/ztncui-aio