Download Station, Neue Version: 4.1.1-5008

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

I have 59 packages. I've tried adding a user agent but it didn't help.

I'm running the original non-html script to debug and it stops as soon as is gets to a community package like AvrLogger or Changepanelsize.

I added some more exclusions:
Code:
readonly EXCLUSION='SynoOnlinePack_v2|AvrLogger|Changepanelsize'

As well as sleep 1 in the for PACKAGE loop and it's now showing more packages... until it gets to another community package. The script just needs skip packages that aren't available on the archive site (instead of aborting).

I also want to set ARCH programmatically from the Synology it is running on.[/CODE]
 
Ok, I have only Synology packages installed, never thought of community packages. Was just a quick and dirty solution for my own benefit.

Good idea with the architecture...
 
Was just a quick and dirty solution for my own benefit.
Aber eine gute, ich habe mir jedesmal gedacht, "Ein fleißiges Kerlchen" da es ja echt Aufwand ist das immer Manuell zu durchforsten. Davon bin ich bisher auch ausgegangen, zumindest, daß Du diverse Apps regelmäßig verfolgst.
Tja nun ist vorbei mit dem heimlichen anhimmeln 😅 , aber das opening Deines Scripts macht alles wieder weg. Eine Feine Sache 😜
 
  • Haha
Reaktionen: Adama
Danke für die Blumen, aber ich bin auch nur eine faule Sau... :ROFLMAO:
 
  • Haha
Reaktionen: Benie
Bin dafür, das gute Dinge auch gewürdigt werden müssen, gemeckert wird ja sehr oft genug. :)
 
  • Like
Reaktionen: Adama
I've added skipping community packages to the non-html script and the html script.

The non-html version is working perfectly.

1769900064604.png

But the html script is still not right.
1769900264389.png
 

Anhänge

Hmm, when I save the MESSAGES array to a html file it displays correctly in chrome. So it must just be something my antique email client (Windows Live Mail) doesn't support.
 
I got the html version working for me. I had to save the MESSAGE array to a file then send the file as the email body. I also changed it to get the CPU arch and DSM email language from DSM.

1769928805528.png
 

Anhänge

  • Like
Reaktionen: DaveR
Synology commands do sometimes have undocumented options, but I don't know if synopkg does. Package center knows which packages are community packages so I'll have a look for how it does it.

I just create an array of packages available on the archive site. Then skip any installed packages that aren't in the array.
Code:
mapfile -t ONLINE_PKGS < <(curl "$CURL_OPTS" -A "$USER_AGENT" https://archive.synology.com/download/Package/ | grep href | cut -d">" -f2 | cut -d"<" -f1)
...
    if [[ ${ONLINE_PKGS[*]} =~ $PACKAGE ]]; then
...
   fi

I've also changed it to show the package's "display name" instead of "package", like Advanced Media Extensions instead of CodecPack, SAN Manager instead of ScsiTarget, Replication Service instead of SnapshotReplication etc.
Code:
    PACKAGE_NAME="$(synogetkeyvalue "/var/packages/${PACKAGE}/INFO" displayname)"
    if [[ -z "$PACKAGE_NAME" ]]; then PACKAGE_NAME="$PACKAGE"; fi
...
printf "%-30s %-15s %-15s %-8s\n" " $PACKAGE_NAME" "| $INSTALLED" "| $VERSION" "| $UPDATE"
 
  • Like
Reaktionen: Adama
the code were correct.
Yes it was.

To get it work for my email client I just replaced <tr class="upd"> with <tr> then added <b> and </b> before and after $PACKAGE, $INSTALLED and $VERSION

After that the email body was displayed correctly in my email client... but still cutting it off after a certain number of characters. Which is why I switched to sending a file as the email body.
 
  • Like
Reaktionen: Adama
@luddi Does the --community option work and provide download links?

I was going to make the @Adama script show the Package, Installed, Downloadable and Version text in whichever language DSM is set to. Your script has a 16 phrases or words that would need translating, so 4 times the work.
 
Maybe there is a method to get the package sources. synopkg doesn't show it...
Yes there is. I have identified how to distinguish between the package sources.

You can get use the key value "maintainer" from the INFO file of each installed package.
Bash:
synogetkeyvalue /var/packages/<package_name>/INFO maintainer

Example:
$synogetkeyvalue /var/packages/TextEditor/INFO maintainer
Synology Inc.

$synogetkeyvalue /var/packages/git/INFO maintainer
SynoCommunity
 
  • Like
Reaktionen: DaveR und Adama
  • Haha
Reaktionen: Benie und DaveR
I thought of checking "maintainer" in the INFO file but there are 17 contributor packages that are not maintained by Synology but are available on the archive site like maintainer_url="https://www.plex.tv"

From the packages I have installed that are available on the archive site 9 are not maintained by Synology:
Code:
Installed packages available from archive site:
-------------------------------|------------------------------
 Package                       | Maintainer
-------------------------------|------------------------------
 AntiVirus                     | Synology Inc.
 Calendar                      | Synology Inc.
 CloudSync                     | Synology Inc.
 CodecPack                     | Synology Inc.
 Contacts                      | Synology Inc.
 ContainerManager              | Docker Inc.
 DownloadStation               | Synology Inc.
 FileStation                   | Synology Inc.
 Git                           | Git
 HybridShare                   | Synology Inc.
 HyperBackup                   | Synology Inc.
 HyperBackupVault              | Synology Inc.
 LogCenter                     | Synology Inc.
 MediaServer                   | Synology Inc.
 Node.js_v18                   | nodejs.org
 Node.js_v20                   | nodejs.org
 OAuthService                  | Synology Inc.
 Perl                          | Perl.org
 PHP8.2                        | php.net
 PlexMediaServer               | Plex Inc
 Python2                       | Python Software Foundation
 Python3.9                     | Python Software Foundation
 QuickConnect                  | Synology Inc.
 ReplicationService            | Synology Inc.
 ScsiTarget                    | Synology Inc.
 SecureSignIn                  | Synology Inc.
 SMBService                    | Synology Inc.
 SnapshotReplication           | Synology Inc.
 StorageAnalyzer               | Synology Inc.
 StorageManager                | Synology Inc.
 SupportService                | Synology Inc.
 SynoAnalytics                 | Synology Inc.
 SynoFinder                    | Synology Inc.
 SynologyApplicationService    | Synology Inc.
 SynologyDrive                 | Synology Inc.
 SynologyPhotos                | Synology Inc.
 SynoOnlinePack_v2             | Synology Inc.
 UniversalViewer               | Synology Inc.
 USBCopy                       | Synology Inc.
 VideoStation                  | Synology Inc.
 Virtualization                | Synology Inc.
 WebStation                    | Synology Inc.

I see the INFO file for Perl also contains:
Code:
maintainer="Perl.org"
maintainer_url="http://www.perl.org/"
distributor="Synology Inc."
distributor_url="http://www.synology.com/

But Synology's own packages only contain:
Code:
maintainer="Synology Inc."

So we'd need to check if maintainer = synology or distributor = synology then it will (should) be available on the archive site.
 
Zuletzt bearbeitet:
I have a lot packages installed just for checking that my scripts work. Half of them are not running.

When I was developing syno_app_mover my poor little DS720+ with only 2GB of memory had 80 packages installed.
 
  • Wow
  • Like
Reaktionen: Adama und Benie
Therefore I have an option implemented to consider only running applications.
Code:
-r, --running       Check updates only for packages that are currently running

[...] checking "maintainer" in the INFO file but there are 17 contributor packages that are not maintained by Synology but [...]
Indeed you are totally right.

The idea must:
  1. Uses the distributor field instead of maintainer from the INFO file to determine package source
  2. Fall back to maintainer if no distributor field exists (for official Synology packages)
Whit this logic, also your package plex should be indicated that it is distributed by Synology.

As an example

Code:
Package Update Check
=============================================

Package                        | Source                         | Installed       | Latest Version  | Update
-------------------------------|--------------------------------|-----------------|-----------------|--------
ActiveInsight                  | Synology Inc.                  | 3.0.5-24122     | 3.0.5-24122     | -     
Apache2.4                      | Synology Inc.                  | 2.4.63-0155     | 2.4.63-0155     | -     
AudioStation                   | Synology Inc.                  | 7.2.0-5516      | 7.2.0-5516      | -     
borgbackup                     | SynoCommunity                  | 1.4.3-20        | 1.4.3-20        | -     
Calendar                       | Synology Inc.                  | 3.0.2-21433     | 3.0.2-21433     | -     
Chat                           | Synology Inc.                  | 2.4.4-22147     | 2.4.4-22147     | -     
CloudSync                      | Synology Inc.                  | 2.7.2-2714      | 2.7.2-2714      | -     
CodecPack                      | Synology Inc.                  | 4.0.0-4025      | 4.0.0-4025      | -     
Contacts                       | Synology Inc.                  | 1.0.10-20659    | 1.0.10-20659    | -     
ContainerManager               | Synology Inc.                  | 24.0.2-1606     | 24.0.2-1606     | -     
DhcpServer                     | Synology Inc.                  | 1.0.2-0046      | 1.0.2-0046      | -     
DNSServer                      | Synology Inc.                  | 9.16.34-6205    | 9.16.34-6205    | -     
FileStation                    | Synology Inc.                  | 1.4.3-1609      | 1.4.3-1609      | -     
git                            | SynoCommunity                  | 2.51.1-39       | 2.51.1-39       | -     
HybridShare                    | Synology Inc.                  | 1.5.0-1822      | 1.5.0-1822      | -     
HyperBackup                    | Synology Inc.                  | 4.1.3-4140      | 4.1.3-4140      | -     
HyperBackupVault               | Synology Inc.                  | 4.1.3-4140      | 4.1.3-4140      | -     
imagemagick                    | SynoCommunity                  | 7.1.2-14        | 7.1.2-14        | -     
LogCenter                      | Synology Inc.                  | 1.3.1-2016      | 1.3.1-2016      | -     
MariaDB10                      | Synology Inc.                  | 10.11.11-1551   | 10.11.11-1551   | -     
Node.js_v18                    | Synology Inc.                  | 18.18.2-1011    | 18.18.2-1011    | -     
Node.js_v20                    | Synology Inc.                  | 20.19.5-1014    | 20.19.5-1014    | -     
NoteStation                    | Synology Inc.                  | 2.6.8-3910      | 2.6.8-3910      | -     
OAuthService                   | Synology Inc.                  | 1.2.0-0163      | 1.2.0-0163      | -     
PDFViewer                      | Synology Inc.                  | 1.3.1-1232      | 1.3.1-1232      | -     
Perl                           | Synology Inc.                  | 5.34.1-0301     | 5.34.1-0301     | -     
PHP8.1                         | Synology Inc.                  | 8.1.31-0108     | 8.1.31-0108     | -     
PHP8.2                         | Synology Inc.                  | 8.2.28-0107     | 8.2.28-0107     | -     
PHP8.3                         | Synology Inc.                  | 8.3.27-0004     | 8.3.27-0004     | -     
phpMyAdmin                     | Synology Inc.                  | 5.2.2-1102      | 5.2.2-1102      | -     
Python2                        | Synology Inc.                  | 2.7.18-1004     | 2.7.18-1004     | -     
python311                      | SynoCommunity                  | 3.11.14-14      | 3.11.14-14      | -     
python312                      | SynoCommunity                  | 3.12.12-6       | 3.12.12-6       | -     
Python3.9                      | Synology Inc.                  | 3.9.22-0015     | 3.9.22-0015     | -     
QuickConnect                   | Synology Inc.                  | 1.0.9-0171      | 1.0.9-0171      | -     
ReplicationService             | Synology Inc.                  | 1.3.0-0600      | 1.3.0-0600      | -     
ScsiTarget                     | Synology Inc.                  | 1.0.12-0338     | 1.0.12-0338     | -     
SecureSignIn                   | Synology Inc.                  | 1.1.6-0391      | 1.1.6-0391      | -     
SMBService                     | Synology Inc.                  | 4.15.13-3045    | 4.15.13-3045    | -     
SnapshotReplication            | Synology Inc.                  | 7.4.7-1859      | 7.4.7-1859      | -     
StorageAnalyzer                | Synology Inc.                  | 2.1.1-0641      | 2.1.1-0641      | -     
StorageManager                 | Synology Inc.                  | 1.0.1-1100      | 1.0.1-1100      | -     
SupportService                 | Synology Inc.                  | 2.0.4-21066     | 2.0.4-21066     | -     
SynoAnalytics                  | Synology Inc.                  | 1.0.3-20013     | 1.0.3-20013     | -     
synocli-file                   | SynoCommunity                  | 4.0.2-29        | 4.0.2-29        | -     
SynoFinder                     | Synology Inc.                  | 1.9.0-0900      | 1.9.0-0900      | -     
SynologyApplicationService     | Synology Inc.                  | 1.8.2-20726     | 1.8.2-20726     | -     
SynologyDrive                  | Synology Inc.                  | 4.0.2-27889     | 4.0.2-27889     | -     
SynologyPhotos                 | Synology Inc.                  | 1.8.2-10090     | 1.8.2-10090     | -     
SynoOnlinePack_v2              | Synology Inc.                  | 1031            | 1031            | -     
TextEditor                     | Synology Inc.                  | 1.2.5-0254      | 1.2.6-0260      | X     
UniversalViewer                | Synology Inc.                  | 1.4.0-0712      | 1.4.0-0712      | -     
USBCopy                        | Synology Inc.                  | 2.2.1-1306      | 2.2.1-1306      | -     
Virtualization                 | Synology Inc.                  | 2.7.0-12229     | 2.7.0-12229     | -     
VPNCenter                      | Synology Inc.                  | 1.4.10-2984     | 1.4.10-2984     | -     
WebDAVServer                   | Synology Inc.                  | 2.4.8-20135     | 2.4.8-20135     | -     
WebStation                     | Synology Inc.                  | 4.3.0-0528      | 4.3.0-0528      | -     
zsh-static                     | SynoCommunity                  | 5.9-10          | 5.9-10          | -


Does the --community option work and provide download links?
I am working currently on it to remove the community option. But from my tests it should provide the correct links from the community.
 
  • Like
Reaktionen: DaveR

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat