Compare commits
4
Commits
cffb54dbfe
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5b014b46e | ||
|
|
f773a36873 | ||
|
|
4a4cadf8fb | ||
|
|
6d10dee75d |
@@ -4,3 +4,6 @@
|
|||||||
bash -c "$(wget -qO - https://git.igewu.org/yanglc/xbbox/raw/branch/main/xbbox.sh)"
|
bash -c "$(wget -qO - https://git.igewu.org/yanglc/xbbox/raw/branch/main/xbbox.sh)"
|
||||||
```
|
```
|
||||||
免责声明: 本页面提供的任何脚本,仅仅是技术交流,请在24小时内删除,切勿传播。假如你使用了任何本页面提供的脚本,请遵守所在国的法律法规 切勿用于涉及政治宗教色情犯罪等领域发布违法言论,一切违法后果请自负。
|
免责声明: 本页面提供的任何脚本,仅仅是技术交流,请在24小时内删除,切勿传播。假如你使用了任何本页面提供的脚本,请遵守所在国的法律法规 切勿用于涉及政治宗教色情犯罪等领域发布违法言论,一切违法后果请自负。
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
+19
-2
@@ -44,21 +44,25 @@ generate_keys() {
|
|||||||
# 生成WireGuard私钥和公钥
|
# 生成WireGuard私钥和公钥
|
||||||
echo "正在生成WireGuard私钥和公钥..."
|
echo "正在生成WireGuard私钥和公钥..."
|
||||||
wg genkey | tee privatekey | wg pubkey > publickey && cat privatekey && cat publickey
|
wg genkey | tee privatekey | wg pubkey > publickey && cat privatekey && cat publickey
|
||||||
|
echo "生成客户端私钥和公钥"
|
||||||
|
wg genkey | tee cprivatekey | wg pubkey > cpublickey && cat cprivatekey && cat cpublickey
|
||||||
}
|
}
|
||||||
|
|
||||||
create_server_config() {
|
create_server_config() {
|
||||||
# 服务器端配置
|
# 服务器端配置
|
||||||
read -p "请输入服务器的公网IP地址: " server_public_ip
|
read -p "请输入服务器的公网IP地址: " server_public_ip
|
||||||
read -p "请输入服务器的内网IP地址: " server_internal_ip
|
read -p "请输入服务器的内网IP地址: " server_internal_ip
|
||||||
|
read -p "请输入服务器的内网IPv6地址:(fd86::1) " server_internal_ipv6
|
||||||
read -p "请输入WireGuard服务器端口号: " server_port
|
read -p "请输入WireGuard服务器端口号: " server_port
|
||||||
read -p "请输入客户端的公钥: " client_public_key
|
read -p "请输入客户端的公钥: " client_public_key
|
||||||
read -p "请输入客户端的内网IP地址: " client_internal_ip
|
read -p "请输入客户端的内网IP地址: " client_internal_ip
|
||||||
|
read -p "请输入客户端的内网IPv6地址:(fd86::2) " client_internal_ipv6
|
||||||
eth=$(ls /sys/class/net| grep ^e | head -n1)
|
eth=$(ls /sys/class/net| grep ^e | head -n1)
|
||||||
|
|
||||||
# 创建服务器端配置文件
|
# 创建服务器端配置文件
|
||||||
echo "[Interface]" > /etc/wireguard/wg0.conf
|
echo "[Interface]" > /etc/wireguard/wg0.conf
|
||||||
echo "PrivateKey = $(cat /etc/wireguard/privatekey)" >> /etc/wireguard/wg0.conf
|
echo "PrivateKey = $(cat /etc/wireguard/privatekey)" >> /etc/wireguard/wg0.conf
|
||||||
echo "Address = $server_internal_ip/24" >> /etc/wireguard/wg0.conf
|
echo "Address = $server_internal_ip/24,$server_internal_ipv6/48" >> /etc/wireguard/wg0.conf
|
||||||
echo "PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o $eth -j MASQUERADE" >> /etc/wireguard/wg0.conf
|
echo "PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o $eth -j MASQUERADE" >> /etc/wireguard/wg0.conf
|
||||||
echo "PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o $eth -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o $eth -j MASQUERADE" >> /etc/wireguard/wg0.conf
|
echo "PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o $eth -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o $eth -j MASQUERADE" >> /etc/wireguard/wg0.conf
|
||||||
echo "ListenPort = $server_port" >> /etc/wireguard/wg0.conf
|
echo "ListenPort = $server_port" >> /etc/wireguard/wg0.conf
|
||||||
@@ -66,9 +70,22 @@ create_server_config() {
|
|||||||
echo "" >> /etc/wireguard/wg0.conf
|
echo "" >> /etc/wireguard/wg0.conf
|
||||||
echo "[Peer]" >> /etc/wireguard/wg0.conf
|
echo "[Peer]" >> /etc/wireguard/wg0.conf
|
||||||
echo "PublicKey = $client_public_key" >> /etc/wireguard/wg0.conf
|
echo "PublicKey = $client_public_key" >> /etc/wireguard/wg0.conf
|
||||||
echo "AllowedIPs = $client_internal_ip/32" >> /etc/wireguard/wg0.conf
|
echo "AllowedIPs = $client_internal_ip/32,$client_internal_ipv6/128" >> /etc/wireguard/wg0.conf
|
||||||
|
|
||||||
echo "WireGuard服务器端配置文件已成功创建在 /etc/wireguard/wg0.conf。"
|
echo "WireGuard服务器端配置文件已成功创建在 /etc/wireguard/wg0.conf。"
|
||||||
|
cat > /etc/wireguard/client.conf <<-EOF
|
||||||
|
[Interface]
|
||||||
|
PrivateKey = $(cat /etc/wireguard/cprivatekey)
|
||||||
|
Address = $client_internal_ip/32,$client_internal_ipv6/128
|
||||||
|
DNS = 8.8.8.8
|
||||||
|
MTU = 1420
|
||||||
|
[Peer]
|
||||||
|
PublicKey = $(cat /etc/wireguard/publickey)
|
||||||
|
Endpoint = $server_public_ip:$server_port
|
||||||
|
AllowedIPs = 0.0.0.0/0, ::0/0
|
||||||
|
PersistentKeepalive = 25
|
||||||
|
EOF
|
||||||
|
echo "自动生成客户端配置文件在 /etc/wireguard/client.conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
create_client_config() {
|
create_client_config() {
|
||||||
|
|||||||
Reference in New Issue
Block a user