mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-07 11:25:56 +01:00
Compare commits
10 Commits
rust
...
CrazyWolf1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
961d4d3637 | ||
|
|
d1569bf15c | ||
|
|
2bf2d07564 | ||
|
|
9e2bb23d35 | ||
|
|
eb848fd70f | ||
|
|
176fffff0b | ||
|
|
14e13edeef | ||
|
|
4f70196444 | ||
|
|
acc715de82 | ||
|
|
5bfb5f486f |
10
CHANGELOG.md
10
CHANGELOG.md
@@ -412,6 +412,16 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
## 2026-03-06
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- CryptPad: Better update handling [@tremor021](https://github.com/tremor021) ([#12611](https://github.com/community-scripts/ProxmoxVE/pull/12611))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- RustDesk Server: Switch to updated repository [@tremor021](https://github.com/tremor021) ([#12083](https://github.com/community-scripts/ProxmoxVE/pull/12083))
|
||||
|
||||
## 2026-03-05
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
@@ -27,21 +27,21 @@ function update_script() {
|
||||
fi
|
||||
|
||||
APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then
|
||||
msg_info "Updating RustDesk Server to v${RELEASE}"
|
||||
$STD apk -U upgrade
|
||||
$STD service rustdesk-server-hbbs stop
|
||||
$STD service rustdesk-server-hbbr stop
|
||||
temp_file1=$(mktemp)
|
||||
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
|
||||
curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
|
||||
$STD unzip "$temp_file1"
|
||||
cp -r amd64/* /opt/rustdesk-server/
|
||||
echo "${RELEASE}" >~/.rustdesk-server
|
||||
$STD service rustdesk-server-hbbs start
|
||||
$STD service rustdesk-server-hbbr start
|
||||
rm -rf amd64
|
||||
rm -f $temp_file1
|
||||
rm -f "$temp_file1"
|
||||
msg_ok "Updated RustDesk Server"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
@@ -56,7 +56,7 @@ function update_script() {
|
||||
echo "${APIRELEASE}" >~/.rustdesk-api
|
||||
$STD service rustdesk-api start
|
||||
rm -rf release
|
||||
rm -f $temp_file2
|
||||
rm -f "$temp_file2"
|
||||
msg_ok "Updated RustDesk API"
|
||||
else
|
||||
msg_ok "No update required. RustDesk API is already at v${APIRELEASE}"
|
||||
|
||||
@@ -33,17 +33,23 @@ function update_script() {
|
||||
systemctl stop cryptpad
|
||||
msg_info "Stopped Service"
|
||||
|
||||
msg_info "Backing up configuration"
|
||||
msg_info "Creating backup"
|
||||
[ -f /opt/cryptpad/config/config.js ] && mv /opt/cryptpad/config/config.js /opt/
|
||||
msg_ok "Backed up configuration"
|
||||
for dir in blob block customize data datastore www/common/onlyoffice/dist onlyoffice-conf; do
|
||||
[ -d "/opt/cryptpad/${dir}" ] && mv "/opt/cryptpad/${dir}" "/tmp/cryptpad_${dir//\//_}"
|
||||
done
|
||||
msg_ok "Created backup"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball"
|
||||
|
||||
msg_info "Restoring configuration"
|
||||
msg_info "Restoring backup"
|
||||
mv /opt/config.js /opt/cryptpad/config/
|
||||
msg_ok "Configuration restored"
|
||||
for dir in blob block customize data datastore www/common/onlyoffice/dist onlyoffice-conf; do
|
||||
[ -d "/tmp/cryptpad_${dir//\//_}" ] && mv "/tmp/cryptpad_${dir//\//_}" "/opt/cryptpad/${dir}"
|
||||
done
|
||||
msg_ok "Restored backup"
|
||||
|
||||
msg_info "Updating CryptaPad"
|
||||
msg_info "Updating CryptPad"
|
||||
cd /opt/cryptpad
|
||||
$STD npm ci
|
||||
$STD npm run install:components
|
||||
|
||||
@@ -29,9 +29,7 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.rustdesk-hbbr)" ]] || [[ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ]] || [[ ! -f ~/.rustdesk-hbbr ]] || [[ ! -f ~/.rustdesk-api ]]; then
|
||||
if check_for_gh_release "rustdesk-api"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop rustdesk-hbbr
|
||||
systemctl stop rustdesk-hbbs
|
||||
@@ -46,7 +44,7 @@ function update_script() {
|
||||
fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "binary" "latest" "/opt/rustdesk" "rustdesk-api-server*amd64.deb"
|
||||
|
||||
msg_info "Starting services"
|
||||
systemctl start -q rustdesk-* --all
|
||||
systemctl start -q rustdesk-*
|
||||
msg_ok "Services started"
|
||||
|
||||
msg_ok "Updated successfully!"
|
||||
|
||||
@@ -29,6 +29,10 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
if grep -q '^WF_CORS_ALLOW_ORIGINS=\*$' /opt/wealthfolio/.env; then
|
||||
sed -i "s|^WF_CORS_ALLOW_ORIGINS=\*$|WF_CORS_ALLOW_ORIGINS=http://${LOCAL_IP}:8080|" /opt/wealthfolio/.env
|
||||
fi
|
||||
|
||||
if check_for_gh_release "wealthfolio" "afadil/wealthfolio"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop wealthfolio
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-03-06T06:16:24Z",
|
||||
"generated": "2026-03-06T12:10:39Z",
|
||||
"versions": [
|
||||
{
|
||||
"slug": "2fauth",
|
||||
@@ -270,9 +270,9 @@
|
||||
{
|
||||
"slug": "databasus",
|
||||
"repo": "databasus/databasus",
|
||||
"version": "v3.16.4",
|
||||
"version": "v3.17.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-01T08:20:17Z"
|
||||
"date": "2026-03-06T07:07:22Z"
|
||||
},
|
||||
{
|
||||
"slug": "dawarich",
|
||||
@@ -284,9 +284,9 @@
|
||||
{
|
||||
"slug": "discopanel",
|
||||
"repo": "nickheyer/discopanel",
|
||||
"version": "v1.0.37",
|
||||
"version": "v2.0.0",
|
||||
"pinned": false,
|
||||
"date": "2026-02-18T08:53:43Z"
|
||||
"date": "2026-03-06T08:19:39Z"
|
||||
},
|
||||
{
|
||||
"slug": "dispatcharr",
|
||||
@@ -326,9 +326,9 @@
|
||||
{
|
||||
"slug": "drawio",
|
||||
"repo": "jgraph/drawio",
|
||||
"version": "v29.5.2",
|
||||
"version": "v29.6.1",
|
||||
"pinned": false,
|
||||
"date": "2026-02-22T10:36:14Z"
|
||||
"date": "2026-03-06T09:14:17Z"
|
||||
},
|
||||
{
|
||||
"slug": "duplicati",
|
||||
@@ -382,9 +382,9 @@
|
||||
{
|
||||
"slug": "firefly",
|
||||
"repo": "firefly-iii/firefly-iii",
|
||||
"version": "v6.5.3",
|
||||
"version": "v6.5.4",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T06:53:02Z"
|
||||
"date": "2026-03-06T09:07:56Z"
|
||||
},
|
||||
{
|
||||
"slug": "fladder",
|
||||
@@ -1138,9 +1138,9 @@
|
||||
{
|
||||
"slug": "pocketbase",
|
||||
"repo": "pocketbase/pocketbase",
|
||||
"version": "v0.36.5",
|
||||
"version": "v0.36.6",
|
||||
"pinned": false,
|
||||
"date": "2026-02-21T11:45:32Z"
|
||||
"date": "2026-03-06T08:07:09Z"
|
||||
},
|
||||
{
|
||||
"slug": "pocketid",
|
||||
@@ -1333,10 +1333,10 @@
|
||||
},
|
||||
{
|
||||
"slug": "rustdeskserver",
|
||||
"repo": "rustdesk/rustdesk-server",
|
||||
"version": "1.1.15",
|
||||
"repo": "lejianwen/rustdesk-server",
|
||||
"version": "v0.1.2",
|
||||
"pinned": false,
|
||||
"date": "2026-01-12T05:38:30Z"
|
||||
"date": "2025-09-01T02:52:30Z"
|
||||
},
|
||||
{
|
||||
"slug": "rustypaste",
|
||||
@@ -1355,9 +1355,9 @@
|
||||
{
|
||||
"slug": "scanopy",
|
||||
"repo": "scanopy/scanopy",
|
||||
"version": "v0.14.12",
|
||||
"version": "v0.14.14",
|
||||
"pinned": false,
|
||||
"date": "2026-03-05T07:24:59Z"
|
||||
"date": "2026-03-06T06:50:38Z"
|
||||
},
|
||||
{
|
||||
"slug": "scraparr",
|
||||
@@ -1838,9 +1838,9 @@
|
||||
{
|
||||
"slug": "zwave-js-ui",
|
||||
"repo": "zwave-js/zwave-js-ui",
|
||||
"version": "v11.13.0",
|
||||
"version": "v11.14.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T15:09:54Z"
|
||||
"date": "2026-03-06T09:34:32Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -54,6 +54,10 @@
|
||||
{
|
||||
"text": "To see admin password on Alpine, type `cat ~/rustdesk.creds` inside LXC.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "This script uses hbbs/hbbr builds from `lejianwen/rustdesk-server` (instead of the official repo) for full compatibility with the RustDesk API (SSO/OAuth). See `https://github.com/community-scripts/ProxmoxVE/issues/12079`.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -13,17 +13,17 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
msg_info "Installing RustDesk Server v${RELEASE}"
|
||||
temp_file1=$(mktemp)
|
||||
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
|
||||
curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
|
||||
$STD unzip "$temp_file1"
|
||||
mv amd64 /opt/rustdesk-server
|
||||
mkdir -p /root/.config/rustdesk
|
||||
cd /opt/rustdesk-server
|
||||
./rustdesk-utils genkeypair > /tmp/rustdesk_keys.txt
|
||||
grep "Public Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519.pub
|
||||
grep "Secret Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519
|
||||
./rustdesk-utils genkeypair >/tmp/rustdesk_keys.txt
|
||||
grep "Public Key" /tmp/rustdesk_keys.txt | awk '{print $3}' >/root/.config/rustdesk/id_ed25519.pub
|
||||
grep "Secret Key" /tmp/rustdesk_keys.txt | awk '{print $3}' >/root/.config/rustdesk/id_ed25519
|
||||
chmod 600 /root/.config/rustdesk/id_ed25519
|
||||
chmod 644 /root/.config/rustdesk/id_ed25519.pub
|
||||
rm /tmp/rustdesk_keys.txt
|
||||
|
||||
@@ -33,7 +33,7 @@ done
|
||||
# Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13)
|
||||
[[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12"
|
||||
MONGO_VERSION=$(get_latest_gh_tag "mongodb/mongo-tools" "100." || echo "100.14.1")
|
||||
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-${MONGO_VERSION}.deb"
|
||||
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-${MONGO_VERSION}.deb" ""
|
||||
mkdir -p /usr/local/mongodb-database-tools/bin
|
||||
[[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump
|
||||
[[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore
|
||||
|
||||
@@ -13,10 +13,13 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
fetch_and_deploy_gh_release "rustdesk-hbbr" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbr*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-hbbs" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbs*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-utils" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-utils*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-hbbr" "lejianwen/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbr*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-hbbs" "lejianwen/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbs*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-utils" "lejianwen/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-utils*amd64.deb"
|
||||
fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "binary" "latest" "/opt/rustdesk" "rustdesk-api-server*amd64.deb"
|
||||
systemctl enable -q --now rustdesk-hbbr
|
||||
systemctl enable -q --now rustdesk-hbbs
|
||||
systemctl enable -q --now rustdesk-api
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
@@ -24,7 +24,7 @@ msg_ok "Installed Dependencies"
|
||||
|
||||
setup_rust
|
||||
NODE_VERSION="20" NODE_MODULE="pnpm" setup_nodejs
|
||||
fetch_and_deploy_gh_release "wealthfolio" "afadil/wealthfolio" "tarball"
|
||||
fetch_and_deploy_gh_release "wealthfolio" "afadil/wealthfolio" "tarball" "v3.0.3"
|
||||
|
||||
msg_info "Building Frontend (patience)"
|
||||
cd /opt/wealthfolio
|
||||
@@ -51,8 +51,8 @@ WF_DB_PATH=/opt/wealthfolio_data/wealthfolio.db
|
||||
WF_SECRET_KEY=${SECRET_KEY}
|
||||
WF_AUTH_PASSWORD_HASH=${WF_PASSWORD_HASH}
|
||||
WF_STATIC_DIR=/opt/wealthfolio/dist
|
||||
WF_CORS_ALLOW_ORIGINS=*
|
||||
WF_REQUEST_TIMEOUT_MS=30000
|
||||
WF_CORS_ALLOW_ORIGINS=http://${LOCAL_IP}:8080
|
||||
EOF
|
||||
echo "WF_PASSWORD=${WF_PASSWORD}" >~/wealthfolio.creds
|
||||
msg_ok "Configured Wealthfolio"
|
||||
|
||||
@@ -7999,7 +7999,7 @@ EOF
|
||||
# ------------------------------------------------------------------------------
|
||||
function fetch_and_deploy_from_url() {
|
||||
local url="$1"
|
||||
local directory="$2"
|
||||
local directory="${2:-}"
|
||||
|
||||
if [[ -z "$url" ]]; then
|
||||
msg_error "URL parameter is required"
|
||||
|
||||
Reference in New Issue
Block a user