Compare commits

...
6 Commits
Author SHA1 Message Date
yanglc e5b014b46e 更新 Readme.md
夹带私货
2023-09-10 15:22:26 +00:00
yanglc f773a36873 fix mistake 2023-08-30 09:06:25 +08:00
yanglc 4a4cadf8fb update client config 2023-08-30 08:33:44 +08:00
yanglc 6d10dee75d fix some mistake 2023-08-30 00:48:11 +08:00
yanglc cffb54dbfe add ipv6 2023-08-30 00:20:12 +08:00
yanglc 300584bcaf add ipv6 config 2023-08-30 00:19:26 +08:00
3 changed files with 31 additions and 7 deletions
+4 -1
View File
@@ -3,4 +3,7 @@
```
bash -c "$(wget -qO - https://git.igewu.org/yanglc/xbbox/raw/branch/main/xbbox.sh)"
```
免责声明: 本页面提供的任何脚本,仅仅是技术交流,请在24小时内删除,切勿传播。假如你使用了任何本页面提供的脚本,请遵守所在国的法律法规 切勿用于涉及政治宗教色情犯罪等领域发布违法言论,一切违法后果请自负。
免责声明: 本页面提供的任何脚本,仅仅是技术交流,请在24小时内删除,切勿传播。假如你使用了任何本页面提供的脚本,请遵守所在国的法律法规 切勿用于涉及政治宗教色情犯罪等领域发布违法言论,一切违法后果请自负。
![E5 开发者调用api](https://pan.jsloli.com/img/aqZwXADlvNV7rOy.png)
+25 -4
View File
@@ -36,35 +36,56 @@ install_wireguard() {
}
generate_keys() {
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
cd /etc/wireguard
# 生成WireGuard私钥和公钥
echo "正在生成WireGuard私钥和公钥..."
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() {
# 服务器端配置
read -p "请输入服务器的公网IP地址: " server_public_ip
read -p "请输入服务器的内网IP地址: " server_internal_ip
read -p "请输入服务器的内网IPv6地址:(fd86::1) " server_internal_ipv6
read -p "请输入WireGuard服务器端口号: " server_port
read -p "请输入客户端的公钥: " client_public_key
read -p "请输入客户端的内网IP地址: " client_internal_ip
read -p "请输入客户端的内网IPv6地址:(fd86::2) " client_internal_ipv6
eth=$(ls /sys/class/net| grep ^e | head -n1)
# 创建服务器端配置文件
echo "[Interface]" > /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 "PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -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" >> /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 "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 "" >> /etc/wireguard/wg0.conf
echo "[Peer]" >> /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。"
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() {
+2 -2
View File
@@ -55,7 +55,7 @@ check_system() {
get_self_cert() {
mkdir self
$INS install -y openssl
$INS install openssl -y
# openssl genrsa -out self/1.key 2048
openssl ecparam -genkey -name prime256v1 -noout -out self/1.key
# 生成CA证书
@@ -76,7 +76,7 @@ uninstall_self() {
}
install_docker() {
$INS install -y curl
$INS install curl -y
curl -fsSL https://get.docker.com | sh
}