diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh index a9694ac7..aa1a0652 100644 --- a/ct/zoraxy.sh +++ b/ct/zoraxy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) +source <(curl -s https://raw.githubusercontent.com/dsiebel/Proxmox/zoraxy-prebuilt/misc/build.func) # Copyright (c) 2021-2024 tteck # Author: tteck (tteckster) # License: MIT @@ -20,7 +20,7 @@ header_info echo -e "Loading..." APP="Zoraxy" var_disk="6" -var_cpu="4" +var_cpu="2" var_ram="2048" var_os="debian" var_version="12" @@ -54,20 +54,19 @@ function default_settings() { function update_script() { header_info -if [[ ! -d /opt/zoraxy/src ]]; then msg_error "No ${APP} Installation Found!"; exit; fi -whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75 -msg_info "Updating $APP" -systemctl stop zoraxy -cd /opt/zoraxy/src -systemctl stop zoraxy -if git pull | grep -q 'Already up to date.'; then - msg_ok "Already up to date. No update required." +if [[ ! -f /etc/systemd/system/zoraxy.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi +RELEASE="$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases | grep -oP '"tag_name":\s*"\K[\d.]+?(?=")' | sort -V | tail -n1)" +msg_info "Updating ${APP} LXC to ${RELEASE}" +if [[ "${RELEASE}" != "$(cat "/opt/${APP}_version.txt")" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then + wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" + install zoraxy_linux_amd64 /usr/bin/zoraxy + rm zoraxy_linux_amd64 + echo "${RELEASE}" > "/opt/${APP}_version.txt" + systemctl restart traefik.service + msg_ok "Updated ${APP} LXC" else - go mod tidy - go build - msg_ok "Updated $APP" + msg_ok "No update required. ${APP} is already at ${RELEASE}" fi -systemctl start zoraxy exit } @@ -75,9 +74,6 @@ start build_container description -msg_info "Setting Container to Normal Resources" -pct set $CTID -cores 2 -msg_ok "Set Container to Normal Resources" msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. ${BL}http://${IP}:8000${CL} \n" diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index 73787ed1..45e481c0 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -20,20 +20,11 @@ $STD apt-get install -y mc $STD apt-get install -y git msg_ok "Installed Dependencies" -msg_info "Installing Golang" -set +o pipefail -RELEASE=$(curl -s https://go.dev/dl/ | grep -o "go.*\linux-amd64.tar.gz" | head -n 1) -wget -q https://golang.org/dl/$RELEASE -$STD tar -xzf $RELEASE -C /usr/local -$STD ln -s /usr/local/go/bin/go /usr/local/bin/go -set -o pipefail -msg_ok "Installed Golang" - -msg_info "Installing Zoraxy (Patience)" -$STD git clone https://github.com/tobychui/zoraxy /opt/zoraxy -cd /opt/zoraxy/src -$STD go mod tidy -$STD go build +RELEASE="$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases | grep -oP '"tag_name":\s*"\K[\d.]+?(?=")' | sort -V | tail -n1)" +msg_info "Installing Zoraxy v${RELEASE}" +wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" +install zoraxy_linux_amd64 /usr/bin/zoraxy +echo "${RELEASE}" > "/opt/${APPLICATION}_version.txt" msg_ok "Installed Zoraxy" msg_info "Creating Service" @@ -43,8 +34,7 @@ Description=General purpose request proxy and forwarding tool After=syslog.target network-online.target [Service] -ExecStart=/opt/zoraxy/src/./zoraxy -WorkingDirectory=/opt/zoraxy/src/ +ExecStart=/usr/bin/zoraxy Restart=always [Install] @@ -57,7 +47,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf $RELEASE $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/misc/build.func b/misc/build.func index 8d46624c..7cdbf4a7 100644 --- a/misc/build.func +++ b/misc/build.func @@ -537,9 +537,9 @@ build_container() { TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null if [ "$var_os" == "alpine" ]; then - export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/alpine-install.func)" + export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/dsiebel/Proxmox/zoraxy-prebuilt/misc/alpine-install.func)" else - export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/install.func)" + export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/dsiebel/Proxmox/zoraxy-prebuilt/misc/install.func)" fi export CACHER="$APT_CACHER" export CACHER_IP="$APT_CACHER_IP" @@ -569,7 +569,7 @@ build_container() { $PW " # This executes create_lxc.sh and creates the container and .conf file - bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit + bash -c "$(wget -qLO - https://raw.githubusercontent.com/dsiebel/Proxmox/zoraxy-prebuilt/ct/create_lxc.sh)" || exit LXC_CONFIG=/etc/pve/lxc/${CTID}.conf if [ "$CT_TYPE" == "0" ]; then @@ -633,7 +633,7 @@ http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' pct exec "$CTID" -- ash -c "apk add bash >/dev/null" fi - lxc-attach -n "$CTID" -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/install/$var_install.sh)" || exit + lxc-attach -n "$CTID" -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/dsiebel/Proxmox/zoraxy-prebuilt/install/$var_install.sh)" || exit }