From d7e77e232c80f12892b3d7a7bf88bfd03a35096b Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 13:48:51 +0200 Subject: [PATCH] 'Add new script' (#7974) Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> --- ct/headers/myip | 6 ++++ ct/myip.sh | 55 ++++++++++++++++++++++++++++++++++ frontend/public/json/myip.json | 35 ++++++++++++++++++++++ install/myip-install.sh | 54 +++++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 ct/headers/myip create mode 100644 ct/myip.sh create mode 100644 frontend/public/json/myip.json create mode 100644 install/myip-install.sh diff --git a/ct/headers/myip b/ct/headers/myip new file mode 100644 index 000000000..d7a8d566c --- /dev/null +++ b/ct/headers/myip @@ -0,0 +1,6 @@ + __ ___ ________ + / |/ /_ __/ _/ __ \ + / /|_/ / / / // // /_/ / + / / / / /_/ // // ____/ +/_/ /_/\__, /___/_/ + /____/ diff --git a/ct/myip.sh b/ct/myip.sh new file mode 100644 index 000000000..9ab121c5c --- /dev/null +++ b/ct/myip.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://ipcheck.ing/ + +APP="MyIP" +var_tags="${var_tags:-network}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/myip ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "myip" "jason5ng32/MyIP"; then + msg_info "Stopping Services" + systemctl stop myip + msg_ok "Stopped Services" + + cp /opt/myip/.env /opt + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball" + mv /opt/.env /opt/myip + + msg_info "Starting Services" + systemctl start myip + msg_ok "Started Services" + msg_ok "Updated Successfully" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18966${CL}" diff --git a/frontend/public/json/myip.json b/frontend/public/json/myip.json new file mode 100644 index 000000000..8698c12b5 --- /dev/null +++ b/frontend/public/json/myip.json @@ -0,0 +1,35 @@ +{ + "name": "MyIP", + "slug": "myip", + "categories": [ + 4 + ], + "date_created": "2025-07-02", + "type": "ct", + "updateable": true, + "privileged": false, + "config_path": "/opt/myip/.env", + "interface_port": 18966, + "documentation": "https://github.com/jason5ng32/MyIP#-environment-variable", + "website": "https://ipcheck.ing/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/myip.webp", + "description": "The best IP Toolbox. Easy to check what's your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability, whois search and more!", + "install_methods": [ + { + "type": "default", + "script": "ct/myip.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/myip-install.sh b/install/myip-install.sh new file mode 100644 index 000000000..59d35bcdb --- /dev/null +++ b/install/myip-install.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://ipcheck.ing/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +NODE_VERSION="22" setup_nodejs +fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball" + +msg_info "Configuring MyIP" +cd /opt/myip +cp .env.example .env +$STD npm install +$STD npm run build +msg_ok "Configured MyIP" + +msg_info "Creating Service" +cat </etc/systemd/system/myip.service +[Unit] +Description=MyIP Service +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/myip +ExecStart=/usr/bin/npm start +EnvironmentFile=/opt/myip/.env +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now myip +msg_ok "Service created" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt -y autoremove +$STD apt -y autoclean +$STD apt -y clean +msg_ok "Cleaned"