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"