diff --git a/programs/x86_64-appimages b/programs/x86_64-appimages index 8e5d7c29f..bf405fbb2 100644 --- a/programs/x86_64-appimages +++ b/programs/x86_64-appimages @@ -740,6 +740,7 @@ ◆ ideamaker : 3D slicing software, automatically generates support structure. ◆ ideamerit : Diagramming tool. Software for drawing Objectives and Key Results. ◆ igdm : Desktop application for Instagram DMs. +◆ iheartradio-webapp : Election WebApp for iHeartRadio. ◆ imagemagick-clang : CLI to create, edit, compose, or convert digital images. ◆ imagemagick-gcc : CLI to create, edit, compose, or convert digital images. ◆ imagemosaicwall : Create an image based on a bunch of other images. @@ -830,6 +831,7 @@ ◆ keys : Key management, signing and encryption. ◆ kicad : Electronic Design Automation suite. ◆ kiibohd-configurator : Configuration utility for Input Club keyboards. +◆ kiku : Play music from youtube on desktop. Supports local api, invidious and piped as source. ◆ kimitzu-client : Kimitzu Client. ◆ kinopio : Thinking canvas for new ideas and hard problems. ◆ kitupiikki : Bookkeeping software for small organizations. @@ -1039,6 +1041,7 @@ ◆ music-assistant-companion : The desktop companion app for Music Assistant. ◆ music-blocks : .Exploring Math, Music, and Programming. ◆ music-kitten : Use your own soundtrack in Counter-Strike. +◆ music-player : Desktop Electron app for playing and downloading music. ◆ music-quiz : Jepardy like game, guess as many songs as possible. ◆ mutool : All purpose tool for dealing with PDF files. ◆ muwire : A file sharing client for I2P. @@ -1207,8 +1210,8 @@ ◆ pavucontrol-qt : Qt port of pavucontrol Pulseaudio mixer, unofficial AppImage. ◆ pb-for-desktop : Pushbullet Desktop app. ◆ pcloud : Europe's most secure cloud storage trusted by 20 million people. -◆ pcsx-redux : The PCSX-Redux project is a collection of tools, research, hardware design, and libraries aiming at development and reverse engineering on the PlayStation 1. The core product itself, PCSX-Redux, is yet another fork of the Playstation emulator, PCSX. ◆ pcsx2 : The Playstation 2 Emulator. +◆ pcsx-redux : The PCSX-Redux project is a collection of tools, research, hardware design, and libraries aiming at development and reverse engineering on the PlayStation 1. The core product itself, PCSX-Redux, is yet another fork of the Playstation emulator, PCSX. ◆ pdf2htmlex : Convert PDF to HTML without losing text or format. ◆ pdf4qt : Open source PDF editor. ◆ pdfcompress : A utility to compress PDF documentas based on Ghostscript and YAD. @@ -1905,6 +1908,7 @@ ◆ xpeviewer : PE file viewer/editor. ◆ xplist : Cross-platform Plist Editor. ◆ xplorer : Xplorer, a customizable, modern file manager. +◆ xtuber : Simple YouTube Downloader. ◆ xxh : Bring your favorite shell wherever you go through the ssh. ◆ yam : Unofficial Game Updater for the F95Zone platform. ◆ yana : Note-taking app with nested documents, text search/editor, code... @@ -1915,6 +1919,8 @@ ◆ yank-note : A Hackable Markdown Note Application for Programmers. ◆ yaya : Yet Another Yahtzee-esque Application. ◆ yesplaymusic : A third party music player for Netease Music. +◆ ym-desktop : The YouTube music desktop app. +◆ youtube-downloader : Download video/audio from youtube (and instagram) videos. ◆ youtube-music : Unofficial. Amazing electron wrapper for YouTube Music featuring plugins. ◆ youtubesearchfilter : YouTube searches with/without a pre-filter from CLI. ◆ yt-dlandcut : Download and cut Youtube videos by providing url and time range. diff --git a/programs/x86_64-apps b/programs/x86_64-apps index 186ba0b99..46c7b38e4 100644 --- a/programs/x86_64-apps +++ b/programs/x86_64-apps @@ -805,6 +805,7 @@ ◆ helio : One music sequencer for all major platforms, desktop and mobile. ◆ helioslauncher : Custom launcher for modded minecraft written in Electron. ◆ helix : A post-modern modal text editor. +◆ henson : A puppet manager for NationStates. ◆ hermesmessenger : Desktop client version for Hermes Messenger. ◆ hero-display : App for display on HERO robot. ◆ heroic-games-launcher : A Native GOG and Epic Games Launcher for Linux. @@ -847,6 +848,7 @@ ◆ ideamaker : 3D slicing software, automatically generates support structure. ◆ ideamerit : Diagramming tool. Software for drawing Objectives and Key Results. ◆ igdm : Desktop application for Instagram DMs. +◆ iheartradio-webapp : Election WebApp for iHeartRadio. ◆ imagemagick-clang : CLI to create, edit, compose, or convert digital images. ◆ imagemagick-gcc : CLI to create, edit, compose, or convert digital images. ◆ imagemosaicwall : Create an image based on a bunch of other images. @@ -971,6 +973,7 @@ ◆ kicad : Electronic Design Automation suite. ◆ kigo : Unofficial, Go strategic board game for two players. This script installs the full "kdegames" suite. ◆ kiibohd-configurator : Configuration utility for Input Club keyboards. +◆ kiku : Play music from youtube on desktop. Supports local api, invidious and piped as source. ◆ killbots : Unofficial, Port of the classic console game Robots. This script installs the full "kdegames" suite. ◆ kimitzu-client : Kimitzu Client. ◆ kinopio : Thinking canvas for new ideas and hard problems. @@ -1109,6 +1112,7 @@ ◆ manager-io : Free Accounting Software for Linux, Server. ◆ mandelbulber2 : Explore trigonometric, hyper-complex and other 3D fractals. ◆ mangal : Most advanced, yet simple CLI manga downloader in the universe! +◆ manga-tui : Terminal-based manga reader and downloader with image support. ◆ mangayomi : Application for reading manga and watching anime. ◆ mangbandclient : A free online multi-player realtime roguelike game. ◆ manta : Flexible invoicing app with beautiful & customizable templates. @@ -1233,6 +1237,7 @@ ◆ music-assistant-companion : The desktop companion app for Music Assistant. ◆ music-blocks : .Exploring Math, Music, and Programming. ◆ music-kitten : Use your own soundtrack in Counter-Strike. +◆ music-player : Desktop Electron app for playing and downloading music. ◆ music-quiz : Jepardy like game, guess as many songs as possible. ◆ mutool : All purpose tool for dealing with PDF files. ◆ muwire : A file sharing client for I2P. @@ -1422,6 +1427,7 @@ ◆ pdf2htmlex : Convert PDF to HTML without losing text or format. ◆ pdf4qt : Open source PDF editor. ◆ pdfcompress : A utility to compress PDF documentas based on Ghostscript and YAD. +◆ pdfcrackgui : GUI overlay for the popular and highly regarded pdfcrack. ◆ pdfquirk : Creating PDFs from images or scanner made easy. ◆ pdf-sync : PDF Reader in JavaScript with Sync. ◆ pdmaner : A relational database modeling tool. @@ -1438,6 +1444,7 @@ ◆ photoflow : Edit images from digital cameras. ◆ photogimp : A patched version of GIMP for Adobe Photoshop users. ◆ photoname : Rename photo image files based on EXIF shoot date. +◆ photon : Cross-platform file-transfer application built using flutter. It uses http to transfer files between devices. ◆ photopea : Advanced Photo Editor for professional use. ◆ photoqt : View and manage images. ◆ photoquick : Light-weight image viewer, resize, collage, filters.... @@ -1457,6 +1464,7 @@ ◆ pingviewer : Ping viewer interface. ◆ pinokio : AI Browser. ◆ pixelhopper : Animated GIF player for Linux (X11). +◆ pixelorama : A powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just express yourself in the language of pixel art. ◆ pix-maui : Image gallery and viewer with basic editing features. ◆ pixsrt : Pixel sorter. ◆ pkg2appimage : Utility to convert .yml recipes to AppDir, see appimagetool. @@ -1812,6 +1820,7 @@ ◆ spotify-tui : Spotify for the terminal written in Rust. ◆ spotify : Unofficial. A proprietary music streaming service. ◆ spotube : Open source Spotify client that doesn't require Premium. +◆ spritemate4electron : A simple Electron-wrapper for Esshahn's awesome Spritemate-webapp. ◆ sptlrx : Synchronized lyrics in your terminal. ◆ sqlitebrowser : DB Browser is a light GUI editor for SQLite databases. ◆ squirreldisk : Cross-Platform and Super Fast Disk Usage Analysis Tool in Rust. @@ -2053,6 +2062,7 @@ ◆ via : Your keyboard's best friend. ◆ viber : Proprietary cross-platform IM and VoIP software. ◆ vidcutter : Simple and fast video cutter and joiner. +◆ viddy : A modern watch command. Time machine and pager etc. ◆ video-hub : A fastest way to browse and search for videos on your computer. ◆ videomass : Free, open source and cross-platform GUI for FFmpeg. ◆ vieb : Vim Inspired Electron Browser. @@ -2092,6 +2102,7 @@ ◆ vuerd : A desktop ERD app. ◆ vup : Private and decentralized cloud storage. ◆ vvave-maui : Manage your music collection and stream it from the cloud. +◆ w2vgrep : semantic-grep for words with similar meaning to the query. ◆ waifu2x-gui : An app that upscales anime-styled images, gifs, videos, pdfs. ◆ walc : WhatsApp Linux Client, Unofficial. ◆ wallettech : BytechCoin GUI Wallet. @@ -2177,6 +2188,7 @@ ◆ xpeviewer : PE file viewer/editor. ◆ xplist : Cross-platform Plist Editor. ◆ xplorer : Xplorer, a customizable, modern file manager. +◆ xtuber : Simple YouTube Downloader. ◆ xxh : Bring your favorite shell wherever you go through the ssh. ◆ yam : Unofficial Game Updater for the F95Zone platform. ◆ yana : Note-taking app with nested documents, text search/editor, code... @@ -2188,6 +2200,8 @@ ◆ yaya : Yet Another Yahtzee-esque Application. ◆ yazi : Blazing fast terminal file manager written in Rust. ◆ yesplaymusic : A third party music player for Netease Music. +◆ ym-desktop : The YouTube music desktop app. +◆ youtube-downloader : Download video/audio from youtube (and instagram) videos. ◆ youtube-music : Unofficial. Amazing electron wrapper for YouTube Music featuring plugins. ◆ youtubesearchfilter : YouTube searches with/without a pre-filter from CLI. ◆ yt-dlandcut : Download and cut Youtube videos by providing url and time range. diff --git a/programs/x86_64/caesium b/programs/x86_64/caesium index a7722fdb2..a9cc7bf50 100644 --- a/programs/x86_64/caesium +++ b/programs/x86_64/caesium @@ -53,7 +53,7 @@ EOF chmod a+x ./AM-updater || exit 1 # LAUNCHER & ICON -./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/appentry.desktop ./"$APP".desktop ./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon COUNT=0 while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink diff --git a/programs/x86_64/henson b/programs/x86_64/henson new file mode 100644 index 000000000..5d72c94d9 --- /dev/null +++ b/programs/x86_64/henson @@ -0,0 +1,68 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=henson +SITE="NotAName320/Henson" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/NotAName320/Henson/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x64.*zip$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./Henson || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/Henson" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=henson +SITE="NotAName320/Henson" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/NotAName320/Henson/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x64.*zip$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./Henson || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# ICON +mkdir -p icons +wget https://raw.githubusercontent.com/NotAName320/Henson/main/Henson/Assets/henson-icon.ico -O ./icons/"$APP" 2> /dev/null + +# LAUNCHER +echo "[Desktop Entry] +Name=Henson +Exec=$APP +Icon=/opt/$APP/icons/$APP +Type=Application +Terminal=false +Categories=Network;" > /usr/local/share/applications/"$APP"-AM.desktop diff --git a/programs/x86_64/hugor b/programs/x86_64/hugor index 84bc7f08b..bfd447270 100644 --- a/programs/x86_64/hugor +++ b/programs/x86_64/hugor @@ -15,7 +15,7 @@ chmod a+x ../remove || exit 1 version=$(curl -Ls https://api.github.com/repos/realnc/hugor/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*64.*mage.*tar.gz$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) wget "$version" || exit 1 #wget "$version.zsync" 2> /dev/null # Comment out this line if you want to use zsync -# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +tar fx ./*tar* cd .. mv ./tmp/*mage ./"$APP" mv ./tmp/*.zsync ./"$APP".zsync 2>/dev/null @@ -39,7 +39,7 @@ if [ "$version" != "$version0" ] || [ -e /opt/"$APP"/*.zsync ]; then mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 [ -e ../*.zsync ] || notify-send "A new version of $APP is available, please wait" [ -e ../*.zsync ] && wget "$version.zsync" 2>/dev/null || { wget "$version" || exit 1; } - # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + tar fx ./*tar* cd .. mv ./tmp/*.zsync ./"$APP".zsync 2>/dev/null || mv --backup=t ./tmp/*mage ./"$APP" [ -e ./*.zsync ] && { zsync ./"$APP".zsync || notify-send -u critical "zsync failed to update $APP"; } diff --git a/programs/x86_64/iheartradio-webapp b/programs/x86_64/iheartradio-webapp new file mode 100644 index 000000000..b1f954c55 --- /dev/null +++ b/programs/x86_64/iheartradio-webapp @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=iheartradio-webapp +SITE="ItzSwirlz/iheartradio-webapp" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/ItzSwirlz/iheartradio-webapp/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=iheartradio-webapp +SITE="ItzSwirlz/iheartradio-webapp" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/ItzSwirlz/iheartradio-webapp/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/programs/x86_64/kiku b/programs/x86_64/kiku new file mode 100644 index 000000000..13424d85d --- /dev/null +++ b/programs/x86_64/kiku @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=kiku +SITE="angus6b23/kiku" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/angus6b23/kiku/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=kiku +SITE="angus6b23/kiku" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/angus6b23/kiku/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/programs/x86_64/manga-tui b/programs/x86_64/manga-tui new file mode 100644 index 000000000..edc6b103b --- /dev/null +++ b/programs/x86_64/manga-tui @@ -0,0 +1,55 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=manga-tui +SITE="josueBarretogit/manga-tui" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +#printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/josueBarretogit/manga-tui/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*tar.gz$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./$APP || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=manga-tui +SITE="josueBarretogit/manga-tui" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/josueBarretogit/manga-tui/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*tar.gz$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 diff --git a/programs/x86_64/music-player b/programs/x86_64/music-player new file mode 100644 index 000000000..51462c28c --- /dev/null +++ b/programs/x86_64/music-player @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=music-player +SITE="LucasHazardous/music-player" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/LucasHazardous/music-player/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=music-player +SITE="LucasHazardous/music-player" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/LucasHazardous/music-player/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/programs/x86_64/pdfcrackgui b/programs/x86_64/pdfcrackgui new file mode 100644 index 000000000..796cdded3 --- /dev/null +++ b/programs/x86_64/pdfcrackgui @@ -0,0 +1,68 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=pdfcrackgui +SITE="https://sourceforge.net/projects/pdfcrackgui/" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://sourceforge.net/p/pdfcrackgui/activity/feed | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep -i "Linux.zip" | grep -v '%' | head -1) +wget "$version" -O "$APP".zip || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./pdfcrackgui-x64 || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/pdfcrackgui-x64" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=pdfcrackgui +SITE="https://sourceforge.net/projects/pdfcrackgui/" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://sourceforge.net/p/pdfcrackgui/activity/feed | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep -i "Linux.zip" | grep -v '%' | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" -O "$APP".zip || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./pdfcrackgui-x64 || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# ICON +mkdir -p icons +wget https://a.fsdn.com/allura/p/pdfcrackgui/icon -O ./icons/"$APP" 2> /dev/null + +# LAUNCHER +echo "[Desktop Entry] +Name=PDFCrack-GUI +Exec=$APP +Icon=/opt/$APP/icons/$APP +Type=Application +Terminal=false +Categories=Office;" > /usr/local/share/applications/"$APP"-AM.desktop diff --git a/programs/x86_64/photon b/programs/x86_64/photon new file mode 100644 index 000000000..bb59ca7cf --- /dev/null +++ b/programs/x86_64/photon @@ -0,0 +1,68 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=photon +SITE="abhi16180/photon" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/abhi16180/photon/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux-release.*zip$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./Photon || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/Photon" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=photon +SITE="abhi16180/photon" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/abhi16180/photon/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux-release.*zip$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./Photon || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# ICON +mkdir -p icons +wget https://raw.githubusercontent.com/abhi16180/photon/main/web/icons/Icon-192.png -O ./icons/"$APP" 2> /dev/null + +# LAUNCHER +echo "[Desktop Entry] +Name=Photon +Exec=$APP +Icon=/opt/$APP/icons/$APP +Type=Application +Terminal=false +Categories=Utility;" > /usr/local/share/applications/"$APP"-AM.desktop diff --git a/programs/x86_64/pixelorama b/programs/x86_64/pixelorama new file mode 100644 index 000000000..1a3333551 --- /dev/null +++ b/programs/x86_64/pixelorama @@ -0,0 +1,69 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=pixelorama +SITE="orama-interactive/pixelorama" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/orama-interactive/pixelorama/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*64bit.tar.gz$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./Pixelorama.x86_64 || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/Pixelorama.x86_64" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=pixelorama +SITE="orama-interactive/pixelorama" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/orama-interactive/pixelorama/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*64bit.tar.gz$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./Pixelorama.x86_64 || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# ICON +mkdir -p icons +wget https://raw.githubusercontent.com/Orama-Interactive/Pixelorama/master/assets/graphics/icons/icon.png -O ./icons/"$APP" 2> /dev/null + +# LAUNCHER +echo "[Desktop Entry] +Name=Pixelorama +Comment=A free & open-source 2D sprite editor, made with the Godot Engine! +Exec=$APP +Icon=/opt/$APP/icons/$APP +Terminal=false +Type=Application +X-Ubuntu-Touch=true" > /usr/local/share/applications/"$APP"-AM.desktop diff --git a/programs/x86_64/spritemate4electron b/programs/x86_64/spritemate4electron new file mode 100644 index 000000000..c956e159f --- /dev/null +++ b/programs/x86_64/spritemate4electron @@ -0,0 +1,68 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=spritemate4electron +SITE="4ch1m/spritemate4electron" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/4ch1m/spritemate4electron/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x64.*zip$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./$APP || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=spritemate4electron +SITE="4ch1m/spritemate4electron" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/4ch1m/spritemate4electron/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x64.*zip$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# ICON +mkdir -p icons +wget https://www.spritemate.com/img/favicon/apple-touch-icon.png -O ./icons/"$APP" 2> /dev/null + +# LAUNCHER +echo "[Desktop Entry] +Name= +Exec=$APP +Icon=/opt/$APP/icons/$APP +Type=Application +Terminal=false +Categories=Network;" > /usr/local/share/applications/"$APP"-AM.desktop diff --git a/programs/x86_64/viddy b/programs/x86_64/viddy new file mode 100644 index 000000000..ca784d84f --- /dev/null +++ b/programs/x86_64/viddy @@ -0,0 +1,55 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=viddy +SITE="sachaos/viddy" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +#printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/sachaos/viddy/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x86_64.tar.gz$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./$APP || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=viddy +SITE="sachaos/viddy" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/sachaos/viddy/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.*x86_64.tar.gz$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 diff --git a/programs/x86_64/w2vgrep b/programs/x86_64/w2vgrep new file mode 100644 index 000000000..78017e89b --- /dev/null +++ b/programs/x86_64/w2vgrep @@ -0,0 +1,55 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=w2vgrep +SITE="arunsupe/semantic-grep" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +#printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/arunsupe/semantic-grep/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.amd64$" | head -1) +wget "$version" || exit 1 +[ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z +[ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* +[ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip +cd .. +if [ -d ./tmp/* 2>/dev/null ]; then mv ./tmp/*/* ./; else mv ./tmp/* ./"$APP" 2>/dev/null || mv ./tmp/* ./; fi +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./$APP || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=w2vgrep +SITE="arunsupe/semantic-grep" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/arunsupe/semantic-grep/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | grep -i "linux.amd64$" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + [ -e ./*7z ] && 7z x ./*7z && rm -f ./*7z + [ -e ./*tar.* ] && tar fx ./*tar.* && rm -f ./*tar.* + [ -e ./*zip ] && unzip -qq ./*zip 1>/dev/null && rm -f ./*zip + cd .. + 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 + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 diff --git a/programs/x86_64/xtuber b/programs/x86_64/xtuber new file mode 100644 index 000000000..2a461b3e3 --- /dev/null +++ b/programs/x86_64/xtuber @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=xtuber +SITE="chientrm/xtuber" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/chientrm/xtuber/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=xtuber +SITE="chientrm/xtuber" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/chientrm/xtuber/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/programs/x86_64/ym-desktop b/programs/x86_64/ym-desktop new file mode 100644 index 000000000..74ab45cda --- /dev/null +++ b/programs/x86_64/ym-desktop @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=ym-desktop +SITE="binary-blazer/ym-desktop" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/binary-blazer/ym-desktop/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=ym-desktop +SITE="binary-blazer/ym-desktop" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/binary-blazer/ym-desktop/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/programs/x86_64/youtube-downloader b/programs/x86_64/youtube-downloader new file mode 100644 index 000000000..7279239bf --- /dev/null +++ b/programs/x86_64/youtube-downloader @@ -0,0 +1,73 @@ +#!/bin/sh + +# AM INSTALL SCRIPT VERSION 3.5 +set -u +APP=youtube-downloader +SITE="AnthonyGress/Youtube-Downloader" + +# CREATE DIRECTORIES AND ADD REMOVER +[ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 +printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove +printf '\n%s' "rm -f /usr/local/share/applications/$APP-AM.desktop" >> ../remove +chmod a+x ../remove || exit 1 + +# DOWNLOAD AND PREPARE THE APP, $version is also used for updates +version=$(curl -Ls https://api.github.com/repos/AnthonyGress/Youtube-Downloader/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +wget "$version" || exit 1 +# Keep this space in sync with other installation scripts +# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. +cd .. +mv ./tmp/*mage ./"$APP" +# Keep this space in sync with other installation scripts +rm -R -f ./tmp || exit 1 +echo "$version" > ./version +chmod a+x ./"$APP" || exit 1 + +# LINK TO PATH +ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" + +# SCRIPT TO UPDATE THE PROGRAM +cat >> ./AM-updater << 'EOF' +#!/bin/sh +set -u +APP=youtube-downloader +SITE="AnthonyGress/Youtube-Downloader" +version0=$(cat "/opt/$APP/version") +version=$(curl -Ls https://api.github.com/repos/AnthonyGress/Youtube-Downloader/releases/latest | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) +[ -n "$version" ] || { echo "Error getting link"; exit 1; } +if [ "$version" != "$version0" ]; then + mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 + notify-send "A new version of $APP is available, please wait" + wget "$version" || exit 1 + # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. + cd .. + mv --backup=t ./tmp/*mage ./"$APP" + chmod a+x ./"$APP" || exit 1 + echo "$version" > ./version + rm -R -f ./*zs-old ./*.part ./tmp ./*~ + notify-send "$APP is updated!" +else + echo "Update not needed!" +fi +EOF +chmod a+x ./AM-updater || exit 1 + +# LAUNCHER & ICON +./"$APP" --appimage-extract *.desktop 1>/dev/null && mv ./squashfs-root/*.desktop ./"$APP".desktop +./"$APP" --appimage-extract .DirIcon 1>/dev/null && mv ./squashfs-root/.DirIcon ./DirIcon +COUNT=0 +while [ "$COUNT" -lt 10 ]; do # Tries to get the actual icon/desktop if it is a symlink to another symlink + if [ -L ./"$APP".desktop ]; then + LINKPATH="$(readlink ./"$APP".desktop | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./"$APP".desktop + fi + if [ -L ./DirIcon ]; then + LINKPATH="$(readlink ./DirIcon | sed 's|^\./||' 2>/dev/null)" + ./"$APP" --appimage-extract "$LINKPATH" 1>/dev/null && mv ./squashfs-root/"$LINKPATH" ./DirIcon + fi + [ ! -L ./"$APP".desktop ] && [ ! -L ./DirIcon ] && break + COUNT=$((COUNT + 1)) +done +sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop +mv ./"$APP".desktop /usr/local/share/applications/"$APP"-AM.desktop && mv ./DirIcon ./icons/"$APP" 1>/dev/null +rm -R -f ./squashfs-root diff --git a/tools/am2pla-site b/tools/am2pla-site index afe606abe..ca7e91a4c 100644 --- a/tools/am2pla-site +++ b/tools/am2pla-site @@ -257,7 +257,7 @@ for category in $CATEGORIES; do elif [ "$category" = game ]; then grep -i "$category\|arcade\|steam\|wine\|strateg\|solitaire\|poker\|chess\|puzzle\|pinball\|adventure\|playstation\|xbox\|nintendo" ./"$arch"-apps >> "$arch-$category" elif [ "$category" = graphic ]; then - grep -i "$category\|picture\|screensh\|gimp\|photo\|svg\|png\|autocad\|blender\|modeling\|paint" ./"$arch"-apps >> "$arch-$category" + grep -i "$category\|picture\|screensh\|gimp\|photo\|svg\|png\|autocad\|blender\|modeling\|paint\|pixel" ./"$arch"-apps >> "$arch-$category" elif [ "$category" = internet ]; then grep -i "$category\|web browser\|browser web\|firefox\|chrome\|youtube\|torrent\|p2p\|chat\|whatsapp\|mastodon\|telegram\|skype" ./"$arch"-apps >> "$arch-$category" elif [ "$category" = office ]; then