diff --git a/install/twingate-connector-install.sh b/install/twingate-connector-install.sh index 6b267a4b..9f114c70 100644 --- a/install/twingate-connector-install.sh +++ b/install/twingate-connector-install.sh @@ -1,11 +1,10 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 community-scripts ORG -# Author: twingate-andrewb +# Author: MickLesk (CanbiZ), twingate-andrewb # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.twingate.com/docs/ -# Import Functions und Setup source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 @@ -14,52 +13,40 @@ setting_up_container network_check update_os +install -d -m 0700 /etc/twingate -while true; do - read -rp "Please enter your access token: " access_token - if [[ -z "$access_token" ]]; then - msg_error "Access token cannot be empty. Please try again." - else - break - fi +while [[ -z "$access_token" ]]; do + read -rp "${TAB3}Please enter your access token: " access_token +done +while [[ -z "$refresh_token" ]]; do + read -rp "${TAB3}Please enter your refresh token: " refresh_token +done +while [[ -z "$network" ]]; do + read -rp "${TAB3}Please enter your network name: " network done -while true; do - read -rp "Please enter your refresh token: " refresh_token - if [[ -z "$refresh_token" ]]; then - msg_error "Refresh token cannot be empty. Please try again." - else - break - fi -done +msg_info "Setup Twingate Repository" +curl -fsSL "https://packages.twingate.com/apt/gpg.key" | gpg --dearmor -o /usr/share/keyrings/twingate-connector-keyring.gpg +echo "deb [signed-by=/usr/share/keyrings/twingate-connector-keyring.gpg] https://packages.twingate.com/apt/ /" > /etc/apt/sources.list.d/twingate.list +$STD apt-get update +msg_ok "Setup Twingate Repository" -while true; do - read -rp "Please enter your network name: " network - if [[ -z "$network" ]]; then - msg_error "Network cannot be empty. Please try again." - else - break - fi -done +msg_info "Setup Twingate Connector" +$STD apt-get install -y twingate-connector +msg_ok "Setup Twingate Connector" -msg_info "Installing Twingate Connector..." -export TWINGATE_ACCESS_TOKEN="${access_token}" -export TWINGATE_REFRESH_TOKEN="${refresh_token}" -export TWINGATE_NETWORK="${network}" -export TWINGATE_LABEL_DEPLOYED_BY="proxmox" -curl -fsSL "https://binaries.twingate.com/connector/setup.sh" | bash >> /dev/null 2>&1 -if [[ $? -ne 0 ]]; then - msg_error "Failed to set up Twingate Connector. Please double check your tokens and network name." - exit 1 -fi -msg_ok "Twingate Connector installed!" +msg_info "Writing config" +{ + echo "TWINGATE_NETWORK=${network}" + echo "TWINGATE_ACCESS_TOKEN=${access_token}" + echo "TWINGATE_REFRESH_TOKEN=${refresh_token}" +} > /etc/twingate/connector.conf +chmod 600 /etc/twingate/connector.conf +msg_ok "Config written" -msg_info "Starting Twingate Connector..." -# give the connector time to start -sleep 5s -msg_ok "Twingate Connector started!" - -echo -e "${INFO}${YW} Twingate Connector status: $(systemctl status twingate-connector) ${CL}" +msg_info "Starting Service" +systemctl enable -q --now twingate-connector +msg_ok "Service started" motd_ssh customize