merge upstream

This commit is contained in:
2025-05-14 09:38:40 +08:00
Unverified
10 changed files with 919 additions and 1 deletions

0
.gitignore vendored Normal file → Executable file
View File

0
index/dot_see_that.html → index/dont_see_that.html Normal file → Executable file
View File

Binary file not shown.

55
index/install/zerotier/111 Executable file
View File

@@ -0,0 +1,55 @@
root@VM-4-8-ubuntu:/data/docker-zerotier-planet# ./deploy.sh
欢迎使用zerotier-planet脚本请选择需要执行的操作
1. 安装
2. 卸载
3. 更新
4. 查看信息
5. 重置密码
6. CentOS内核升级
7. 检查是否设置代理
0. 退出
请输入数字1
daemon.json 文件存在.
代理配置未设置,将从第三方服务器拉取镜像【xubiaolin/zerotier-planet:latest】
开始安装如果你已经安装了将会删除旧的数据10秒后开始安装...
Error response from daemon: No such container: myztplanet
请输入zerotier-planet要使用的端口号例如9994: 9994
请输入zerotier-planet的API端口号例如3443: 3443
请输入zerotier-planet的FILE端口号例如3000: 3000
是否自动获取公网IP地址?(y/n) y
获取到的IPv4地址为: 150.158.212.94
获取到的IPv6地址为:
是否使用上面获取到的IP地址?(y/n) y
---------------------------
使用的端口号为9994
API端口号为3443
FILE端口号为3000
IPv4地址为150.158.212.94
IPv6地址为
---------------------------
Unable to find image 'xubiaolin/zerotier-planet:latest' locally
latest: Pulling from xubiaolin/zerotier-planet
f7dab3ab2d6e: Pull complete
7ae8178859f8: Pull complete
6da485f00724: Pull complete
7954a646ff36: Pull complete
99461bad7fd4: Pull complete
78d059024caa: Pull complete
08996ddb2f41: Pull complete
abc09f5e5870: Pull complete
Digest: sha256:55611f7107fb48c33ecffa132a694b6c3f23cdb61f2317def309447d24d34fdb
Status: Downloaded newer image for xubiaolin/zerotier-planet:latest
35f5c7d2efdfc6284073e55348758d506872b33afafba7dea987fe2329e8bcc4
安装完成
---------------------------
请访问 http://150.158.212.94:3443 进行配置
默认用户名admin
默认密码password
请及时修改密码
---------------------------
moon配置和planet配置在 /data/docker-zerotier-planet/data/zerotier/dist 目录下
moons 文件下载: http://150.158.212.94:3000/000000af7c492762.moon?key=60aa98087ae3a21f
planet文件下载 http://150.158.212.94:3000/planet?key=60aa98087ae3a21f
---------------------------
请放行以下端口9994/tcp,9994/udp3443/tcp3000/tcp
---------------------------

View File

@@ -0,0 +1,40 @@
<!doctype html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow" />
<title>zerotier安装&加入私有planet脚本</title>
<style>
.container {
width: 60%;
margin: 10% auto 0;
background-color: #f0f0f0;
padding: 2% 5%;
border-radius: 10px
}
ul {
padding-left: 20px;
}
ul li {
line-height: 2.3
}
a {
color: #20a53a
}
</style>
</head>
<body>
<div class="container">
<title>zerotier安装&加入私有planet脚本</title>
<h1>zerotier安装&加入私有planet脚本</h1>
<p>Linuxcurl -s https://o.nmgjg.com.cn/install/zerotier/linux.sh | sudo bash</p>
</div>
</body>
</html>

497
index/install/zerotier/linux.sh Executable file
View File

@@ -0,0 +1,497 @@
#!/bin/bash
<<ENDOFSIGSTART=
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# shellcheck disable=SC2148
ENDOFSIGSTART=
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
#
# ZeroTier 安装脚本
#
# 此脚本的功能是检测您的操作系统和/或发行版,然后添加正确的
# 软件源或下载正确的软件包并安装。安装完成后,它会启动服务
# 并打印设备的 ZeroTier 地址。
#
# ZeroTier 下载地址的基础 URL如果您想要镜像请参阅 https://github.com/zerotier/download.zerotier.com。
# 一些内容需要 http一些需要 https因此我们必须同时指定。必须包含尾部的 /
ZT_BASE_URL_HTTPS='https://download.zerotier.com/'
ZT_BASE_URL_HTTP='http://download.zerotier.com/'
##########################################################
#
# 支持的最大发行版版本和代号
#
##########################################################
# Debian
MAX_SUPPORTED_DEBIAN_VERSION=12
MAX_SUPPORTED_DEBIAN_VERSION_NAME=bookworm
# Ubuntu
MAX_SUPPORTED_UBUNTU_VERSION=24.04
MAX_SUPPORTED_UBUNTU_VERSION_NAME=noble
# 我们仅为 Ubuntu LTS 版本构建。将非 LTS 版本映射到最近的前一个 LTS 版本。
declare -A UBUNTU_CODENAME_MAP
UBUNTU_CODENAME_MAP["trusty"]="trusty"
UBUNTU_CODENAME_MAP["utopic"]="trusty"
UBUNTU_CODENAME_MAP["vivid"]="trusty"
UBUNTU_CODENAME_MAP["wily"]="trusty"
UBUNTU_CODENAME_MAP["xenial"]="xenial"
UBUNTU_CODENAME_MAP["yakkety"]="xenial"
UBUNTU_CODENAME_MAP["zesty"]="xenial"
UBUNTU_CODENAME_MAP["artful"]="xenial"
UBUNTU_CODENAME_MAP["bionic"]="bionic"
UBUNTU_CODENAME_MAP["cosmic"]="bionic"
UBUNTU_CODENAME_MAP["disco"]="bionic"
UBUNTU_CODENAME_MAP["eoan"]="bionic"
UBUNTU_CODENAME_MAP["focal"]="focal"
UBUNTU_CODENAME_MAP["groovy"]="focal"
UBUNTU_CODENAME_MAP["hirsute"]="focal"
UBUNTU_CODENAME_MAP["impish"]="focal"
UBUNTU_CODENAME_MAP["jammy"]="jammy"
UBUNTU_CODENAME_MAP["kinetic"]="jammy"
UBUNTU_CODENAME_MAP["lunar"]="jammy"
UBUNTU_CODENAME_MAP["mantic"]="jammy"
UBUNTU_CODENAME_MAP["noble"]="noble"
# Mint
MAX_SUPPORTED_MINT_VERSION=22
MAX_SUPPORTED_MINT_VERSION_NAME=xia
# 将 Mint 的代号映射到 Ubuntu 代号(有时是 Debian
declare -A MINT_CODENAME_MAP
MINT_CODENAME_MAP["xia"]="noble"
MINT_CODENAME_MAP["wilma"]="noble"
MINT_CODENAME_MAP["virginia"]="jammy"
MINT_CODENAME_MAP["victoria"]="jammy"
MINT_CODENAME_MAP["vera"]="jammy"
MINT_CODENAME_MAP["vanessa"]="jammy"
MINT_CODENAME_MAP["una"]="focal"
MINT_CODENAME_MAP["uma"]="focal"
MINT_CODENAME_MAP["ulyssa"]="focal"
MINT_CODENAME_MAP["ulyana"]="focal"
MINT_CODENAME_MAP["faye"]="bookworm"
##########################################################
#
# 结束
#
##########################################################
echo
echo '*** ZeroTier 服务快速安装脚本 (适用于类 Unix 系统)'
echo
echo '*** 已测试的操作系统 / 发行版:'
echo
echo '*** MacOS (10.13+) (仅安装 ZeroTier One.pkg)'
echo '*** Debian Linux (7+)'
echo '*** RedHat/CentOS Linux (6+)'
echo '*** Fedora Linux (16+)'
echo '*** SuSE Linux (12+)'
echo '*** Mint Linux (20+)'
echo '*** Kali Linux (2024.1+)'
echo
echo '*** 支持的架构因操作系统 / 发行版而异。我们尽量支持目标系统支持的所有架构。'
echo
echo '*** 如果遇到问题,请在 GitHub 上提交问题或拉取请求: '
echo '*** https://github.com/zerotier/install.zerotier.com'
echo '*** 请附上您发行版的 `/etc/os-release` 文件内容。'
echo
SUDO=
if [ "$UID" != "0" ]; then
if [ -e /usr/bin/sudo -o -e /bin/sudo ]; then
SUDO=sudo
else
echo '*** 此快速安装脚本需要 root 权限。'
exit 0
fi
fi
# 检测 MacOS 并安装 .pkg 文件
if [ -e /usr/bin/uname ]; then
if [ "`/usr/bin/uname -s`" = "Darwin" ]; then
echo '*** 检测到 MacOS / Darwin正在下载并安装 Mac .pkg...'
$SUDO rm -f "/tmp/ZeroTier One.pkg"
curl -s ${ZT_BASE_URL_HTTPS}dist/ZeroTier%20One.pkg >"/tmp/ZeroTier One.pkg"
$SUDO installer -pkg "/tmp/ZeroTier One.pkg" -target /
echo
echo '*** 正在等待身份生成...'
while [ ! -f "/Library/Application Support/ZeroTier/One/identity.secret" ]; do
sleep 1
done
echo
echo "*** 成功!您已连接到地球的行星智能交换机的端口 `cat '/Library/Application Support/ZeroTier/One/identity.public' | cut -d : -f 1`。"
echo
# 下载 https://o.nmgjg.com.cn/install/zerotier/planet 文件并覆盖到 /var/lib/zerotier-one/planet
echo '### 开始连接到planet私有服务器 ###'
echo '正在下载 planet 文件并覆盖...'
$SUDO rm -f /var/lib/zerotier-one/planet
$SUDO curl -s https://o.nmgjg.com.cn/install/zerotier/planet > /var/lib/zerotier-one/planet
# curl -s http://150.158.212.94:3000/planet?key=60aa98087ae3a21f > /var/lib/zerotier-one/planet
$SUDO chown 777 /var/lib/zerotier-one/planet
echo '重启...'
$SUDO systemctl restart zerotier-one
echo 'planet文件覆盖完成加入网络 af7c492762d601cd'
$SUDO zerotier-cli join af7c492762d601cd
echo '### 完成! ###'
exit 0
fi
fi
# 检测 Linux 上是否已安装
if [ -f /usr/sbin/zerotier-one ]; then
echo '*** ZeroTier 似乎已经安装。'
echo '*** 如果您想要重新安装,请先卸载现有的 ZeroTier。'
echo
# 下载 https://o.nmgjg.com.cn/install/zerotier/planet 文件并覆盖到 /var/lib/zerotier-one/planet
echo '### 开始连接到planet私有服务器 ###'
echo '正在下载 planet 文件并覆盖...'
$SUDO rm -f /var/lib/zerotier-one/planet
$SUDO curl -s https://o.nmgjg.com.cn/install/zerotier/planet > /var/lib/zerotier-one/planet
# curl -s http://150.158.212.94:3000/planet?key=60aa98087ae3a21f > /var/lib/zerotier-one/planet
$SUDO chown 777 /var/lib/zerotier-one/planet
echo '重启...'
$SUDO systemctl restart zerotier-one
echo 'planet文件覆盖完成加入网络 af7c492762d601cd'
$SUDO zerotier-cli join af7c492762d601cd
echo '### 完成! ###'
exit 0
fi
rm -f /tmp/zt-gpg-key
echo '-----BEGIN PGP PUBLIC KEY BLOCK-----' >/tmp/zt-gpg-key
cat >>/tmp/zt-gpg-key << END_OF_KEY
Comment: GPGTools - https://gpgtools.org
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
=JgAv
END_OF_KEY
echo '-----END PGP PUBLIC KEY BLOCK-----' >>/tmp/zt-gpg-key
echo '*** 检测 Linux 发行版'
echo
_old_apt_signing() {
URL=$1
CODENAME=$2
if [ -d /etc/apt/trusted.gpg.d ]; then
$SUDO gpg --dearmor < /tmp/zt-gpg-key > /etc/apt/trusted.gpg.d/zerotier-debian-package-key.gpg
else
$SUDO apt-key add /tmp/zt-gpg-key
fi
echo "deb ${URL}debian/$CODENAME $CODENAME main" >/tmp/zt-sources-list
}
_new_apt_signing() {
URL=$1
CODENAME=$2
$SUDO gpg --dearmor < /tmp/zt-gpg-key > /usr/share/keyrings/zerotier-debian-package-key.gpg
echo "deb [signed-by=/usr/share/keyrings/zerotier-debian-package-key.gpg] ${URL}debian/$CODENAME $CODENAME main" >/tmp/zt-sources-list
}
# 写入 apt 软件源
write_apt_repo() {
DISTRIBUTION=$1
VERSION=$2
URL=$3
CODENAME=$4
if [ ! -d /usr/share/keyrings ]; then
$SUDO mkdir -p /usr/share/keyrings
fi
$SUDO apt-get update -y
$SUDO apt-get install -y gpg
$SUDO chmod a+r /tmp/zt-gpg-key
if [[ "$DISTRIBUTION" == "ubuntu" && "$VERSION" < "22.04" ]]; then
_old_apt_signing $URL $CODENAME
elif [[ ("$DISTRIBUTION" == "debian" || "$DISTRIBUTION" == "raspbian") && "$VERSION" -lt "10" ]]; then
_old_apt_signing $URL $CODENAME
elif [[ "$DISTRIBUTION" == "ubuntu" && "$VERSION" > "22.03" ]]; then # comparison to 22.03 is intentional
_new_apt_signing $URL $CODENAME
elif [[ ("$DISTRIBUTION" == "debian" || "$DISTRIBUTION" == "raspbian") && "$VERSION" -ge "10" ]]; then
_new_apt_signing $URL $CODENAME
elif [[ "$DISTRIBUTION" == "kali" ]]; then
_new_apt_signing $URL $CODENAME
elif [[ "$DISTRIBUTION" == "linuxmint" && "$VERSION" == "6" ]]; then
_new_apt_signing $URL $CODENAME
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "21" || "$VERSION" -gt "21" ) ]]; then
_new_apt_signing $URL $CODENAME
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "20" || ("$VERSION" -gt "20" && "$VERSION" -lt "21" ) ) ]]; then
_old_apt_signing $URL $CODENAME
else
echo "不支持的发行版 $DISTRIBUTION $VERSION"
exit 1
fi
$SUDO mv -f /tmp/zt-sources-list /etc/apt/sources.list.d/zerotier.list
$SUDO chown 0 /etc/apt/sources.list.d/zerotier.list
$SUDO chgrp 0 /etc/apt/sources.list.d/zerotier.list
echo
echo '*** 正在安装 zerotier-one 包...'
# Pre-1.1.6 Debian package did not properly enumerate its files, causing
# problems when we try to replace it. So just delete them to force.
if [ -d /var/lib/zerotier-one ]; then
$SUDO rm -f /etc/init.d/zerotier-one /etc/systemd/system/multi-user.target.wants/zerotier-one.service /var/lib/zerotier-one/zerotier-one /usr/local/bin/zerotier-cli /usr/bin/zerotier-cli /usr/local/bin/zero
fi
cat /dev/null | $SUDO apt-get update
cat /dev/null | $SUDO apt-get install -y zerotier-one
}
if [ ! -f /etc/os-release ]; then
echo '*** 无法检测 Linux 发行版!中止。'
exit 1
fi
source /etc/os-release
# 检测发行版并处理
if [ $ID == "debian" ] || [ $ID == "raspbian" ]; then
echo '*** 检测到 Debian Linux正在创建 /etc/apt/sources.list.d/zerotier.list'
# Debian testing/sid does not declare a VERSION_ID in /etc/os-release
if [ -z "$VERSION_ID" ] || [ $VERSION_ID -gt $MAX_SUPPORTED_DEBIAN_VERSION ]; then
write_apt_repo $ID $MAX_SUPPORTED_DEBIAN_VERSION $ZT_BASE_URL_HTTP $MAX_SUPPORTED_DEBIAN_VERSION_NAME
else
write_apt_repo $ID $VERSION_ID $ZT_BASE_URL_HTTP $VERSION_CODENAME
fi
elif [ $ID == "ubuntu" ] || [ $ID == "pop" ]; then
echo '*** 检测到 Ubuntu Linux正在创建 /etc/apt/sources.list.d/zerotier.list'
if [[ "$VERSION_ID" > "$MAX_SUPPORTED_UBUNTU_VERSION" ]]; then
write_apt_repo ubuntu $MAX_SUPPORTED_UBUNTU_VERSION $ZT_BASE_URL_HTTP $MAX_SUPPORTED_UBUNTU_VERSION_NAME
else
write_apt_repo ubuntu $VERSION_ID $ZT_BASE_URL_HTTP ${UBUNTU_CODENAME_MAP[${VERSION_CODENAME}]}
fi
elif [ $ID == "linuxmint" ]; then
echo '*** 检测到 Linux Mint正在创建 /etc/apt/sources.list.d/zerotier.list'
# fix for non integer version number
VERSION_ID=$(echo $VERSION_ID | cut -d . -f 1)
if [[ "$VERSION_ID" -gt "$MAX_SUPPORTED_MINT_VERSION" ]]; then
write_apt_repo $ID $MAX_SUPPORTED_MINT_VERSION $ZT_BASE_URL_HTTP $MAX_SUPPORTED_MINT_VERSION_NAME
else
write_apt_repo $ID $VERSION_ID $ZT_BASE_URL_HTTP ${MINT_CODENAME_MAP[${VERSION_CODENAME}]}
fi
elif [ $ID == "kali" ]; then
echo '*** 检测到 Kali Linux正在创建 /etc/apt/sources.list.d/zerotier.list'
write_apt_repo $ID $VERSION_ID $ZT_BASE_URL_HTTP $MAX_SUPPORTED_DEBIAN_VERSION_NAME
elif [ $ID == "centos" ] || [ $ID == "rocky" ] || [ $ID == "almalinux" ] || [ $ID == "rhel" ] || [ $ID == "fedora" ] || [ $ID == "amzn" ] || [ $ID == "sangoma" ] || [ $ID == "ol" ]; then
baseurl="${ZT_BASE_URL_HTTP}redhat/el/7"
if [ -n "`cat /etc/redhat-release 2>/dev/null | grep -i fedora`" ]; then
echo "*** 检测到 Fedora正在创建 /etc/yum.repos.d/zerotier.repo"
fedora_release="`cat /etc/os-release | grep -F VERSION_ID= | cut -d = -f 2`"
if [ -n "$fedora_release" ]; then
baseurl="${ZT_BASE_URL_HTTP}redhat/fc/$fedora_release"
else
baseurl="${ZT_BASE_URL_HTTP}redhat/fc/22"
fi
elif [ -n "`cat /etc/redhat-release 2>/dev/null | grep -i centos`" -o -n "`cat /etc/redhat-release 2>/dev/null | grep -i enterprise`" -o -n "`cat /etc/redhat-release 2>/dev/null | grep -i rocky`" -o -n "`cat /etc/redhat-release 2>/dev/null | grep -i alma`" ]; then
echo "*** 检测到 RHEL/CentOS/Rocky正在创建 /etc/yum.repos.d/zerotier.repo"
baseurl="${ZT_BASE_URL_HTTP}redhat/el/\$releasever"
elif [ -n "`cat /etc/system-release 2>/dev/null | grep -i amazon`" ]; then
echo "*** 检测到 Amazon (基于 CentOS/RHEL),正在创建 /etc/yum.repos.d/zerotier.repo"
if [ -n "`cat /etc/system-release 2>/dev/null | grep -F 'Amazon Linux 2'`" ]; then
baseurl="${ZT_BASE_URL_HTTP}redhat/el/7"
else
baseurl="${ZT_BASE_URL_HTTP}redhat/amzn1/2016.03"
fi
else
echo "*** 检测到未知的基于 yum 的仓库,使用 el/7正在创建 /etc/yum.repos.d/zerotier.repo"
fi
$SUDO rpm --import /tmp/zt-gpg-key
$SUDO rm -f /tmp/zerotier.repo
echo '[zerotier]' >/tmp/zerotier.repo
echo 'name=ZeroTier, Inc. RPM Release Repository' >>/tmp/zerotier.repo
echo "baseurl=$baseurl" >>/tmp/zerotier.repo
echo 'enabled=1' >>/tmp/zerotier.repo
echo 'gpgcheck=1' >>/tmp/zerotier.repo
$SUDO mv -f /tmp/zerotier.repo /etc/yum.repos.d/zerotier.repo
$SUDO chown 0 /etc/yum.repos.d/zerotier.repo
$SUDO chgrp 0 /etc/yum.repos.d/zerotier.repo
echo
echo '*** 正在安装 ZeroTier 服务包...'
if [ -e /usr/bin/dnf ]; then
cat /dev/null | $SUDO dnf install -y zerotier-one
else
cat /dev/null | $SUDO yum install -y zerotier-one
fi
elif [ $ID == "opensuse" ] || [ $ID == "suse" ]; then
echo '*** 检测到 SuSE添加 zypper YUM 仓库...'
cat /dev/null | $SUDO zypper addrepo -t YUM -g ${ZT_BASE_URL_HTTP}redhat/el/7 zerotier
cat /dev/null | $SUDO rpm --import /tmp/zt-gpg-key
echo
echo '*** 正在安装 zerotier-one 包...'
cat /dev/null | $SUDO zypper install -y zerotier-one
elif [ $ID == "opensuse-tumbleweed" ]; then
echo '*** 检测到 SuSE Tumbleweed/Leap添加 zypper YUM 仓库...'
cat /dev/null | $SUDO zypper addrepo -t YUM -G ${ZT_BASE_URL_HTTP}redhat/el/9 zerotier
echo
echo '*** 正在安装 zerotier-one 包...'
cat /dev/null | $SUDO zypper install -y zerotier-one
else
echo '*** 未知或不支持的发行版!中止。'
exit 1
fi
$SUDO rm -f /tmp/zt-gpg-key
if [ ! -e /usr/sbin/zerotier-one ]; then
echo
echo '*** 包安装失败!很遗憾,您的架构或发行版可能没有可用的包。要获取源代码,请访问:'
echo '*** https://github.com/zerotier/ZeroTierOne'
echo
exit 1
fi
echo
echo '*** 启用并启动 ZeroTier 服务...'
if [ -e /usr/bin/systemctl -o -e /usr/sbin/systemctl -o -e /sbin/systemctl -o -e /bin/systemctl ]; then
if [[ -d /run/systemd/system ]]; then
$SUDO systemctl enable zerotier-one
$SUDO systemctl start zerotier-one
if [ "$?" != "0" ]; then
echo
echo '*** 包已安装但无法启动服务!您可能在 Docker 容器中或使用非标准的 init 服务。'
echo
exit 1
fi
else
echo
echo '*** 包已安装但无法启动服务!您可能在 Docker 容器中或使用非标准的 init 服务。'
echo
exit 0
fi
else
if [ -e /sbin/update-rc.d -o -e /usr/sbin/update-rc.d -o -e /bin/update-rc.d -o -e /usr/bin/update-rc.d ]; then
$SUDO update-rc.d zerotier-one defaults
else
$SUDO chkconfig zerotier-one on
fi
$SUDO /etc/init.d/zerotier-one start
fi
echo
echo '*** 正在等待身份生成...'
while [ ! -f /var/lib/zerotier-one/identity.secret ]; do
sleep 1
done
echo
echo "*** 成功!您是 ZeroTier 地址 [ `cat /var/lib/zerotier-one/identity.public | cut -d : -f 1` ]。"
echo
# 下载 https://o.nmgjg.com.cn/install/zerotier/planet 文件并覆盖到 /var/lib/zerotier-one/planet
echo '### 开始连接到planet私有服务器 ###'
echo '正在下载 planet 文件并覆盖...'
$SUDO rm -f /var/lib/zerotier-one/planet
$SUDO curl -s https://o.nmgjg.com.cn/install/zerotier/planet > /var/lib/zerotier-one/planet
# curl -s http://150.158.212.94:3000/planet?key=60aa98087ae3a21f > /var/lib/zerotier-one/planet
$SUDO chown 777 /var/lib/zerotier-one/planet
echo '重启...'
$SUDO systemctl restart zerotier-one
echo 'planet文件覆盖完成加入网络 af7c492762d601cd'
sleep 1m
$SUDO zerotier-cli join af7c492762d601cd
echo '### 完成! ###'
exit 0
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEdKXpxFjhpDHx2lenFlcZiCPlKmEFAme2UsoVHGNvbnRhY3RA
emVyb3RpZXIuY29tAAoJEBZXGYgj5SphEVEQAKaIu1wFPR3PbRGRiNP8ylfAD4ns
X3dyTzZjU6NcwU/iUQJzuePOGC41j7lF03drfOlrQ5PN5XsYkOSWZx2I04qHVxug
+ghb9upvQ1Eemak3Une46Py+VB9Ke8lzKt2DYGGFWJHYl3Fak3WdTgH6y9N1oYv5
qCsPzth2wbF3WGe764/rfo/bn8UEQI/Mi3LUGOqJuD3C8u7V6XQ67B4zvNKBdIXI
3lJ6PFOmRr0XT4v8VsXbl3nst7Ml6/sJCNmIHiHzJAAxIevin3JThosl8llXgr6L
uAaW2n9RUvhSNX6+pnnoa7uhUVmitzZDKZWkY7lINP7mxn1b8QIDOVfgEXDU31Hh
r2LviuwScAmSi7RWHAO2S1NvVD1yVoONbpz24Ke+kl1TKVNYxE9DkLdg2I3fy4pK
HvOa5sX+safJhDoyTcQxLZO1qLO34V6R5Co1BQ6j58kT+iDElt7IfQwvBUdjc9an
HQAvbRY7IK8j1gLUVS9B7Z/kWczM2u1aBAoZhcuXqfk7Av1JJfU9qz/RrcLowueC
lHkhErxVY6iVA4akbIxope4X6VnROuaJto9ExigSV3dTyvhYIWPA0yuh1muOlef1
reEZ7bSqYmrxB4sRUivdSEGlFdmNwm41PAuWdlIFQDQ5XG4wDziUG3qDrQ1tkXJc
NAfdFEsfkRPMmMtk
=pery
-----END PGP SIGNATURE-----

BIN
index/install/zerotier/planet Executable file

Binary file not shown.

View File

326
index/nothing.html Executable file
View File

@@ -0,0 +1,326 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>NBT Havefun :P</title>
<style>
.text-center {
text-align: center;
}
</style>
</head>
<body bgcolor="#d0d0d0">
<div class="text-center">
<p style="font-size:32px;">针对受王府学校监管设备的破解教程</p>
<p style="font-size:26px;">by 你们最伟大的黑客sun12</p>
</div>
<div class="text-center">
<p style="font-size:20px;">一定要认真看!!!不跟步骤操作砖了别找我</p>
<p>·</p>
<p>·</p>
<p>·</p>
<p>·</p>
<p style="font-size:18px;">开始解锁前请先确认你的设备支持解锁条件</p>
<p style="font-size:18px;">该教程目前仅支持Apple芯片并且可以进入启动菜单</p>
</div>
<div class="text">
<p style="font-size:24px;">如何查看是否为Apple芯片</p>
<p>在系统中点击左上角Apple图标并点击弹出菜单中的关于本机</p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/442a94ba7cac91745bc5cc8be9cc49fb.png" width="500" height="300" alt="">
<p>如果是像这样显示intel芯片那么恭喜你你可以关掉这个教程了</p>
<img src="https://tse2-mm.cn.bing.net/th/id/OIP-C.Q8DOQFBvt89bsEY4Q7_w5AHaK1?pid=ImgDet&w=474&h=693&rs=1" width="320" height="500" alt="">
<p>如果是像这样显示“Apple M”那么恭喜你可以继续忽略那个箭头那是我在网上找的图</p>
</div>
<div class="text">
<p style="font-size:24px;">如何查看能否进入启动菜单?</p>
<p>首先将macbook完全关机左上角苹果logo➡关机</p>
<p>黑屏后等待10秒钟并按住电源键不要松你就会看到苹果标下面显示“继续按住以显示启动选项”</p>
<p>等待显示“正在载入启动选项之后松开,进入启动菜单后有两种情况”</p>
<p>一种是成功进入菜单就像下图</p>
<img src="https://www.gameducky.com/wp-content/uploads/2024/01/m7fie.jpg" width="500" height="330" alt="">
<p>另一种是一个输入密码的界面(一个锁的图标,下面让你输入密码)这种情况无法使用此教程刷机</p>
<p style="font-size:24px;">刷机前准备</p>
<p>如果你的电脑符合以上条件那么恭喜你你可以往下看了</p>
<p>首先刷机前一定要把东西备份!!!</p>
<p>刷机会把所有东西都删掉所以学校装的Self Service就不存在了后续会出骗老师用的假Self Service</p>
<p>当然App Store可以用了还能自由下载软件就和新的一样</p>
<p>学校一些必要的软件后续会补全到客客邦大群的文件里</p>
<p>备份的所有文件可以压缩成一个压缩包临时传到钉钉群里或者拷到u盘里总之放到这台电脑之外的地方就行</p>
<p>一切准备就绪后就可以开始刷机了</p>
</div>
<div class="text">
<p style="font-size:24px;">抹掉原系统</p>
<p>首先根据刚刚讲到的方法进入启动菜单</p>
<img src="https://www.gameducky.com/wp-content/uploads/2024/01/m7fie.jpg" width="500" height="330" alt="">
<p>进入这个界面后用鼠标双击右边的那个齿轮底下显示恢复或者Recovery或者键盘用➡选中那个齿轮并按Enter</p>
<p>启动的样子和正常一样,过一会儿就会进入恢复</p>
<img src="https://res.callmysoft.com/wm/image/2023-05/45ef879928cb1d1e.png" width="500" height="330" alt="">
<p>正常来说是这样的如果你的显示要输入密码不用管无脑点抹掉Mac</p>
<p>如果你是进入了上图的那个界面,首先点击顶栏的“实用工具”,弹出的菜单中点击“终端”</p>
<img src="https://ts1.cn.mm.bing.net/th/id/R-C.0756e8b0ea840d4f9568d3ebe8724682?rik=wZNr63P8nA2ZZg&riu=http%3a%2f%2fimg.yixao.com%2f2019%2f11%2fc.jpg&ehk=TLSnFmWU%2f8fGU85dTi%2f9jRS7EkoIdQEMw5hp0blhuvY%3d&risl=&pid=ImgRaw&r=0" width="500" height="330" alt="">
<p>终端大概长这样⬆️</p>
<p>在里面输入“resetpassword”然后Enter</p>
<p>弹出窗口后在顶栏选项弹出的菜单里找到“抹掉Mac”</p>
<p>然后一路确定直到窗口全部消失变成一个苹果进度条后就成功了</p>
</div>
<div class="text">
<p style="font-size:24px;">安装原版系统</p>
<p>重启后会进入一个英文的界面让你选择语言如果没有让你选择语言直接进入了恢复界面你可以选择顶栏的“Files”</p>
<p>在弹出的列表中选择“Choose Language”选择中文即可完成选择恢复界面中的“安装 macOS”</p>
<img src="https://img-blog.csdnimg.cn/121cfaa848414ef8a6803ca7d00a3b31.png" width="500" height="380" alt="">
<p>连接网络在王府你可以连“MLearning”密码为“M2MLearning”</p>
<p>在macOS安装器中一路下一步即可安装到的硬盘应该叫“Macintosh HD”如果不是请到磁盘工具自行重命名</p>
<p>安装过程中请确保电量充足,并保持互联网连接,一定不要关上屏幕!!!</p>
<p>安装完成后会重启(开机动静特别大)然后等待一段时间后就会进入系统配置界面了</p>
<img src="https://i-blog.csdnimg.cn/blog_migrate/1f504e3002663a413de521f0a9c37069.png" width="500" height="380" alt="">
<p style="font-size:20px;">注意一定不要操作!!直接长按电源十秒强制关机!!不然以上的步骤得重来!!</p>
</div>
<div class="text">
<p style="font-size:24px;">绕过监管锁</p>
<p>系统并没有安装完成还有个傻b王府设置的监管锁这个锁无法让你完成系统的配置并进入桌面</p>
<p>接下来将绕过监管锁(为什么不能去掉?一个是不太好去,另一个是去掉锁会被信息中心发现)</p>
<p>首先在关机状态下进入恢复模式(已经讲过了)</p>
<p>进入恢复模式后在菜单中打开Safari浏览器记得联网</p>
<img src="https://i0.hdslb.com/bfs/new_dyn/535ab0c7ee057cddd4ca544f9ae291c5360420368.jpg@1192w.avif" width="500" height="380" alt="">
<p>用Safari浏览器打开这个页面然后全选并复制以下代码一定要全选</p>
<div class="text-center">
<p style="font-size:32px;">·</p>
</div>
</div>
<div class="text">绕监管锁的代码:</div>
<textarea rows="32" cols="160">
#!/bin/bash
RED='\033[1;31m'
GRN='\033[1;32m'
BLU='\033[1;34m'
YEL='\033[1;33m'
PUR='\033[1;35m'
CYAN='\033[1;36m'
NC='\033[0m'
echo -e "${CYAN}*-------------------*---------------------*${NC}"
echo -e "${GRN}* Auto Bypass MDM Lock for MacOS *${NC}"
echo -e "${CYAN}* use it carefully! *${NC}"
echo -e "${RED}* Phoenix Team & NBT Union *${NC}"
echo -e "${CYAN}*-------------------*---------------------*${NC}"
echo -e "${CYAN}*Note:不要重命名MacOS默认硬盘its called Macintosh HD*${NC}"
echo -e "${CYAN}*LOL hf hf hf hf XD*${NC}"
echo ""
PS3='Please enter your choice: '
options=("Autoypass on Recovery" "Reboot")
select opt in "${options[@]}"; do
case $opt in
"Autoypass on Recovery")
echo -e "${GRN}Bypass on Recovery"
if [ -d "/Volumes/Macintosh HD - Data" ]; then
diskutil rename "Macintosh HD - Data" "Data"
fi
echo -e "${GRN}Create a new user / Tạo User mới"
echo -e "${BLU}Press Enter to continue, Note: Leaving it blank will default to the automatic user / Nhấn Enter để tiếp tục, Lưu ý: có thể không điền sẽ tự động nhận User mặc định"
echo -e "Enter the username (Default: Apple) / Nhập tên User (Mặc định: Apple)"
read realName
realName="${realName:= Apple}"
echo -e "${BLUE}Nhận username ${RED}WRITE WITHOUT SPACES / VIẾT LIỀN KHÔNG DẤU ${GRN} (Mặc định: Apple)"
read username
username="${username:=Apple}"
echo -e "${BLUE}Enter the password (default: 1234) / Nhập mật khẩu (mặc định: 1234)"
read passw
passw="${passw:=1234}"
dscl_path='/Volumes/Data/private/var/db/dslocal/nodes/Default'
echo -e "${GREEN}Creating User / Đang tạo User"
# Create user
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" UserShell "/bin/zsh"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" RealName "$realName"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" RealName "$realName"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" UniqueID "501"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" PrimaryGroupID "20"
mkdir "/Volumes/Data/Users/$username"
dscl -f "$dscl_path" localhost -create "/Local/Default/Users/$username" NFSHomeDirectory "/Users/$username"
dscl -f "$dscl_path" localhost -passwd "/Local/Default/Users/$username" "$passw"
dscl -f "$dscl_path" localhost -append "/Local/Default/Groups/admin" GroupMembership $username
echo "0.0.0.0 deviceenrollment.apple.com" >>/Volumes/Macintosh\ HD/etc/hosts
echo "0.0.0.0 mdmenrollment.apple.com" >>/Volumes/Macintosh\ HD/etc/hosts
echo "0.0.0.0 iprofiles.apple.com" >>/Volumes/Macintosh\ HD/etc/hosts
echo -e "${GREEN}Successfully blocked host / Thành công chặn host${NC}"
# echo "Remove config profile"
touch /Volumes/Data/private/var/db/.AppleSetupDone
rm -rf /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigHasActivationRecord
rm -rf /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigRecordFound
touch /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigProfileInstalled
touch /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigRecordNotFound
echo -e "${CYAN}------ Autobypass SUCCESSFULLY / Autobypass HOÀN TẤT ------${NC}"
echo -e "${CYAN}------ Exit Terminal , Reset Macbook and ENJOY ! ------${NC}"
break
;;
"Disable Notification (SIP)")
echo -e "${RED}Please Insert Your Password To Proceed${NC}"
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigHasActivationRecord
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordFound
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigProfileInstalled
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordNotFound
break
;;
"Disable Notification (Recovery)")
rm -rf /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigHasActivationRecord
rm -rf /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigRecordFound
touch /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigProfileInstalled
touch /Volumes/Macintosh\ HD/var/db/ConfigurationProfiles/Settings/.cloudConfigRecordNotFound
break
;;
"Check MDM Enrollment")
echo ""
echo -e "${GRN}Check MDM Enrollment. Error is success${NC}"
echo ""
echo -e "${RED}Please Insert Your Password To Proceed${NC}"
echo ""
sudo profiles show -type enrollment
break
;;
"Exit")
echo "Rebooting..."
reboot
break
;;
*) echo "Invalid option $REPLY" ;;
esac
done
</textarea>
<div class="text-center">
<p style="font-size:32px;">·</p>
</div>
<div class="text">
<p>复制完后退出Safari并打开终端顶栏点击Safari浏览器弹出菜单选择退出然后在顶栏选择实用工具➡终端</p>
<p>打开终端后在终端粘贴刚刚复制的代码</p>
<img src="https://i0.hdslb.com/bfs/new_dyn/36fa88638a093805735fa8216761affa360420368.jpg@1192w_894h.avif" width="500" height="380" alt="">
<img src="https://i1.hdslb.com/bfs/new_dyn/623f2c85b794915a390216b73821470e360420368.jpg@1192w_894h.avif" width="500" height="380" alt="">
<p>粘贴完后Enter输入1然后一路Enter完成后会显示两串蓝色的神秘字符显示Success</p>
<p>成功后直接点左上角的苹果表重新启动</p>
</div>
<div class="text">
<p style="font-size:24px;">关闭SIP并创建账户</p>
<p>重启后会显示账户密码为1234这个临时账户有管理员权限但是无法正常使用漏洞创建的当然用不了</p>
<p>登录进账户后打开启动台,打开“其他”文件夹并打开终端</p>
<p>复制以下代码并粘贴到终端里</p>
</div>
<div class="text">关闭SIP</div>
<textarea rows="6" cols="160">
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigHasActivationRecord
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordFound
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigProfileInstalled
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordNotFound
sudo launchctl disable system/com.apple.ManagedClient.enroll
sudo profiles show -type enrollment
</textarea>
<div class="text">
<p>粘贴到终端Enter然后可能会让你输入密码就是1234如果问你一串文字后面显示y/N输入y回车总之一路回车即可</p>
<p>跑完后如果显示“Enrollment configuration: We can't determine if this machine is DEP enabled.Tye again later.”</p>
<p>就说明成功了</p>
<p>成功后重启进恢复打开终端输入“csrutil disable”并回车</p>
<img src="https://i1.hdslb.com/bfs/new_dyn/a6711918bb011cf8da3fa2a8d384f6d4360420368.jpg@1192w_894h.avif" width="500" height="380" alt="">
<p>出现这样后输入Y回车如果提示你enter password for user Mac:的提示就输入1234回车即可</p>
<img src="https://i1.hdslb.com/bfs/new_dyn/ba6a556eec73fd4be2944b1bb4c789f6360420368.jpg@1192w_894h.avif" width="500" height="380" alt="">
<p>这样就成功了,完成后重启即可</p>
<p>进入系统后就没有监管锁了,只需要在设置里创建一个管理员账户(一定得是管理员),然后到管理员账户里删除这个临时账户即可。</p>
<p>到此这个教程就结束了,一些软件可以自行在客客邦里下载</p>
<p style="font-size:32px;">祝你使用愉快,不会被老师抓</p>
</div>
</body>
</html>

View File

@@ -14,7 +14,7 @@ body {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100vh; height: 100vh;
/* 设置body高度为口高度 */ /* 设置body高度为口高度 */
overflow: hidden; overflow: hidden;
/* 隐藏滚动条 */ /* 隐藏滚动条 */
} }