|
|
@ -0,0 +1,47 @@ |
|
|
|
#!/bin/bash |
|
|
|
apt install -y wget |
|
|
|
# download frp |
|
|
|
rm -rf frp.tar.gz |
|
|
|
rm -rf /home/frp |
|
|
|
|
|
|
|
wget http://base.codestudios.cn:3000/xailab/install/raw/branch/master/software/frp.tar.gz |
|
|
|
|
|
|
|
tar -xzvf frp.tar.gz |
|
|
|
|
|
|
|
mv frp /home/frp |
|
|
|
|
|
|
|
|
|
|
|
#生成随机ssh端口 |
|
|
|
|
|
|
|
# 生成介于10000到60000之间的随机数 |
|
|
|
random_port=$(shuf -i 10000-60000 -n 1) |
|
|
|
|
|
|
|
# 查找名为 "test-tcp" 的配置块并替换其中的remotePort值为随机数 |
|
|
|
awk -v random_port="$random_port" '/^\[\[proxies\]\]/{block=0}block && /name = "test-tcp"/{replace=1}block && /remotePort/ && replace{sub(/remotePort = [0-9]+/, "remotePort = " random_port); sub(/name = "test-tcp"/, "name = \"test-tcp-" random_port "\""); replace=0}block && /name = "test-tcp"/{sub(/name = "test-tcp"/, "name = \"test-tcp-" random_port "\"")} /^\[\[proxies\]\]/{block=1}1' /home/frp/frpc.toml > /home/frp/frpc.tmp && mv /home/frp/frpc.tmp /home/frp/frpc.toml |
|
|
|
|
|
|
|
# 将随机端口号保存到文件中 |
|
|
|
echo "SSH_RANDOM_PORT:$random_port" > /home/frp/ssh_info.txt |
|
|
|
|
|
|
|
# 开放SSH端口 |
|
|
|
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent |
|
|
|
|
|
|
|
# 重新加载防火墙配置 |
|
|
|
sudo firewall-cmd --reload |
|
|
|
|
|
|
|
|
|
|
|
# 开机自启动 |
|
|
|
cat > /etc/systemd/system/frp_server.service <<EOF |
|
|
|
[Unit] |
|
|
|
Description=FRP Server |
|
|
|
After=network.target |
|
|
|
[Service] |
|
|
|
Type=simple |
|
|
|
ExecStart=/home/frp/frpc -c /home/frp/frpc.toml |
|
|
|
[Install] |
|
|
|
WantedBy=multi-user.target |
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
|
|
sudo systemctl daemon-reload |
|
|
|
sudo systemctl start frp_server |
|
|
|
sudo systemctl enable frp_server |