Skip to content

Commit d4180c8

Browse files
authored
Merge pull request #722 from ivan-hc/dev
Option "-f" shows sandboxed apps / fix new AM-updater scripts to support "nolibfuse" / enhance "libreoffice" / Add more programs
2 parents 937aa21 + d600213 commit d4180c8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1178
-793
lines changed

APP-MANAGER

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
AMVERSION="6.14-2"
3+
AMVERSION="6.15"
44

55
# Determine main repository and branch
66
AMREPO="https://raw.githubusercontent.com/ivan-hc/AM/main"

modules/files.am

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ _files_sizes() {
2828
}
2929
3030
_files_if_binary_executable() {
31-
echo "$arg | binary/executable" >> "$AMCACHEDIR"/files-type
31+
echo "$arg | binary" >> "$AMCACHEDIR"/files-type
3232
}
3333
3434
_files_if_unknown() {
@@ -62,10 +62,18 @@ _files_if_script() {
6262
}
6363
6464
_files_if_appimage() {
65-
if [ -z "$(strings -d "./$arg/$arg" 2>/dev/null | grep -F 'AppImages require FUSE to run')" ] 2>/dev/null; then
66-
echo "$arg | appimage-type3" >> "$AMCACHEDIR"/files-type
65+
if ! strings -d "./$arg/$arg" | grep 'AppImages require FUSE to run' >/dev/null 2>&1; then
66+
if grep "aisap-am" "$(command -v "$arg")" >/dev/null 2>&1; then
67+
echo "$arg | appimage3🔒" >> "$AMCACHEDIR"/files-type
68+
else
69+
echo "$arg | appimage3" >> "$AMCACHEDIR"/files-type
70+
fi
6771
else
68-
echo "$arg | appimage-type2" >> "$AMCACHEDIR"/files-type
72+
if grep "aisap-am" "$(command -v "$arg")" >/dev/null 2>&1; then
73+
echo "$arg | appimage2🔒" >> "$AMCACHEDIR"/files-type
74+
else
75+
echo "$arg | appimage2" >> "$AMCACHEDIR"/files-type
76+
fi
6977
fi
7078
}
7179
@@ -83,7 +91,7 @@ _files_type() {
8391
link_in_path=$(cat "./$arg/remove" | tr " " "\n" | grep 'local/bin' | tail -1)
8492
realpath=$(realpath "$link_in_path")
8593
realstring=$(strings -d "$realpath" 2>/dev/null | head -1 )
86-
if [[ -L "$link_in_path" ]]; then
94+
if [ -L "$link_in_path" ]; then
8795
if echo "$realstring" | grep -q "ld-linux"; then
8896
_files_if_binary_executable
8997
elif echo "$realstring" | grep -q "#!"; then
@@ -145,9 +153,9 @@ _files() {
145153
INSTALLED_APPS=$(find -name 'remove' -printf "%h\n" 2>/dev/null | du -sh -- * 2>/dev/null | sort -rh | sed 's@.* @@')
146154
for arg in $INSTALLED_APPS; do
147155
if test -f ./$arg/remove 2>/dev/null; then
148-
APPVERSION=$(cat "$AMCACHEDIR"/version-args | grep -w "$arg |" | tr ' ' '\n' | tail -1)
149-
APPTYPE=$(cat "$AMCACHEDIR"/files-type | grep -w "$arg |" | tr ' ' '\n' | tail -1)
150-
APPSYZE=$(cat "$AMCACHEDIR"/files-sizes | grep -w "$arg |" | tr ' ' '\n' | tail -1)
156+
APPVERSION=$(grep -w "$arg |" "$AMCACHEDIR"/version-args | tr ' ' '\n' | tail -1)
157+
APPTYPE=$(grep -w "$arg |" "$AMCACHEDIR"/files-type | tr ' ' '\n' | tail -1)
158+
APPSYZE=$(grep -w "$arg |" "$AMCACHEDIR"/files-sizes | tr ' ' '\n' | tail -1)
151159
echo "$arg | $APPVERSION | $APPTYPE | $APPSYZE" >> "$AMCACHEDIR"/files-args
152160
fi
153161
done
@@ -160,9 +168,10 @@ _files_show_only_number() {
160168
161169
_files_total_size() {
162170
if [ "$(_files_show_only_number)" = "0" ]; then
163-
printf "\n TOTAL SIZE: $(du -ch $(find -type d -name 'modules' -printf "%h\n") 2>/dev/null | awk 'END {print $1"iB"}' | sed 's/...$/ &/') of disk space in use\n"
171+
printf "\n TOTAL SIZE: $(du -ch $(find -type d -name 'modules' -printf "%h\n") 2>/dev/null | awk 'END {print $1"iB"}' | sed 's/...$/ &/') of disk space in use\n\n"
164172
else
165-
printf "\n TOTAL SIZE: $(du -ch $(find -type f -name 'remove' -printf "%h\n") 2>/dev/null | awk 'END {print $1"iB"}' | sed 's/...$/ &/') of disk space in use\n"
173+
command -v aisap >/dev/null 2>&1 && printf '\n%s\n' " AppImages with 🔒 are sandboxed with aisap"
174+
printf "\n TOTAL SIZE: $(du -ch $(find -type f -name 'remove' -printf "%h\n") 2>/dev/null | awk 'END {print $1"iB"}' | sed 's/...$/ &/') of disk space in use\n\n"
166175
fi
167176
}
168177
@@ -172,8 +181,8 @@ _files_sort_by_name() {
172181
_files
173182
printf '%s\n' "- APPNAME | VERSION | TYPE | SIZE " >> "$AMCACHEDIR"/files-args-byname
174183
printf '%s\n' "- ------- | ------- | ---- | ----" >> "$AMCACHEDIR"/files-args-byname
175-
cat "$AMCACHEDIR"/files-args 2>/dev/null | sort >> "$AMCACHEDIR"/files-args-byname
176-
cat "$AMCACHEDIR"/files-args-byname | column -t
184+
sort "$AMCACHEDIR"/files-args 2>/dev/null >> "$AMCACHEDIR"/files-args-byname
185+
column -t "$AMCACHEDIR"/files-args-byname
177186
_files_total_size
178187
}
179188
@@ -184,7 +193,7 @@ _files_sort_by_size() {
184193
printf '%s\n' "- APPNAME | VERSION | TYPE | SIZE " >> "$AMCACHEDIR"/files-args-bysize
185194
printf '%s\n' "- ------- | ------- | ---- | ----" >> "$AMCACHEDIR"/files-args-bysize
186195
cat "$AMCACHEDIR"/files-args >> "$AMCACHEDIR"/files-args-bysize 2>/dev/null
187-
cat "$AMCACHEDIR"/files-args-bysize | column -t
196+
column -t "$AMCACHEDIR"/files-args-bysize
188197
_files_total_size
189198
}
190199

programs/x86_64-apps

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
◆ 0ad-latest : Real Time Strategy game of ancient warfare (development branch).
33
◆ 3d-puzzles : 3D-Puzzles are Rubik, Dogic and Dogic12.
44
◆ 432hz-player : Because most music is recorded in 440hz (Audio Player).
5+
◆ 7zip : 7-Zip is a file archiver with a high compression ratio.
56
◆ 86box : Emulator of x86-based machines based on PCem.
67
◆ aaaaxy : A nonlinear puzzle platformer (game).
78
◆ abiword : A light and free word processing software.
@@ -79,6 +80,7 @@
7980
◆ arch-deployer : Script to convert Arch Linux packages to AppDir/AppImage.
8081
◆ arch-flatimage : A hybrid of Flatpak sandboxing with AppImage portability.
8182
◆ archimage-cli : Build AppImage packages using JuNest (Arch Linux).
83+
◆ archimede : Unobtrusive directory information fetcher.
8284
◆ archipelago : Archipelago Multi-Game Randomizer and Server.
8385
◆ archipel : Decentralized archiving and media library system.
8486
◆ arduino-ide : Open-source electronics platform.
@@ -217,6 +219,7 @@
217219
◆ buho-maui : Easy-to-use note-taking application with “tags” support.
218220
◆ bulkreviewer : Identify, review, and remove private information.
219221
◆ bulkurlopener : Desktop version of the Bulk URL Opener extension.
222+
◆ bunnyfetch : A small and fast tool for getting info about your system.
220223
◆ bunqdesktop : A desktop implementation for the bunq API.
221224
◆ burning-series : Watch any series from Burning Series (Unofficial client).
222225
◆ buttercup : Free and Open Source password vault.
@@ -400,6 +403,7 @@
400403
◆ deckboard : Control your PC with your phone in easy way possible.
401404
◆ dedop-studio : DeDop Studio
402405
◆ deemix-gui-appimage : A gui electron app for the deemix lib.
406+
◆ deeplx : DeepL Free API (No TOKEN required).
403407
◆ deeptags : Markdown notes manager with support for nested tags.
404408
◆ deerportal : Full of the diamonds board game.
405409
◆ deezer : A linux port of Deezer, allows downloading your songs (music).
@@ -634,11 +638,13 @@
634638
◆ freac : fre:ac, free audio converter and CD ripper for various encoders.
635639
◆ freecad-assembly3 : Assembly3 workbench for FreeCAD.
636640
◆ freecad : Free and open source AutoCAD alternative.
641+
◆ freefilesync : folder comparison and synchronization software.
637642
◆ freeman : A free, extensible, cross-platform file manager for power users.
638643
◆ freetexturepacker : Creates sprite sheets for you game or site (graphics).
639644
◆ freetube : An Open Source YouTube app for privacy.
640645
◆ freeze : Generate images of code and terminal output.
641646
◆ freezer-appimage : An unofficial client for Deezer.
647+
◆ freshfetch : An alternative to Neofetch in Rust with a focus on customization.
642648
◆ friction : Flexible, user expandable 2D animation software.
643649
◆ friture : Real-time audio visualizations (spectrum, spectrogram, etc.).
644650
◆ fromscratch : Simple autosaving scratchpad.
@@ -906,6 +912,7 @@
906912
◆ klogg : A smart interactive log explorer.
907913
◆ kmahjongg : Mahjongg game (installs "kdegames").
908914
◆ kmines : Classic mine game (installs "kdegames").
915+
◆ kmon : Linux Kernel Manager and Activity Monitor.
909916
◆ knavalbattle : Battle Ship game (installs "kdegames").
910917
◆ knetwalk : Net constructing game (installs "kdegames").
911918
◆ knights : Chess interface for the KDE Platform (installs "kdegames").
@@ -943,6 +950,7 @@
943950
◆ lambda-lantern : A 3D game about functional programming patterns.
944951
◆ landrop : Drop any files to any devices on your LAN.
945952
◆ langly : Manage Laravel json language files.
953+
◆ lan-mouse : Mouse & keyboard sharing via LAN.
946954
◆ lanshare : LAN file transfer app for any kind and size of files and folders.
947955
◆ laravel-kit : Easy Laravel application management.
948956
◆ launcher : Generic application's launcher.
@@ -967,15 +975,7 @@
967975
◆ libassist : Library Assistant.
968976
◆ libertem : Pixelated scanning transmission electron microscopy.
969977
◆ librecad : 2D CAD program written in C++11 using the Qt framework.
970-
◆ libreoffice : Free and open source Office suite (choose a version).
971-
◆ libreoffice-fresh-full-help : Office suite (includes manuals).
972-
◆ libreoffice-fresh-full : Office suite (latest, includes all languages).
973-
◆ libreoffice-fresh-standard-help : Office suite (includes manuals).
974-
◆ libreoffice-fresh-standard : Office suite (latest, european languages only).
975-
◆ libreoffice-still-full-help : Office suite (includes manuals).
976-
◆ libreoffice-still-full : Office suite (stable, includes all languages).
977-
◆ libreoffice-still-standard-help : Office suite (includes manuals).
978-
◆ libreoffice-still-standard : Office suite (stable, european languages only).
978+
◆ libreoffice : Free and powerful office suite, and a successor to OpenOffice.
979979
◆ librepcb : Design Schematics and PCBs.
980980
◆ libresprite : Animated sprite editor & pixel art tool.
981981
◆ librewolf : Firefox-based Web Browser focused on privacy, security, freedom.
@@ -1018,6 +1018,7 @@
10181018
◆ lux : A free open source image and panorama viewer.
10191019
◆ lx-music-desktop-appimage : 一个基于electron的音乐软件.
10201020
◆ lxtask : A lightweight and desktop-independent task manager.
1021+
◆ macchina : A system information frontend with an emphasis on performance.
10211022
◆ magento2-upgrade-gui : Magento 2 Upgrade GUI.
10221023
◆ magicfountain : A novel and screenwriting program.
10231024
◆ makagiga : To-do manager, notepad, RSS reader and much more.
@@ -1123,6 +1124,7 @@
11231124
◆ moyu : An online collaborative api interface management tool.
11241125
◆ mozaic : Massive Online Zeus Artificial Intelligence Competition platform.
11251126
◆ mp3-tagger-appimage : An Electron app to edit metadata of mp3 files.
1127+
◆ mp4grep : CLI for transcribing and searching audio/video files.
11261128
◆ mpv : A free, open source, and cross-platform media player.
11271129
◆ mqttcute : An advanced desktop MQTT client for binary protocol development.
11281130
◆ mqtt-explorer : Explore your message queues.
@@ -1181,6 +1183,7 @@
11811183
◆ niffler : A grin gui wallet.
11821184
◆ nightpdf : Dark Mode PDF Reader built using Electron and PDF.js.
11831185
◆ nimbus-weather : A beautiful weather app built using the Dark Sky API.
1186+
◆ nitch : Incredibly fast system fetch written in nim.
11841187
◆ nitrokey : Manage your Nitrokey devices.
11851188
◆ nixnote : Use with Evernote to remember everything.
11861189
◆ nmeasimulator : NMEA sentence generator utility to broadcast via TCP.
@@ -1473,6 +1476,7 @@
14731476
◆ qradiolink : Multimode SDR transceiver for GNU radio.
14741477
◆ qr-code-generator : Create custom QR Codes, resize, save them as PNG image.
14751478
◆ qrop : Crop planning and recordkeeping software.
1479+
◆ qrscan : Scan a QR code in the terminal using the system camera or an image.
14761480
◆ qsdrswr : Qt SWR analyser using an SDR and soapy_power.
14771481
◆ qtads : A cross-platform, multimedia interpreter for TADS adventure games.
14781482
◆ qtalarm : Alarm clock for Computers.
@@ -1778,6 +1782,7 @@
17781782
◆ synthein : A space ship building and combat game.
17791783
◆ synthv1 : An old school polyphonic synthesizer.
17801784
◆ szyszka : Szyszka is fast and powerful file renamer.
1785+
◆ tabby : A terminal for a more modern age
17811786
◆ tablo-tools : Tools to Bulk Delete and Export from Tablo DVR.
17821787
◆ tag-editor : Tag Editor (supports MP4, ID3, Vorbis, Opus, FLAC and Matroska).
17831788
◆ tagspaces : An offline, open source, document manager with tagging support.
@@ -1795,6 +1800,7 @@
17951800
◆ tesler : The Tesla Sentinel Viewer.
17961801
◆ tess : A hackable, simple, rapid and beautiful terminal.
17971802
◆ tesseract : Tesseract Open Source OCR Engine AppImage.
1803+
◆ testdisk : TestDisk & PhotoRec, tools to recover lost partitions and files.
17981804
◆ texmacs : Free scientific text editor, inspired by TeX and GNU Emacs.
17991805
◆ texstudio : LaTeX development environment.
18001806
◆ textosaurus : Cross-platform text editor based on Qt and Scintilla.
@@ -1857,6 +1863,7 @@
18571863
◆ tt : A simple Time Tracker to stay basic and intuitive.
18581864
◆ tts-now : A chinese text-to-speech assistant based on the speech synthesi.
18591865
◆ ttth : An electron based desktop app for online services.
1866+
◆ ttyper : Terminal-based typing test.
18601867
◆ tulip : Large graphs analysis, drawing and visualization framework.
18611868
◆ tumblr-downloader-gui : Download Tumblr posts that you liked.
18621869
◆ tumblr-scraper : Scrape a Tumblr profile for user uploadede posts.
@@ -1899,6 +1906,7 @@
18991906
◆ upterm : A terminal emulator for the 21st century.
19001907
◆ urbanterror : A team-based tactical game shooter based on the Quake 3 Engine.
19011908
◆ utilso : Regex Tester, JWT Verify, Image Converter, Format JSON, Decode...
1909+
◆ uwufetch : A meme system info tool for Linux, based on nyan/uwu trend.
19021910
◆ uyou : This is a todo list with electron.
19031911
◆ v2ray-desktop : V2Ray GUI client for Linux.
19041912
◆ valentina : Open source pattern-making software.

programs/x86_64/7zip

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/bin/sh
2+
3+
# AM INSTALL SCRIPT VERSION 3.
4+
set -u
5+
APP=7zip
6+
SITE="https://www.7-zip.org"
7+
8+
# CREATE DIRECTORIES AND ADD REMOVER
9+
[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1
10+
printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP /usr/local/bin/7zips\nrm -R -f /opt/$APP" > "/opt/$APP/remove"
11+
#printf '\n%s' "rm -f /usr/share/applications/AM-$APP.desktop" >> "/opt/$APP/remove"
12+
chmod a+x "/opt/$APP/remove"
13+
14+
# DOWNLOAD AND PREPARE THE APP, $version is also used for updates
15+
version=$(echo "https://www.7-zip.org/$(wget -q https://www.7-zip.org/download.html -O - | tr '"' '\n' | grep "linux-x64.tar.xz" | head -1)")
16+
wget "$version" || exit 1
17+
[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z
18+
[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.*
19+
[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip
20+
cd ..
21+
if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi
22+
rm -R -f ./tmp || exit 1
23+
echo "$version" > ./version
24+
chmod a+x "/opt/$APP/7zz" "/opt/$APP/7zzs" || exit 1
25+
26+
# LINK TO PATH
27+
ln -s "/opt/$APP/7zz" "/usr/local/bin/$APP"
28+
ln -s "/opt/$APP/7zzs" "/usr/local/bin/7zips"
29+
30+
# SCRIPT TO UPDATE THE PROGRAM
31+
cat >> "/opt/$APP/AM-updater" << 'EOF'
32+
#!/bin/sh
33+
set -u
34+
APP=7zip
35+
SITE="https://www.7-zip.org"
36+
version0=$(cat "/opt/$APP/version")
37+
version=$(echo "https://www.7-zip.org/$(wget -q https://www.7-zip.org/download.html -O - | tr '"' '\n' | grep "linux-x64.tar.xz" | head -1)")
38+
[ -n "$version" ] || { echo "Error getting link"; exit 1; }
39+
if [ "$version" != "$version0" ]; then
40+
mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1
41+
notify-send "A new version of $APP is available, please wait"
42+
wget "$version" || exit 1
43+
[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z
44+
[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.*
45+
[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip
46+
cd ..
47+
if [ -d ./tmp/* 2>/dev/null ]; then mv --backup=t ./tmp/*/* ./; else mv --backup=t ./tmp/* ./"$APP" 2>/dev/null || mv --backup=t ./tmp/* ./; fi
48+
chmod a+x "/opt/$APP/7zz" "/opt/$APP/7zzs" || exit 1
49+
echo "$version" > ./version
50+
rm -R -f ./tmp ./*~
51+
notify-send "$APP is updated!"
52+
else
53+
echo "Update not needed!"
54+
fi
55+
EOF
56+
chmod a+x "/opt/$APP/AM-updater"

programs/x86_64/aisap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4747
echo "$version" > ./version
4848
rm -R -f ./*zs-old ./*.part ./tmp ./*~
4949
notify-send "$APP is updated!"
50-
exit 0
50+
else
51+
echo "Update not needed!"
5152
fi
52-
echo "Update not needed!"
5353
EOF
5454
chmod a+x "/opt/$APP/AM-updater"
5555

programs/x86_64/aisleriot

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4747
echo "$version" > ./version
4848
rm -R -f ./*zs-old ./*.part ./tmp ./*~
4949
notify-send "$APP is updated!"
50-
exit 0
50+
else
51+
echo "Update not needed!"
5152
fi
52-
echo "Update not needed!"
5353
EOF
5454
chmod a+x "/opt/$APP/AM-updater"
5555

programs/x86_64/alexandria

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4747
echo "$version" > ./version
4848
rm -R -f ./*zs-old ./*.part ./tmp ./*~
4949
notify-send "$APP is updated!"
50-
exit 0
50+
else
51+
echo "Update not needed!"
5152
fi
52-
echo "Update not needed!"
5353
EOF
5454
chmod a+x "/opt/$APP/AM-updater"
5555

programs/x86_64/amdgpu_top

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4848
echo "$version" > ./version
4949
rm -R -f ./*zs-old ./*.part ./tmp ./*~
5050
notify-send "$APP is updated!"
51-
exit 0
51+
else
52+
echo "Update not needed!"
5253
fi
53-
echo "Update not needed!"
5454
EOF
5555
chmod a+x "/opt/$APP/AM-updater"
5656

programs/x86_64/android-tools

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4747
echo "$version" > ./version
4848
rm -R -f ./*zs-old ./*.part ./tmp ./*~
4949
notify-send "$APP is updated!"
50-
exit 0
50+
else
51+
echo "Update not needed!"
5152
fi
52-
echo "Update not needed!"
5353
EOF
5454
chmod a+x "/opt/$APP/AM-updater"
5555

programs/x86_64/anything-llm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then
4747
echo "$version" > ./version
4848
rm -R -f ./*zs-old ./*.part ./tmp ./*~
4949
notify-send "$APP is updated!"
50-
exit 0
50+
else
51+
echo "Update not needed!"
5152
fi
52-
echo "Update not needed!"
5353
EOF
5454
chmod a+x "/opt/$APP/AM-updater"
5555

0 commit comments

Comments
 (0)