mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-16 04:03:33 +01:00
Compare commits
29 Commits
2025-11-24
...
2025-11-26
| Author | SHA1 | Date | |
|---|---|---|---|
| d4e1b8f354 | |||
| 1a4f9ff815 | |||
| ee3d4874d1 | |||
| 01442d08ec | |||
| e1bf05ad69 | |||
| 7d435a1a5e | |||
| 7184755a0f | |||
| f0a23be999 | |||
| 93a764676f | |||
| 21e9030946 | |||
| 01774b1967 | |||
| 63c5b922de | |||
| 789cd3e187 | |||
| 282e8ef186 | |||
| 8a0b1d864b | |||
| d2a103c230 | |||
| 949ecc39ad | |||
| a9c08a611e | |||
| e13119250d | |||
| 87f71f75b1 | |||
| 3b6e5aae5f | |||
| f90fdadbb2 | |||
| 120affbcc5 | |||
| ae81cafa10 | |||
| f60493a862 | |||
| 0cbce2287d | |||
| edfeda61ad | |||
| 1815fee99b | |||
| 4bf830c6bf |
33
CHANGELOG.md
33
CHANGELOG.md
@ -10,8 +10,41 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-11-27
|
||||
|
||||
## 2025-11-26
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Joplin Server: Increase RAM for LXC [@tremor021](https://github.com/tremor021) ([#9460](https://github.com/community-scripts/ProxmoxVE/pull/9460))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix Open WebUI update logic (swap upgrade/install) [@camcop](https://github.com/camcop) ([#9461](https://github.com/community-scripts/ProxmoxVE/pull/9461))
|
||||
|
||||
## 2025-11-25
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Open WebUI: Change install command to upgrade for Open-WebUI [@tremor021](https://github.com/tremor021) ([#9448](https://github.com/community-scripts/ProxmoxVE/pull/9448))
|
||||
- core: set default LANG in locale configuration [@MickLesk](https://github.com/MickLesk) ([#9440](https://github.com/community-scripts/ProxmoxVE/pull/9440))
|
||||
- documenso: switch to npm peer-.deps to get build running [@MickLesk](https://github.com/MickLesk) ([#9441](https://github.com/community-scripts/ProxmoxVE/pull/9441))
|
||||
- Refactor Asterisk installation process [@MickLesk](https://github.com/MickLesk) ([#9429](https://github.com/community-scripts/ProxmoxVE/pull/9429))
|
||||
- Fix the mikrotik VM installer after they reformatted their downloads page [@paul-ridgway](https://github.com/paul-ridgway) ([#9434](https://github.com/community-scripts/ProxmoxVE/pull/9434))
|
||||
- paperless: patch consume to uv [@MickLesk](https://github.com/MickLesk) ([#9425](https://github.com/community-scripts/ProxmoxVE/pull/9425))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- add Zabbix version selection to install and update scripts [@MickLesk](https://github.com/MickLesk) ([#9430](https://github.com/community-scripts/ProxmoxVE/pull/9430))
|
||||
|
||||
### 🧰 Maintenance
|
||||
|
||||
- #### 📂 Github
|
||||
|
||||
- gh: update supported PVE Version [@MickLesk](https://github.com/MickLesk) ([#9422](https://github.com/community-scripts/ProxmoxVE/pull/9422))
|
||||
|
||||
## 2025-11-24
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
<tr>
|
||||
<td align="center" width="33%">
|
||||
<h3>🖥️ Proxmox VE</h3>
|
||||
<p>Version 8.4.x or 9.0.x</p>
|
||||
<p>Version: 8.4.x | 9.0.x | 9.1.x</p>
|
||||
</td>
|
||||
<td align="center" width="33%">
|
||||
<h3>🐧 Operating System</h3>
|
||||
|
||||
@ -6,6 +6,7 @@ This project currently supports the following versions of Proxmox VE (PVE):
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 9.1.x | :white_check_mark: |
|
||||
| 9.0.x | :white_check_mark: |
|
||||
| 8.4.x | :white_check_mark: |
|
||||
| 8.3.x | Limited support* ❕ |
|
||||
|
||||
@ -46,7 +46,13 @@ function update_script() {
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
export CYPRESS_INSTALL_BINARY=0
|
||||
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||
$STD npm ci
|
||||
$STD turbo prune --scope=@documenso/remix --docker
|
||||
cd out
|
||||
$STD cp ../lingui.config.ts .
|
||||
$STD cp ../turbo.json .
|
||||
$STD cp -r json/* .
|
||||
$STD npm install --legacy-peer-deps
|
||||
$STD cp -r full/* .
|
||||
$STD turbo run build --filter=@documenso/remix
|
||||
$STD npm run prisma:migrate-deploy
|
||||
$STD turbo daemon stop
|
||||
|
||||
@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
APP="Joplin-Server"
|
||||
var_tags="${var_tags:-notes}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_ram="${var_ram:-6144}"
|
||||
var_disk="${var_disk:-20}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
|
||||
@ -108,7 +108,7 @@ EOF
|
||||
|
||||
msg_info "Updating Open WebUI via uv"
|
||||
PYTHON_VERSION="3.12" setup_uv
|
||||
$STD uv tool install --python 3.12 open-webui[all]
|
||||
$STD uv tool upgrade --python 3.12 open-webui[all]
|
||||
systemctl restart open-webui
|
||||
msg_ok "Updated Open WebUI"
|
||||
msg_ok "Updated successfully!"
|
||||
|
||||
@ -105,6 +105,7 @@ function update_script() {
|
||||
msg_ok "Backup completed to $BACKUP_DIR"
|
||||
|
||||
declare -A PATCHES=(
|
||||
["paperless-consumer.service"]="ExecStart=uv run -- python manage.py document_consumer"
|
||||
["paperless-scheduler.service"]="ExecStart=uv run -- celery --app paperless beat --loglevel INFO"
|
||||
["paperless-task-queue.service"]="ExecStart=uv run -- celery --app paperless worker --loglevel INFO"
|
||||
["paperless-webserver.service"]="ExecStart=uv run -- granian --interface asgi --ws \"paperless.asgi:application\""
|
||||
|
||||
21
ct/zabbix.sh
21
ct/zabbix.sh
@ -46,7 +46,20 @@ function update_script() {
|
||||
systemctl stop "$AGENT_SERVICE"
|
||||
msg_ok "Stopped Services"
|
||||
|
||||
msg_info "Updating Zabbix"
|
||||
read -rp "Choose Zabbix version [1] 7.0 LTS [2] 7.4 (Latest Stable) [3] Latest available (default: 2): " ZABBIX_CHOICE
|
||||
ZABBIX_CHOICE=${ZABBIX_CHOICE:-2}
|
||||
case "$ZABBIX_CHOICE" in
|
||||
1) ZABBIX_VERSION="7.0" ;;
|
||||
2) ZABBIX_VERSION="7.4" ;;
|
||||
3) ZABBIX_VERSION=$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1) ;;
|
||||
*)
|
||||
ZABBIX_VERSION="7.4"
|
||||
echo "Invalid choice. Defaulting to 7.4."
|
||||
;;
|
||||
esac
|
||||
|
||||
msg_info "Updating Zabbix to $ZABBIX_VERSION"
|
||||
mkdir -p /opt/zabbix-backup/
|
||||
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
|
||||
cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
|
||||
@ -54,10 +67,8 @@ function update_script() {
|
||||
|
||||
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
||||
cd /tmp
|
||||
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
||||
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \
|
||||
-o /tmp/zabbix-release_latest+debian13_all.deb
|
||||
ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb"
|
||||
curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb
|
||||
$STD dpkg -i zabbix-release_latest+debian13_all.deb
|
||||
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
|
||||
$STD apt update
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
"script": "ct/joplin-server.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 4096,
|
||||
"ram": 6144,
|
||||
"hdd": 20,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
@ -35,6 +35,10 @@
|
||||
{
|
||||
"text": "Application can take some time to build, depending on your host speed. Please be patient.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Default RAM size for LXC is set to 6GB because of Node.js building process. You can lower it after application installs",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,8 +1,228 @@
|
||||
[
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.539",
|
||||
"date": "2025-11-25T16:05:32Z"
|
||||
},
|
||||
{
|
||||
"name": "gristlabs/grist-core",
|
||||
"version": "v1.7.8",
|
||||
"date": "2025-11-26T22:35:03Z"
|
||||
},
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v4.33.1",
|
||||
"date": "2025-11-26T21:30:35Z"
|
||||
},
|
||||
{
|
||||
"name": "BerriAI/litellm",
|
||||
"version": "v1.80.0-stable.1",
|
||||
"date": "2025-11-24T23:05:30Z"
|
||||
"version": "v1.80.5.dev2",
|
||||
"date": "2025-11-26T21:37:55Z"
|
||||
},
|
||||
{
|
||||
"name": "tailscale/tailscale",
|
||||
"version": "v1.93.0-pre",
|
||||
"date": "2025-11-26T20:50:59Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.8",
|
||||
"date": "2025-11-13T04:42:27Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.11.3",
|
||||
"date": "2025-11-21T17:03:22Z"
|
||||
},
|
||||
{
|
||||
"name": "Stirling-Tools/Stirling-PDF",
|
||||
"version": "v2.0.1",
|
||||
"date": "2025-11-26T17:32:37Z"
|
||||
},
|
||||
{
|
||||
"name": "jhuckaby/Cronicle",
|
||||
"version": "v0.9.101",
|
||||
"date": "2025-11-26T17:14:35Z"
|
||||
},
|
||||
{
|
||||
"name": "NodeBB/NodeBB",
|
||||
"version": "v4.7.0",
|
||||
"date": "2025-11-26T16:59:45Z"
|
||||
},
|
||||
{
|
||||
"name": "chrisbenincasa/tunarr",
|
||||
"version": "v0.22.17",
|
||||
"date": "2025-11-26T16:35:05Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.121.3",
|
||||
"date": "2025-11-26T14:58:48Z"
|
||||
},
|
||||
{
|
||||
"name": "readeck/readeck",
|
||||
"version": "0.21.3",
|
||||
"date": "2025-11-26T16:08:17Z"
|
||||
},
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "352",
|
||||
"date": "2025-11-26T14:33:24Z"
|
||||
},
|
||||
{
|
||||
"name": "duplicati/duplicati",
|
||||
"version": "v2.2.0.2-2.2.0.2_beta_2025-11-26",
|
||||
"date": "2025-11-26T14:20:54Z"
|
||||
},
|
||||
{
|
||||
"name": "healthchecks/healthchecks",
|
||||
"version": "v3.12",
|
||||
"date": "2025-11-26T12:46:55Z"
|
||||
},
|
||||
{
|
||||
"name": "openobserve/openobserve",
|
||||
"version": "v0.20.0-rc2",
|
||||
"date": "2025-11-26T12:15:42Z"
|
||||
},
|
||||
{
|
||||
"name": "inventree/InvenTree",
|
||||
"version": "1.1.6",
|
||||
"date": "2025-11-26T11:42:59Z"
|
||||
},
|
||||
{
|
||||
"name": "tobychui/zoraxy",
|
||||
"version": "v3.3.0-rc2",
|
||||
"date": "2025-11-26T11:42:11Z"
|
||||
},
|
||||
{
|
||||
"name": "Luligu/matterbridge",
|
||||
"version": "3.4.0",
|
||||
"date": "2025-11-26T11:41:16Z"
|
||||
},
|
||||
{
|
||||
"name": "NLnetLabs/unbound",
|
||||
"version": "release-1.24.2",
|
||||
"date": "2025-11-26T11:22:30Z"
|
||||
},
|
||||
{
|
||||
"name": "evcc-io/evcc",
|
||||
"version": "0.210.1",
|
||||
"date": "2025-11-26T10:09:24Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "coverity-w48-4.14.2",
|
||||
"date": "2025-11-26T07:57:00Z"
|
||||
},
|
||||
{
|
||||
"name": "SigNoz/signoz",
|
||||
"version": "v0.103.0",
|
||||
"date": "2025-11-26T06:51:12Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.360",
|
||||
"date": "2025-11-26T05:55:45Z"
|
||||
},
|
||||
{
|
||||
"name": "HabitRPG/habitica",
|
||||
"version": "v5.42.0",
|
||||
"date": "2025-11-26T02:01:01Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.5",
|
||||
"date": "2025-11-26T00:27:13Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.1.0",
|
||||
"date": "2025-11-23T12:13:34Z"
|
||||
},
|
||||
{
|
||||
"name": "BookStackApp/BookStack",
|
||||
"version": "v25.11.4",
|
||||
"date": "2025-11-25T22:26:51Z"
|
||||
},
|
||||
{
|
||||
"name": "seerr-team/seerr",
|
||||
"version": "preview-test-fix-subscriptions",
|
||||
"date": "2025-11-25T22:11:46Z"
|
||||
},
|
||||
{
|
||||
"name": "wizarrrr/wizarr",
|
||||
"version": "v2025.11.3",
|
||||
"date": "2025-11-25T20:20:38Z"
|
||||
},
|
||||
{
|
||||
"name": "netbox-community/netbox",
|
||||
"version": "v4.4.7",
|
||||
"date": "2025-11-25T19:58:16Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.2.11",
|
||||
"date": "2025-11-25T18:04:45Z"
|
||||
},
|
||||
{
|
||||
"name": "karlomikus/bar-assistant",
|
||||
"version": "v5.9.3",
|
||||
"date": "2025-11-25T18:18:34Z"
|
||||
},
|
||||
{
|
||||
"name": "gtsteffaniak/filebrowser",
|
||||
"version": "v1.0.2-stable",
|
||||
"date": "2025-11-25T18:00:38Z"
|
||||
},
|
||||
{
|
||||
"name": "Dolibarr/dolibarr",
|
||||
"version": "22.0.3",
|
||||
"date": "2025-11-25T17:25:41Z"
|
||||
},
|
||||
{
|
||||
"name": "element-hq/synapse",
|
||||
"version": "v1.143.0",
|
||||
"date": "2025-11-25T16:49:54Z"
|
||||
},
|
||||
{
|
||||
"name": "usememos/memos",
|
||||
"version": "v0.25.3",
|
||||
"date": "2025-11-25T15:40:41Z"
|
||||
},
|
||||
{
|
||||
"name": "booklore-app/booklore",
|
||||
"version": "v1.12.0",
|
||||
"date": "2025-11-25T13:17:08Z"
|
||||
},
|
||||
{
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.40",
|
||||
"date": "2025-11-25T11:01:46Z"
|
||||
},
|
||||
{
|
||||
"name": "documenso/documenso",
|
||||
"version": "v2.1.0",
|
||||
"date": "2025-11-25T09:48:39Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "v10.11.8",
|
||||
"date": "2025-11-21T17:06:07Z"
|
||||
},
|
||||
{
|
||||
"name": "zwave-js/zwave-js-ui",
|
||||
"version": "v11.8.1",
|
||||
"date": "2025-11-25T08:43:56Z"
|
||||
},
|
||||
{
|
||||
"name": "syncthing/syncthing",
|
||||
"version": "v2.0.11",
|
||||
"date": "2025-11-04T08:51:05Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
@ -19,21 +239,6 @@
|
||||
"version": "2.3.6",
|
||||
"date": "2025-11-24T19:40:27Z"
|
||||
},
|
||||
{
|
||||
"name": "gtsteffaniak/filebrowser",
|
||||
"version": "v1.0.1-stable",
|
||||
"date": "2025-11-10T16:51:44Z"
|
||||
},
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v4.32.7",
|
||||
"date": "2025-11-24T18:45:58Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.120.4",
|
||||
"date": "2025-11-19T12:57:55Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.30.15",
|
||||
@ -59,51 +264,21 @@
|
||||
"version": "7.0.1",
|
||||
"date": "2025-11-24T12:25:09Z"
|
||||
},
|
||||
{
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.38",
|
||||
"date": "2025-11-24T12:00:43Z"
|
||||
},
|
||||
{
|
||||
"name": "silverbulletmd/silverbullet",
|
||||
"version": "2.3.0",
|
||||
"date": "2025-11-24T09:48:32Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "semaphoreui/semaphore",
|
||||
"version": "v2.17.0-beta22",
|
||||
"date": "2025-11-24T06:07:49Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.348",
|
||||
"date": "2025-11-24T05:56:06Z"
|
||||
},
|
||||
{
|
||||
"name": "webmin/webmin",
|
||||
"version": "2.610",
|
||||
"date": "2025-11-24T04:28:30Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.8",
|
||||
"date": "2025-11-13T04:42:27Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.4.20",
|
||||
"date": "2025-11-24T00:27:05Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.1.0",
|
||||
"date": "2025-11-23T12:13:34Z"
|
||||
},
|
||||
{
|
||||
"name": "raydak-labs/configarr",
|
||||
"version": "v1.18.0",
|
||||
@ -129,16 +304,6 @@
|
||||
"version": "5.0.3",
|
||||
"date": "2025-11-23T14:22:13Z"
|
||||
},
|
||||
{
|
||||
"name": "readeck/readeck",
|
||||
"version": "0.21.2",
|
||||
"date": "2025-11-23T10:56:43Z"
|
||||
},
|
||||
{
|
||||
"name": "tobychui/zoraxy",
|
||||
"version": "v3.3.0-rc1",
|
||||
"date": "2025-11-23T05:42:35Z"
|
||||
},
|
||||
{
|
||||
"name": "hyperion-project/hyperion.ng",
|
||||
"version": "2.1.1",
|
||||
@ -174,11 +339,6 @@
|
||||
"version": "v14.2.0",
|
||||
"date": "2025-11-22T12:54:08Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.4.5",
|
||||
"date": "2025-11-12T15:24:23Z"
|
||||
},
|
||||
{
|
||||
"name": "pocketbase/pocketbase",
|
||||
"version": "v0.34.0",
|
||||
@ -189,16 +349,6 @@
|
||||
"version": "server-v3.4.4",
|
||||
"date": "2025-09-25T13:19:26Z"
|
||||
},
|
||||
{
|
||||
"name": "zwave-js/zwave-js-ui",
|
||||
"version": "v11.8.0",
|
||||
"date": "2025-11-22T07:54:42Z"
|
||||
},
|
||||
{
|
||||
"name": "inventree/InvenTree",
|
||||
"version": "1.1.5",
|
||||
"date": "2025-11-22T07:02:52Z"
|
||||
},
|
||||
{
|
||||
"name": "theonedev/onedev",
|
||||
"version": "v13.1.0",
|
||||
@ -224,26 +374,11 @@
|
||||
"version": "v1.72.0",
|
||||
"date": "2025-11-21T18:20:58Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "v10.11.8",
|
||||
"date": "2025-11-21T17:06:07Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.11.3",
|
||||
"date": "2025-11-21T17:03:22Z"
|
||||
},
|
||||
{
|
||||
"name": "Bubka/2FAuth",
|
||||
"version": "v5.6.1",
|
||||
"date": "2025-11-21T16:51:21Z"
|
||||
},
|
||||
{
|
||||
"name": "BookStackApp/BookStack",
|
||||
"version": "v25.11.3",
|
||||
"date": "2025-11-21T14:06:50Z"
|
||||
},
|
||||
{
|
||||
"name": "pommee/goaway",
|
||||
"version": "v0.62.19",
|
||||
@ -259,11 +394,6 @@
|
||||
"version": "v13.0.3",
|
||||
"date": "2025-11-21T12:43:04Z"
|
||||
},
|
||||
{
|
||||
"name": "chrisbenincasa/tunarr",
|
||||
"version": "v0.23.0-alpha.24",
|
||||
"date": "2025-11-21T12:16:39Z"
|
||||
},
|
||||
{
|
||||
"name": "seriousm4x/UpSnap",
|
||||
"version": "5.2.4",
|
||||
@ -279,16 +409,6 @@
|
||||
"version": "4.5.5",
|
||||
"date": "2025-10-24T11:12:22Z"
|
||||
},
|
||||
{
|
||||
"name": "openobserve/openobserve",
|
||||
"version": "v0.16.3",
|
||||
"date": "2025-11-21T08:54:06Z"
|
||||
},
|
||||
{
|
||||
"name": "booklore-app/booklore",
|
||||
"version": "v1.11.0",
|
||||
"date": "2025-11-21T08:09:03Z"
|
||||
},
|
||||
{
|
||||
"name": "MariaDB/server",
|
||||
"version": "mariadb-12.1.2",
|
||||
@ -324,21 +444,6 @@
|
||||
"version": "5.26.17",
|
||||
"date": "2025-11-20T16:09:28Z"
|
||||
},
|
||||
{
|
||||
"name": "duplicati/duplicati",
|
||||
"version": "v2.2.0.101-2.2.0.101_canary_2025-11-20",
|
||||
"date": "2025-11-20T14:50:45Z"
|
||||
},
|
||||
{
|
||||
"name": "NodeBB/NodeBB",
|
||||
"version": "v4.6.3",
|
||||
"date": "2025-11-20T14:13:22Z"
|
||||
},
|
||||
{
|
||||
"name": "SigNoz/signoz",
|
||||
"version": "v0.102.1",
|
||||
"date": "2025-11-20T12:20:18Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.44.0",
|
||||
@ -354,11 +459,6 @@
|
||||
"version": "5.12.0",
|
||||
"date": "2025-11-20T06:18:58Z"
|
||||
},
|
||||
{
|
||||
"name": "documenso/documenso",
|
||||
"version": "v2.0.14",
|
||||
"date": "2025-11-20T04:12:40Z"
|
||||
},
|
||||
{
|
||||
"name": "immich-app/immich",
|
||||
"version": "v2.3.1",
|
||||
@ -384,11 +484,6 @@
|
||||
"version": "v2.7.12",
|
||||
"date": "2025-05-29T17:08:26Z"
|
||||
},
|
||||
{
|
||||
"name": "tailscale/tailscale",
|
||||
"version": "v1.90.8",
|
||||
"date": "2025-11-19T16:30:57Z"
|
||||
},
|
||||
{
|
||||
"name": "dgtlmoon/changedetection.io",
|
||||
"version": "0.51.3",
|
||||
@ -404,11 +499,6 @@
|
||||
"version": "version/2025.10.2",
|
||||
"date": "2025-11-19T15:08:41Z"
|
||||
},
|
||||
{
|
||||
"name": "wizarrrr/wizarr",
|
||||
"version": "v2025.11.3",
|
||||
"date": "2025-11-19T14:57:27Z"
|
||||
},
|
||||
{
|
||||
"name": "hivemq/hivemq-community-edition",
|
||||
"version": "2025.5",
|
||||
@ -419,31 +509,16 @@
|
||||
"version": "v0.107.69",
|
||||
"date": "2025-10-30T15:31:50Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.538",
|
||||
"date": "2025-11-19T12:09:00Z"
|
||||
},
|
||||
{
|
||||
"name": "jupyter/notebook",
|
||||
"version": "v7.5.0",
|
||||
"date": "2025-11-19T08:36:29Z"
|
||||
},
|
||||
{
|
||||
"name": "element-hq/synapse",
|
||||
"version": "v1.143.0rc1",
|
||||
"date": "2025-11-19T00:09:31Z"
|
||||
},
|
||||
{
|
||||
"name": "umami-software/umami",
|
||||
"version": "v3.0.1",
|
||||
"date": "2025-11-18T18:50:35Z"
|
||||
},
|
||||
{
|
||||
"name": "seerr-team/seerr",
|
||||
"version": "preview-test-fix-subscriptions",
|
||||
"date": "2025-11-18T17:42:54Z"
|
||||
},
|
||||
{
|
||||
"name": "traefik/traefik",
|
||||
"version": "v3.6.2",
|
||||
@ -464,11 +539,6 @@
|
||||
"version": "v0.7.5",
|
||||
"date": "2025-11-18T10:50:21Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "coverity-w47-4.14.2",
|
||||
"date": "2025-11-18T07:24:43Z"
|
||||
},
|
||||
{
|
||||
"name": "0xERR0R/blocky",
|
||||
"version": "v0.28.2",
|
||||
@ -529,11 +599,6 @@
|
||||
"version": "v2.15.0",
|
||||
"date": "2025-11-16T18:53:49Z"
|
||||
},
|
||||
{
|
||||
"name": "Luligu/matterbridge",
|
||||
"version": "3.3.8",
|
||||
"date": "2025-11-16T17:04:37Z"
|
||||
},
|
||||
{
|
||||
"name": "AlexxIT/go2rtc",
|
||||
"version": "v1.9.12",
|
||||
@ -579,11 +644,6 @@
|
||||
"version": "v3.5.0",
|
||||
"date": "2025-11-14T16:23:33Z"
|
||||
},
|
||||
{
|
||||
"name": "Dolibarr/dolibarr",
|
||||
"version": "22.0.3",
|
||||
"date": "2025-11-14T14:49:25Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v4.7.0",
|
||||
@ -599,11 +659,6 @@
|
||||
"version": "v0.86.1",
|
||||
"date": "2025-11-14T05:05:44Z"
|
||||
},
|
||||
{
|
||||
"name": "gristlabs/grist-core",
|
||||
"version": "v1.7.7",
|
||||
"date": "2025-11-13T21:28:44Z"
|
||||
},
|
||||
{
|
||||
"name": "PrivateBin/PrivateBin",
|
||||
"version": "1.7.9",
|
||||
@ -614,21 +669,11 @@
|
||||
"version": "v2.40.3",
|
||||
"date": "2025-10-30T09:35:37Z"
|
||||
},
|
||||
{
|
||||
"name": "evcc-io/evcc",
|
||||
"version": "0.209.8",
|
||||
"date": "2025-11-13T07:20:49Z"
|
||||
},
|
||||
{
|
||||
"name": "pymedusa/Medusa",
|
||||
"version": "v1.0.25",
|
||||
"date": "2025-11-12T16:57:54Z"
|
||||
},
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "351",
|
||||
"date": "2025-11-12T11:28:06Z"
|
||||
},
|
||||
{
|
||||
"name": "moghtech/komodo",
|
||||
"version": "v1.19.5",
|
||||
@ -644,21 +689,11 @@
|
||||
"version": "v0.27.1",
|
||||
"date": "2025-11-11T19:32:29Z"
|
||||
},
|
||||
{
|
||||
"name": "karlomikus/bar-assistant",
|
||||
"version": "v5.9.2",
|
||||
"date": "2025-11-11T19:29:32Z"
|
||||
},
|
||||
{
|
||||
"name": "gethomepage/homepage",
|
||||
"version": "v1.7.0",
|
||||
"date": "2025-11-11T17:24:27Z"
|
||||
},
|
||||
{
|
||||
"name": "netbox-community/netbox",
|
||||
"version": "v4.4.6",
|
||||
"date": "2025-11-11T14:59:23Z"
|
||||
},
|
||||
{
|
||||
"name": "CrazyWolf13/web-check",
|
||||
"version": "1.1.0",
|
||||
@ -739,11 +774,6 @@
|
||||
"version": "v4.52.0",
|
||||
"date": "2025-11-06T22:39:26Z"
|
||||
},
|
||||
{
|
||||
"name": "HabitRPG/habitica",
|
||||
"version": "v5.41.6",
|
||||
"date": "2025-11-06T15:32:07Z"
|
||||
},
|
||||
{
|
||||
"name": "pocket-id/pocket-id",
|
||||
"version": "v1.15.0",
|
||||
@ -809,11 +839,6 @@
|
||||
"version": "v4.0.16.2944",
|
||||
"date": "2025-11-05T01:56:48Z"
|
||||
},
|
||||
{
|
||||
"name": "jhuckaby/Cronicle",
|
||||
"version": "v0.9.100",
|
||||
"date": "2025-11-04T17:44:39Z"
|
||||
},
|
||||
{
|
||||
"name": "prometheus/alertmanager",
|
||||
"version": "v0.29.0",
|
||||
@ -834,11 +859,6 @@
|
||||
"version": "16.3",
|
||||
"date": "2025-11-04T12:28:47Z"
|
||||
},
|
||||
{
|
||||
"name": "syncthing/syncthing",
|
||||
"version": "v2.0.11",
|
||||
"date": "2025-11-04T08:51:05Z"
|
||||
},
|
||||
{
|
||||
"name": "clusterzx/paperless-ai",
|
||||
"version": "v3.0.9",
|
||||
@ -929,11 +949,6 @@
|
||||
"version": "v25.8.0",
|
||||
"date": "2025-10-26T14:23:37Z"
|
||||
},
|
||||
{
|
||||
"name": "usememos/memos",
|
||||
"version": "v0.25.2",
|
||||
"date": "2025-10-24T12:30:04Z"
|
||||
},
|
||||
{
|
||||
"name": "crowdsecurity/crowdsec",
|
||||
"version": "v1.7.3",
|
||||
@ -954,11 +969,6 @@
|
||||
"version": "2.0.2",
|
||||
"date": "2025-10-22T17:03:54Z"
|
||||
},
|
||||
{
|
||||
"name": "NLnetLabs/unbound",
|
||||
"version": "release-1.24.1",
|
||||
"date": "2025-10-22T10:28:00Z"
|
||||
},
|
||||
{
|
||||
"name": "kyantech/Palmr",
|
||||
"version": "v3.2.5-beta",
|
||||
@ -984,11 +994,6 @@
|
||||
"version": "v4.3.2",
|
||||
"date": "2025-10-17T04:13:23Z"
|
||||
},
|
||||
{
|
||||
"name": "Stirling-Tools/Stirling-PDF",
|
||||
"version": "v1.5.0",
|
||||
"date": "2025-10-16T23:14:45Z"
|
||||
},
|
||||
{
|
||||
"name": "minio/minio",
|
||||
"version": "RELEASE.2025-10-15T17-29-55Z",
|
||||
@ -1179,11 +1184,6 @@
|
||||
"version": "0.6",
|
||||
"date": "2025-09-05T06:05:04Z"
|
||||
},
|
||||
{
|
||||
"name": "healthchecks/healthchecks",
|
||||
"version": "v3.11.2",
|
||||
"date": "2025-09-02T08:36:57Z"
|
||||
},
|
||||
{
|
||||
"name": "seanmorley15/AdventureLog",
|
||||
"version": "v0.11.0",
|
||||
|
||||
@ -13,64 +13,6 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
ASTERISK_VERSIONS_URL="https://www.asterisk.org/downloads/asterisk/all-asterisk-versions/"
|
||||
html=$(curl -fsSL "$ASTERISK_VERSIONS_URL")
|
||||
|
||||
LTS_VERSION=""
|
||||
for major in 20 22 24 26; do
|
||||
block=$(echo "$html" | awk "/Asterisk $major - LTS/,/<ul>/" || true)
|
||||
ver=$(echo "$block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1 | sed -E 's/.* - //' || true)
|
||||
if [ -n "$ver" ]; then
|
||||
LTS_VERSION="$LTS_VERSION $ver"
|
||||
fi
|
||||
unset ver block
|
||||
done
|
||||
LTS_VERSION=$(echo "$LTS_VERSION" | xargs | tr ' ' '\n' | sort -V | tail -n1)
|
||||
|
||||
STD_VERSION=""
|
||||
for major in 21 23 25 27; do
|
||||
block=$(echo "$html" | grep -A 20 "Asterisk $major</h3>" | head -n 20 || true)
|
||||
ver=$(echo "$block" | grep -oE 'Download (Latest - )?'"$major"'\.[0-9]+\.[0-9]+' | head -n1 | sed -E 's/Download (Latest - )?//' || true)
|
||||
if [ -n "$ver" ]; then
|
||||
STD_VERSION="$STD_VERSION $ver"
|
||||
fi
|
||||
unset ver block
|
||||
done
|
||||
STD_VERSION=$(echo "$STD_VERSION" | xargs | tr ' ' '\n' | sort -V | tail -n1)
|
||||
|
||||
cert_block=$(echo "$html" | awk '/Certified Asterisk/,/<ul>/')
|
||||
CERT_VERSION=$(echo "$cert_block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+-cert[0-9]+' | head -n1 | sed -E 's/.* - //' || true)
|
||||
|
||||
cat <<EOF
|
||||
Choose Asterisk version to install:
|
||||
1) Latest Standard ($STD_VERSION)
|
||||
2) Latest LTS ($LTS_VERSION)
|
||||
3) Latest Certified ($CERT_VERSION)
|
||||
EOF
|
||||
read -rp "Enter choice [1-3]: " ASTERISK_CHOICE
|
||||
|
||||
CERTIFIED=0
|
||||
case "$ASTERISK_CHOICE" in
|
||||
2)
|
||||
ASTERISK_VERSION="$LTS_VERSION"
|
||||
;;
|
||||
3)
|
||||
ASTERISK_VERSION="$CERT_VERSION"
|
||||
CERTIFIED=1
|
||||
;;
|
||||
*)
|
||||
ASTERISK_VERSION="$STD_VERSION"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$CERTIFIED" == "1" ]]; then
|
||||
RELEASE="certified-asterisk-${ASTERISK_VERSION}.tar.gz"
|
||||
DOWNLOAD_URL="https://downloads.asterisk.org/pub/telephony/certified-asterisk/$RELEASE"
|
||||
else
|
||||
RELEASE="asterisk-${ASTERISK_VERSION}.tar.gz"
|
||||
DOWNLOAD_URL="https://downloads.asterisk.org/pub/telephony/asterisk/$RELEASE"
|
||||
fi
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
libsrtp2-dev \
|
||||
@ -82,7 +24,54 @@ $STD apt install -y \
|
||||
libsqlite3-dev
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Downloading Asterisk"
|
||||
msg_info "Fetching Asterisk Versions"
|
||||
ASTERISK_LIST=$(curl -fsSL https://downloads.asterisk.org/pub/telephony/asterisk/ \
|
||||
| grep -oE 'asterisk-[0-9]+\.[0-9]+\.[0-9]+\.tar\.gz' \
|
||||
| sed 's/asterisk-//' \
|
||||
| sed 's/\.tar\.gz//' \
|
||||
| sort -V)
|
||||
# LTS: Major 20, 22, 24, 26
|
||||
LTS_VERSION=$(echo "$ASTERISK_LIST" | grep -E '^2(0|2|4|6)\.' | tail -n1 || true)
|
||||
# Standard: Major 21, 23, 25, 27
|
||||
STD_VERSION=$(echo "$ASTERISK_LIST" | grep -E '^2(1|3|5|7)\.' | tail -n1 || true)
|
||||
CERT_VERSION=$(curl -fsSL https://downloads.asterisk.org/pub/telephony/certified-asterisk/ \
|
||||
| grep -oE 'asterisk-certified-[0-9]+\.[0-9]+-cert[0-9]+\.tar\.gz' \
|
||||
| sed -E 's/asterisk-certified-//' \
|
||||
| sed -E 's/\.tar\.gz//' \
|
||||
| sort -V | tail -n1 || true)
|
||||
msg_ok "Fetched Versions"
|
||||
|
||||
cat <<EOF
|
||||
Choose Asterisk version to install:
|
||||
1) Latest Standard ($STD_VERSION)
|
||||
2) Latest LTS ($LTS_VERSION)
|
||||
3) Latest Certified ($CERT_VERSION)
|
||||
EOF
|
||||
read -rp "Enter choice [1-3]: " ASTERISK_CHOICE
|
||||
|
||||
CERTIFIED=0
|
||||
case "$ASTERISK_CHOICE" in
|
||||
2)
|
||||
ASTERISK_VERSION="$LTS_VERSION"
|
||||
;;
|
||||
3)
|
||||
ASTERISK_VERSION="$CERT_VERSION"
|
||||
CERTIFIED=1
|
||||
;;
|
||||
*)
|
||||
ASTERISK_VERSION="$STD_VERSION"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$CERTIFIED" == "1" ]]; then
|
||||
RELEASE="asterisk-certified-${ASTERISK_VERSION}.tar.gz"
|
||||
DOWNLOAD_URL="https://downloads.asterisk.org/pub/telephony/certified-asterisk/$RELEASE"
|
||||
else
|
||||
RELEASE="asterisk-${ASTERISK_VERSION}.tar.gz"
|
||||
DOWNLOAD_URL="https://downloads.asterisk.org/pub/telephony/asterisk/$RELEASE"
|
||||
fi
|
||||
|
||||
msg_info "Downloading Asterisk ($RELEASE)"
|
||||
temp_file=$(mktemp)
|
||||
curl -fsSL "$DOWNLOAD_URL" -o "$temp_file"
|
||||
mkdir -p /opt/asterisk
|
||||
@ -107,4 +96,3 @@ msg_ok "Installed Asterisk"
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
|
||||
@ -73,9 +73,11 @@ export CYPRESS_INSTALL_BINARY=0
|
||||
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||
$STD turbo prune --scope=@documenso/remix --docker
|
||||
cd out
|
||||
cp -r json/* .
|
||||
$STD npm ci
|
||||
cp -r full/* .
|
||||
$STD cp ../lingui.config.ts .
|
||||
$STD cp ../turbo.json .
|
||||
$STD cp -r json/* .
|
||||
$STD npm install --legacy-peer-deps
|
||||
$STD cp -r full/* .
|
||||
$STD turbo run build --filter=@documenso/remix
|
||||
$STD npm run prisma:migrate-deploy
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: CrazyWolf13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/CrazyWolf13/domain-locker
|
||||
# Source: https://github.com/Lissy93/domain-locker
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
|
||||
@ -15,16 +15,27 @@ update_os
|
||||
|
||||
PG_VERSION="17" setup_postgresql
|
||||
|
||||
msg_info "Installing Zabbix"
|
||||
read -rp "Choose Zabbix version [1] 7.0 LTS [2] 7.4 (Latest Stable) [3] Latest available (default: 2): " ZABBIX_CHOICE
|
||||
ZABBIX_CHOICE=${ZABBIX_CHOICE:-2}
|
||||
case "$ZABBIX_CHOICE" in
|
||||
1) ZABBIX_VERSION="7.0" ;;
|
||||
2) ZABBIX_VERSION="7.4" ;;
|
||||
3) ZABBIX_VERSION=$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1) ;;
|
||||
*)
|
||||
ZABBIX_VERSION="7.4"
|
||||
echo "Invalid choice. Defaulting to 7.4."
|
||||
;;
|
||||
esac
|
||||
|
||||
msg_info "Installing Zabbix $ZABBIX_VERSION"
|
||||
cd /tmp
|
||||
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
||||
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \
|
||||
-o /tmp/zabbix-release_latest+debian13_all.deb
|
||||
ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb"
|
||||
curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb
|
||||
$STD dpkg -i /tmp/zabbix-release_latest+debian13_all.deb
|
||||
$STD apt update
|
||||
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
|
||||
msg_ok "Installed Zabbix"
|
||||
msg_ok "Installed Zabbix $ZABBIX_VERSION"
|
||||
|
||||
while true; do
|
||||
read -rp "Which agent do you want to install? [1=agent (classic), 2=agent2 (modern), default=1]: " AGENT_CHOICE
|
||||
|
||||
@ -1338,7 +1338,8 @@ EOF'
|
||||
pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses jq >/dev/null"
|
||||
else
|
||||
sleep 3
|
||||
pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen"
|
||||
LANG=${LANG:-en_US.UTF-8}
|
||||
pct exec "$CTID" -- bash -c "sed -i \"/$LANG/ s/^# //\" /etc/locale.gen"
|
||||
pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \
|
||||
echo LANG=\$locale_line >/etc/default/locale && \
|
||||
locale-gen >/dev/null && \
|
||||
|
||||
@ -390,8 +390,6 @@ cleanup_lxc() {
|
||||
xargs -0 -n1 truncate -s 0 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Python pip
|
||||
if command -v pip &>/dev/null; then $STD pip cache purge || true; fi
|
||||
# Node.js npm
|
||||
if command -v npm &>/dev/null; then $STD npm cache clean --force || true; fi
|
||||
# Node.js yarn
|
||||
|
||||
@ -237,31 +237,62 @@ function default_settings() {
|
||||
|
||||
function get_mikrotik_version() {
|
||||
local mode="$1"
|
||||
local rss_url
|
||||
local tree_name
|
||||
|
||||
case "$mode" in
|
||||
s) rss_url="https://cdn.mikrotik.com/routeros/latest-stable.rss" ;;
|
||||
d) rss_url="https://cdn.mikrotik.com/routeros/latest-development.rss" ;;
|
||||
l) rss_url="https://cdn.mikrotik.com/routeros/latest-long-term.rss" ;;
|
||||
t) rss_url="https://cdn.mikrotik.com/routeros/latest-testing.rss" ;;
|
||||
*) return 0 ;;
|
||||
esac
|
||||
|
||||
local rss_content
|
||||
rss_content=$(curl -fsSL $rss_url 2>/dev/null)
|
||||
if [ -n "$rss_content" ]; then
|
||||
local version
|
||||
version=$(echo "$rss_content" | grep -oP '<title>RouterOS \K[0-9.]+(?= \[)' 2>/dev/null || echo "$rss_content" | sed -n 's/.*<title>RouterOS \([0-9.]\+\) \[.*/\1/p' 2>/dev/null)
|
||||
if [[ "$version" =~ ^[0-9]+\.[0-9]+ ]]; then
|
||||
echo "$version"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$mode" in
|
||||
s) tree_name="Stable release tree" ;;
|
||||
d) tree_name="Development release tree" ;;
|
||||
l) tree_name="Long-term release tree" ;;
|
||||
t) tree_name="Testing release tree" ;;
|
||||
*) return 0 ;; # not an error, just no-op
|
||||
esac
|
||||
|
||||
local html
|
||||
html=$(curl -fsSL "https://mikrotik.com/download/changelogs") || return 0
|
||||
[ -z "$html" ] && return 0
|
||||
html=$(curl -fsSL "https://mikrotik.com/download/changelogs" 2>/dev/null)
|
||||
if [ -n "$html" ]; then
|
||||
local start_line
|
||||
start_line=$(echo "$html" | grep -n "$tree_name" | cut -d: -f1 | head -n1)
|
||||
if [[ "$start_line" =~ ^[0-9]+$ ]]; then
|
||||
local line
|
||||
line=$(echo "$html" | tail -n +"$start_line" | grep -m 1 -E "c-(stable|longTerm|testing|development)-v|RouterOS [0-9]+\.[0-9]+" 2>/dev/null)
|
||||
|
||||
local version
|
||||
version=$(echo "$line" | sed -n 's/.*c-[^"]*-v\([0-9_.a-zA-Z-]\+\).*/\1/p' | tr '_' '.' 2>/dev/null)
|
||||
[ -z "$version" ] && version=$(echo "$line" | grep -oP 'RouterOS \K[0-9]+\.[0-9]+(\.[0-9]+)?' 2>/dev/null)
|
||||
|
||||
if [[ "$version" =~ ^[0-9]+\.[0-9]+ ]]; then
|
||||
echo "$version"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local start_line
|
||||
start_line=$(echo "$html" | grep -n "$tree_name$" | cut -d: -f1 | head -n1)
|
||||
[[ "$start_line" =~ ^[0-9]+$ ]] || return 0
|
||||
|
||||
local line
|
||||
line=$( (echo "$html" | tail -n +"$start_line" | grep -m 1 "c-\(stable\|longTerm\|testing\|development\)-v") 2>/dev/null || true)
|
||||
|
||||
local version
|
||||
version=$(echo "$line" | sed -n 's/.*c-[^"]*-v\([0-9_.a-zA-Z-]\+\).*/\1/p' | tr '_' '.')
|
||||
|
||||
[[ "$version" =~ ^[0-9]+\.[0-9]+.*$ ]] && echo "$version"
|
||||
for minor in $(seq 50 -1 15); do
|
||||
local test_version="7.${minor}"
|
||||
if curl -fsSL -I "https://download.mikrotik.com/routeros/${test_version}/chr-${test_version}.img.zip" 2>/dev/null | grep -q "200 OK"; then
|
||||
echo "$test_version"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
@ -504,8 +535,8 @@ if [ -n "$MIK_VER" ]; then
|
||||
msg_ok "Latest stable version: ${CL}${BL}$MIK_VER${CL}."
|
||||
else
|
||||
msg_error "Could not get latest version"
|
||||
msg_ok "Defaulting to version 7.19"
|
||||
ver="7.19"
|
||||
msg_ok "Defaulting to version 7.20"
|
||||
MIK_VER="7.20"
|
||||
fi
|
||||
|
||||
URL=https://download.mikrotik.com/routeros/$MIK_VER/chr-$MIK_VER.img.zip
|
||||
|
||||
Reference in New Issue
Block a user