[PR #3455] [MERGED] Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 #4320

Closed
opened 2025-11-20 06:09:26 -05:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/3455
Author: @MickLesk
Created: 3/28/2025
Status: Merged
Merged: 4/1/2025
Merged by: @MickLesk

Base: mainHead: curl_wget


📝 Commits (10+)

📊 Changes

585 files changed (+2366 additions, -2260 deletions)

View changed files

📝 .github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md (+1 -1)
📝 .github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh (+3 -3)
📝 .github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh (+5 -5)
📝 .github/workflows/script-test.yml (+76 -79)
📝 .github/workflows/script_format.yml (+14 -15)
📝 .github/workflows/scripts/app-test/pr-build.func (+1 -1)
📝 .github/workflows/scripts/app-test/pr-create-lxc.sh (+1 -1)
📝 .github/workflows/scripts/generate-app-headers.sh (+1 -1)
📝 .github/workflows/scripts/update-json.sh (+1 -1)
📝 .github/workflows/scripts/update_json_date.sh (+2 -2)
📝 CHANGELOG.md (+1 -1)
📝 ct/2fauth.sh (+4 -4)
📝 ct/actualbudget.sh (+4 -4)
📝 ct/adguard.sh (+2 -2)
📝 ct/adventurelog.sh (+4 -4)
📝 ct/agentdvr.sh (+1 -1)
📝 ct/alpine-docker.sh (+2 -2)
📝 ct/alpine-grafana.sh (+2 -2)
📝 ct/alpine-it-tools.sh (+24 -24)
📝 ct/alpine-nextcloud.sh (+6 -6)

...and 80 more files

📄 Description

✍️ Description

This update introduces a full migration from wget and curl -s to curl -fsSL across the entire codebase, following best practices for reliability, security, and error visibility.


Key Changes

  • 🔄 Replaced all wget calls with curl -fsSL or curl -fJL (where --content-disposition was needed)
  • 🔁 Unified all curl -s, curl -sL and partial variants to curl -fsSL
  • 🧠 Introduced smart filename handling for:
    • curl -o <file> (explicit target)
    • curl -O (autodetected filename)
  • 🧼 Removed incorrect/ambiguous uses like wget -qO- ... -O file
  • 🧾 Replaced inline usages such as:
    • bash -c "$(wget ...)"bash -c "$(curl -fsSL ...)"
    • source /dev/stdin <<< $(wget ...)$(curl -fsSL ...)

📁 Scope

Affected directories:

  • /install
  • /ct
  • /misc
  • VM setup scripts (/vm)
  • api.func, build.func, and related helpers

File types:

  • *.sh, *.bash, *.txt, and various install scripts

🌐 IPv6 Preparation

  • ⚙️ Enabled dual-stack / IPv6 endpoints for key services
  • 🧪 Prepared frontend service call targets for native IPv6 support

🧹 Other Improvements

  • All affected scripts auto-formatted via VSCode Format Document
  • 🧽 Cleanup of legacy logic and unused wget variants
  • 🧾 Commented substitutions in some scripts for reviewer traceability

Link: #

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • [] No breaking changes – Existing functionality remains intact.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/3455 **Author:** [@MickLesk](https://github.com/MickLesk) **Created:** 3/28/2025 **Status:** ✅ Merged **Merged:** 4/1/2025 **Merged by:** [@MickLesk](https://github.com/MickLesk) **Base:** `main` ← **Head:** `curl_wget` --- ### 📝 Commits (10+) - [`c22f7c0`](https://github.com/community-scripts/ProxmoxVE/commit/c22f7c0e968e7e0fd942e92429d66b45ab856e69) Initial Call, Switch from curl -s to curl -fsSL and wget to curl -fssL - [`0151d4a`](https://github.com/community-scripts/ProxmoxVE/commit/0151d4ad6ed14646dd3928b1c9d98e4b3fd62655) more switches - [`af32c3d`](https://github.com/community-scripts/ProxmoxVE/commit/af32c3d88dbe4aa4eb991aa9ca8184e980376ffe) switch vms - [`b1c5f31`](https://github.com/community-scripts/ProxmoxVE/commit/b1c5f317bd35dde67f2f1c3713cba26d11164ed5) more curls - [`05690e8`](https://github.com/community-scripts/ProxmoxVE/commit/05690e8a935de1f3d12f12b3de3865ffcf510a2d) More curls - [`bf84a49`](https://github.com/community-scripts/ProxmoxVE/commit/bf84a49e14f35a8d3b93f9facbda7956d9477f26) more - [`34f2539`](https://github.com/community-scripts/ProxmoxVE/commit/34f2539c418d8c206da6fa258dc48ddd12fd8dce) more - [`25206f3`](https://github.com/community-scripts/ProxmoxVE/commit/25206f3a5ace57a0ddce5464eb953d63bad758e5) more changes - [`c34e394`](https://github.com/community-scripts/ProxmoxVE/commit/c34e39467509128ec0e987b62f262be2e2e7a51a) more - [`8da2e63`](https://github.com/community-scripts/ProxmoxVE/commit/8da2e63b563ef1b0fa052a4d48345eee2a5aa205) prepare ipv6 calls ### 📊 Changes **585 files changed** (+2366 additions, -2260 deletions) <details> <summary>View changed files</summary> 📝 `.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md` (+1 -1) 📝 `.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh` (+3 -3) 📝 `.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh` (+5 -5) 📝 `.github/workflows/script-test.yml` (+76 -79) 📝 `.github/workflows/script_format.yml` (+14 -15) 📝 `.github/workflows/scripts/app-test/pr-build.func` (+1 -1) 📝 `.github/workflows/scripts/app-test/pr-create-lxc.sh` (+1 -1) 📝 `.github/workflows/scripts/generate-app-headers.sh` (+1 -1) 📝 `.github/workflows/scripts/update-json.sh` (+1 -1) 📝 `.github/workflows/scripts/update_json_date.sh` (+2 -2) 📝 `CHANGELOG.md` (+1 -1) 📝 `ct/2fauth.sh` (+4 -4) 📝 `ct/actualbudget.sh` (+4 -4) 📝 `ct/adguard.sh` (+2 -2) 📝 `ct/adventurelog.sh` (+4 -4) 📝 `ct/agentdvr.sh` (+1 -1) 📝 `ct/alpine-docker.sh` (+2 -2) 📝 `ct/alpine-grafana.sh` (+2 -2) 📝 `ct/alpine-it-tools.sh` (+24 -24) 📝 `ct/alpine-nextcloud.sh` (+6 -6) _...and 80 more files_ </details> ### 📄 Description ## ✍️ Description This update introduces a **full migration from `wget` and `curl -s` to `curl -fsSL`** across the entire codebase, following best practices for reliability, security, and error visibility. --- ### ✅ Key Changes - 🔄 Replaced all `wget` calls with `curl -fsSL` or `curl -fJL` (where `--content-disposition` was needed) - 🔁 Unified all `curl -s`, `curl -sL` and partial variants to `curl -fsSL` - 🧠 Introduced smart filename handling for: - `curl -o <file>` (explicit target) - `curl -O` (autodetected filename) - 🧼 Removed incorrect/ambiguous uses like `wget -qO- ... -O file` - 🧾 Replaced inline usages such as: - `bash -c "$(wget ...)"` → `bash -c "$(curl -fsSL ...)"` - `source /dev/stdin <<< $(wget ...)` → `$(curl -fsSL ...)` --- ### 📁 Scope Affected directories: - `/install` - `/ct` - `/misc` - VM setup scripts (`/vm`) - `api.func`, `build.func`, and related helpers File types: - `*.sh`, `*.bash`, `*.txt`, and various install scripts --- ### 🌐 IPv6 Preparation - ⚙️ Enabled dual-stack / IPv6 endpoints for key services - 🧪 Prepared frontend service call targets for native IPv6 support --- ### 🧹 Other Improvements - ✨ All affected scripts auto-formatted via VSCode Format Document - 🧽 Cleanup of legacy logic and unused `wget` variants - 🧾 Commented substitutions in some scripts for reviewer traceability --- ## 🔗 Related PR / Issue Link: # ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [ ] **Tested thoroughly** – Changes work as expected. - [] **No breaking changes** – Existing functionality remains intact. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [x] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [x] ✨ **New feature** – Adds new, non-breaking functionality. - [x] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [x] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [x] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [x] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2025-11-20 06:09:26 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/ProxmoxVE#4320