Just Isolate some codes (not complete)
This commit is contained in:
1
core/scripts/hysteria2/restart.sh
Normal file
1
core/scripts/hysteria2/restart.sh
Normal file
@ -0,0 +1 @@
|
||||
systemctl restart hysteria-server.service
|
||||
42
core/scripts/hysteria2/update.sh
Normal file
42
core/scripts/hysteria2/update.sh
Normal file
@ -0,0 +1,42 @@
|
||||
echo "Starting the update process for Hysteria2..."
|
||||
echo "Backing up the current configuration..."
|
||||
cp /etc/hysteria/config.json /etc/hysteria/config_backup.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${red}Error:${NC} Failed to back up configuration. Aborting update."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Downloading and installing the latest version of Hysteria2..."
|
||||
bash <(curl -fsSL https://get.hy2.sh/) >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${red}Error:${NC} Failed to download or install the latest version. Restoring backup configuration."
|
||||
mv /etc/hysteria/config_backup.json /etc/hysteria/config.json
|
||||
restart_hysteria_service >/dev/null 2>&1
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Restoring configuration from backup..."
|
||||
mv /etc/hysteria/config_backup.json /etc/hysteria/config.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${red}Error:${NC} Failed to restore configuration from backup."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Modifying systemd service to use config.json..."
|
||||
sed -i 's|/etc/hysteria/config.yaml|/etc/hysteria/config.json|' /etc/systemd/system/hysteria-server.service
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${red}Error:${NC} Failed to modify systemd service."
|
||||
return 1
|
||||
fi
|
||||
|
||||
rm /etc/hysteria/config.yaml
|
||||
systemctl daemon-reload >/dev/null 2>&1
|
||||
restart_hysteria_service >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "${red}Error:${NC} Failed to restart Hysteria2 service."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Hysteria2 has been successfully updated."
|
||||
echo ""
|
||||
return 0
|
||||
@ -0,0 +1,30 @@
|
||||
if systemctl is-active --quiet wg-quick@wgcf.service; then
|
||||
echo "Uninstalling WARP..."
|
||||
bash <(curl -fsSL git.io/warp.sh) dwg
|
||||
|
||||
if [ -f "/etc/hysteria/config.json" ]; then
|
||||
default_config='["reject(geosite:ir)", "reject(geoip:ir)", "reject(geosite:category-ads-all)", "reject(geoip:private)", "reject(geosite:google@ads)"]'
|
||||
|
||||
jq --argjson default_config "$default_config" '
|
||||
.acl.inline |= map(
|
||||
if . == "warps(all)" or . == "warps(geoip:google)" or . == "warps(geosite:google)" or . == "warps(geosite:netflix)" or . == "warps(geosite:spotify)" or . == "warps(geosite:openai)" or . == "warps(geoip:openai)" then
|
||||
"direct"
|
||||
elif . == "warps(geosite:ir)" then
|
||||
"reject(geosite:ir)"
|
||||
elif . == "warps(geoip:ir)" then
|
||||
"reject(geoip:ir)"
|
||||
else
|
||||
.
|
||||
end
|
||||
) | .acl.inline |= ($default_config + (. - $default_config | map(select(. != "direct"))))
|
||||
' /etc/hysteria/config.json > /etc/hysteria/config_temp.json && mv /etc/hysteria/config_temp.json /etc/hysteria/config.json
|
||||
jq 'del(.outbounds[] | select(.name == "warps" and .type == "direct" and .direct.mode == 4 and .direct.bindDevice == "wgcf"))' /etc/hysteria/config.json > /etc/hysteria/config_temp.json && mv /etc/hysteria/config_temp.json /etc/hysteria/config.json
|
||||
|
||||
restart_hysteria_service >/dev/null 2>&1
|
||||
echo "WARP uninstalled and configurations reset to default."
|
||||
else
|
||||
echo "${red}Error:${NC} Config file /etc/hysteria/config.json not found."
|
||||
fi
|
||||
else
|
||||
echo "WARP is not active. Skipping uninstallation."
|
||||
fi
|
||||
Reference in New Issue
Block a user