ivan-hc / AM

AppImage package manager to install, update and manage ALL of them, system-wide or locally, thanks to its ever-growing AUR-inspired database listing 2500+ portable apps and programs for GNU/Linux. The first, real centralized repository to manage your AppImages with the ease of APT and the power of PacMan.
https://portable-linux-apps.github.io
GNU General Public License v3.0
509 stars 41 forks source link

New apps (again) + other issues #904

Closed Sush-ruta closed 2 months ago

Sush-ruta commented 2 months ago

Hi. I wanted to list the apps I installed with am -e to see if you would add it to the app's directory. Thanks.

Here's some others that I have used recently:

In an unrelated note, the [elapp] script does not work:

$ appman install elapp
============================================================================

                  START OF ALL INSTALLATION PROCESSES

============================================================================

 ◆ "ELAPP": starting installation script

 💀 ERROR DURING INSTALLATION, REMOVED "ELAPP"!

Also, since the last update, every time I use am or appman I am getting this message:

mv: '/home/sushruta/.local/share/AM/ghapikey.txt' and '/home/sushruta/.local/share/AM/ghapikey.txt' are the same file

Everything is working, but this message is coming at the start and end of all output. I have tried removing and resetting the gh api key to no avail.

ivan-hc commented 2 months ago

The issue with the "mv" command has been solved. All these "mv" commands you see are transitional, since we switched from /opt/am to $HOME/.local/share/AM, they also will be removed from a week or two.

I'll try to fix elapp now.

ivan-hc commented 2 months ago

Found the issue with elapp, this is the URL that the script uses https://cdn.criptext.com/elapp/linux/elapp-latest.AppImage and this is what appear while I click on the link

Istantanea_2024-08-30_17-05-01 png

ivan-hc commented 2 months ago

Elapp has a not valid SSL certificate

Istantanea_2024-08-30_17-10-50

tat said, I move to the other apps.

ivan-hc commented 2 months ago

Github apps are ready, on my PC... but...

Here's some others that I have used recently:

* [TransferNow](https://get.transfernow.net/linux)

* [Official Krunker.io Client](https://client2.krunker.io/setup.AppImage)

...please, can you provide the URL to the website instead to redirect me on the AppImage package?

ivan-hc commented 2 months ago

Added Krunker

ivan-hc commented 2 months ago

WTF??

Istantanea_2024-08-30_17-54-55

ivan-hc commented 2 months ago

Done, all I can do now is to mark elapp as a "spooky" app, to warn about installing it

Sush-ruta commented 2 months ago

Thank you for your prompt response and action as always. These are the website links: Krunkr and TransferNow. Sorry if my reply is late. @ivan-hc

ivan-hc commented 2 months ago

its good that you point me to the download url if the website hides the download URL, but as happened the other time, I could upload an AppImage with the same name but from another source, like that french app that was not the one you were looking for.

About updates for the two above, its complicated, there is no source to check a version to compare, but being them electron apps, I think thay may be automatically updated in some way.

Sush-ruta commented 2 months ago

I will keep that in mind. And I ran both the apps - they have in built update, so I don't think it will be an issue. And again, many thanks for your work, and all the best. You are a life saver. :pray:

Sush-ruta commented 2 months ago

Hi. I am not creating a new issue, but you can considering adding these apps. I have installed/used them in last few days, and they work well with am -e.

Although these do not have AppImages, but they have tar.gz releases with executable files inside. I am not sure if this is within the scope of am, but listing here nonetheless:

P.S. I have faced problems installing two programs in your list: hugor and caesium. This is the installation output:

appman install hugor
============================================================================

                  START OF ALL INSTALLATION PROCESSES

============================================================================

 ◆ "HUGOR": starting installation script

Hugor-3.0-Linux-x64.AppIm 100%[===================================>]  30.57M  4.66MB/s    in 7.2s    
mv: cannot stat './tmp/*mage': No such file or directory
chmod: cannot access './hugor': No such file or directory

 "HUGOR" INSTALLED (1 MB OF DISK SPACE)
____________________________________________________________________________
============================================================================

                  END OF ALL INSTALLATION PROCESSES

             The following new programs have been installed:

 ◆ hugor 3.0

============================================================================

and

appman install caesium
============================================================================

                  START OF ALL INSTALLATION PROCESSES

============================================================================

 ◆ "CAESIUM": starting installation script

Caesium_Image_Compressor- 100%[===================================>]  39.57M  6.58MB/s    in 6.5s    
mv: target './caesium.desktop' is not a directory
sed: can't read ./caesium.desktop: No such file or directory
mv: cannot stat './caesium.desktop': No such file or directory

 "CAESIUM" INSTALLED (40 MB OF DISK SPACE)
____________________________________________________________________________
============================================================================

                  END OF ALL INSTALLATION PROCESSES

             The following new programs have been installed:

 ◆ caesium 2.6.0

============================================================================

None of the apps show up on the application menu.

ivan-hc commented 2 months ago

Hi

Hi. I am not creating a new issue, but you can considering adding these apps. I have installed/used them in last few days, and they work well with am -e.

* [iHeartRadio](https://github.com/ItzSwirlz/iheartradio-webapp/releases)

* [Kiku](https://github.com/angus6b23/kiku/releases)

* [music-player](https://github.com/LucasHazardous/music-player/releases)

* [Youtube Music Desktop (YMD)](https://github.com/binary-blazer/ym-desktop/releases)

* [XTuber](https://github.com/chientrm/xtuber/releases)

* [Youtube Downloader](https://github.com/AnthonyGress/Youtube-Downloader/releases)

since they work with -e, why don't you try to use -t to create the scripts and do a pull request?

maybe you can also attack the .md files into a comment of the pull request, so it would be easier for me to compile the catalog

Although these do not have AppImages, but they have tar.gz releases with executable files inside. I am not sure if this is within the scope of am, but listing here nonetheless:

* [Jaspersoft Studio](https://www.jaspersoft.com/products/jaspersoft-community). [Download Link](https://community.jaspersoft.com/download-jaspersoft/community-edition/)

* [Henson](https://github.com/NotAName320/Henson/releases)

* [spritemate4electron](https://github.com/4ch1m/spritemate4electron/releases)

* [Photon](https://github.com/abhi16180/photon/releases/)

* [PDFCrack - GUI](https://sourceforge.net/projects/pdfcrackgui/)

sure, I'll start working on them right now...

P.S. I have faced problems installing two programs in your list: hugor and caesium.

...I'll first fix this btw.

ivan-hc commented 2 months ago

solved with the two apps broken https://github.com/ivan-hc/AM/commit/8477988f913035eb8aab8676db7c91e60794730f

ivan-hc commented 2 months ago

I give up on jaspersoft

ivan-hc commented 2 months ago

just added the 4 archives https://github.com/ivan-hc/AM/commit/185e1faeffcb1074b8626481617d57a56ab09147

only the appimages are left

ivan-hc commented 2 months ago

@Sush-ruta I have seen that you forked the repo, if you have any issue just ask

ivan-hc commented 2 months ago

@Sush-ruta

https://github.com/user-attachments/assets/095135c0-1be1-4e7f-9122-6955cfd8de28

Sush-ruta commented 2 months ago

Thanks @ivan-hc . This is my first time, so if I have run into any problems will consult.

ivan-hc commented 2 months ago

For appimages from github is super easy and take few seconds.

It works exactly as -e, but without installing the app.

You only see the preview of the URL, and if incorrect you can add/remove keywords, that will used in grep -io or grep -vi respectively. No other steps are required.


In case the source is not github but a different one, the option will always prompt you questions... normally the difficult thing to do for apps hosted outside github is the download URL, as its happened in "jaspersoft". The most common syntax I use to check a URL from other web pages is this:

curl -Ls https://example.com/download/page | tr '"><' '\n' | grep -i "^http.*keyword.*zip$"

the above command:

  1. uses curl -Ls to read the page https://example.com/download/page
  2. uses tr to convert to "new line" ('\n') all "double quotes", > and < references through the HTML page, trying to put the URL on a dedicated line
  3. uses grep to read all lines starting with http (^http) and in the same line (.*) must contain keywords (for example appname.*linux.*x64.*appimage) and ending with "zip" (zip$), and regardless if characters are uppercased/lowercased (grep -i).

This is all I do normally, and the most of the times it works, sometime not, and in these cases I must invent super-strange commands to fit in one line.


Because all installation scripts are equal, all changes is the APP=, version= and the SITE= reference.

Only sometime, if the appimage is in zip or tar archives I must add the command in the 2 lines where you read this

# Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded.

for tar archives, as suggested

tar fx ./*tar*

and for zips instead

zip -qq ./*zip
Sush-ruta commented 2 months ago

Despite your immense help, me not being a coder of any sort, I could not create a script for these apps. Maybe you can give it a go?

Samueru-sama commented 2 months ago

Despite your immense help, me not being a coder of any sort, I could not create a script for these apps. Maybe you can give it a go?

Yeah those apps not hosted on github are a nightmare to work with, Ivan is the pro on this.

ivan-hc commented 2 months ago

Sorry for the late answer, I had to update the catalog with the previous PR by @Sush-ruta

ivan-hc commented 2 months ago

Despite your immense help, me not being a coder of any sort, I could not create a script for these apps. Maybe you can give it a go?

Yeah those apps not hosted on github are a nightmare to work with, Ivan is the pro on this.

@Samueru-sama let's not exaggerate :laughing:

ivan-hc commented 2 months ago

for all three is not difficult to get the download URL

APP=qrab
version=$(curl -Ls https://sourceforge.net/p/qrab/activity/feed | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep -i "appimage" | grep -v '%' | head -1)

APP=lore-forge
version=$(echo "https://storage.googleapis.com/lore-forge-downloads/$(curl -Ls https://storage.googleapis.com/lore-forge-downloads | tr '><' '\n' | grep -i "^lore.*appimage$" | head -1)")

APP=era
version=$(echo "https://era.sh/download/linux")

but the only issue is "era", we have no references to check a version.

Era is a note taking app with not many references by googling it.

And nope, @Samueru-sama , it can't be updated with appimageupdatetool

ivan-hc commented 2 months ago

found

wget -q -O - https://era.sh/versionhistory | tr '><' '\n' | grep "^[0-9]*\." | head -1
ivan-hc commented 2 months ago

https://github.com/ivan-hc/AM/commit/74caabc218e5912e1af60d203cbe8f571d4257b4

Sush-ruta commented 2 months ago

Yeah those apps not hosted on github are a nightmare to work with, Ivan is the pro on this.

Seems like @Samueru-sama was not exaggerating at all, @ivan-hc . :saluting_face:

Sush-ruta commented 2 months ago

Both of these are from GH but their release/binary are located either inside the repo or in other non-standard location. Which is a problem.

Other apps:

Sush-ruta commented 2 months ago

Also, am installs Bitwarden version 2022.5.1. The latest version from their download page is 2024.8.2

ivan-hc commented 2 months ago

solved the issue with bitwarden

PS: thanks to you we now have more than 2000 unique appimages!

run am -l --appimages

Sush-ruta commented 2 months ago

I just downloaded and installed bitwarden using am. Worked flawlessly, thanks @ivan-hc . Two thousand! Wow. Congrats to you and @Samueru-sama . P.S.: Time to introduce tags maybe? Some way to sort the apps would be great.

ivan-hc commented 2 months ago

P.S.: Time to introduce tags maybe? Some way to sort the apps would be great.

Tags may be useful on a GUI frontend, so I added them only on the website.

For what concerns the command line instead, we already have the option -q or query, and it is based on the list of the applications (option -l or list) and on that note, I abolished the length limit for descriptions a few months ago (it used to be 80 characters per line), so that you can use more keywords when searching.

Sush-ruta commented 2 months ago

Yes of course. I meant something like this: screenshot

As every time I open the website, the entire list of apps is loaded, which often hangs the tab (on Chromium). Just a thought @ivan-hc , you already have so much on your plate with the TWO THOUSAND (!!) apps. So thanks and all the best.

Sush-ruta commented 2 months ago

Also, I was creating scripts for some CLI apps right now for am (will PR later), and separately tagging (or categorising) the CLI and GUI (appimages or otherwise) apps on the website would be a good option IMO @ivan-hc

ivan-hc commented 2 months ago

Yes of course. I meant something like this: [ ... ] As every time I open the website, the entire list of apps is loaded, which often hangs the tab (on Chromium). Just a thought @ivan-hc , you already have so much on your plate with the TWO THOUSAND (!!) apps. So thanks and all the best.

thanks for the suggestion

Istantanea_2024-09-13_00-28-48 png

ivan-hc commented 2 months ago

Also, I was creating scripts for some CLI apps right now for am (will PR later), and separately tagging (or categorising) the CLI and GUI (appimages or otherwise) apps on the website would be a good option IMO @ivan-hc

tags must come from a list, the script I use to update the site, am2pla-site, also creates and then removes these lists to compile the pages (eccept the one of the appimages, that I upload here when "am2pla-site" have finished), but I can prevent to remove these lists to easily add categories... so it is not a difficul task.

Anyway, you asked to divide the CLI apps from the GUI ones, and this is not that easy, all scripts for appimages are similar, and almost all of them have the function to extract icon and .desktop file from it, also if it does not exist.

On the contrary, other portable formats can be easily detected, its enough to check if the installation script contains references to a .desktop file.

However, this is a check that must be done at script level.

The only solution would be to add keywords on the dedicated lines of the list, so I can create a dedicated category.

Categories on the website are not always precise. They all depend on what you write in the dedicated line of the list.

For example, in am2pla-site, to detect programs for the category "web-browser", this is the function I use

    elif [ "$category" = web-browser ]; then
        grep -i "$category\|web browser\|browser web\|browser.*web\|google chrome\|chromium\|firefox\|vivaldi\|thorium\|mercury\|librewolf" ./"$arch"-apps | grep -vi "ffwa"  >> "$arch-$category"
    fi

note the final grep -vi "ffwa" command, is added not to include lines containing "ffwa", that are lines containing also "firefox" among the keywords.

Oh, well... the whole list shoul be rewrote again. See x86_64-apps

ivan-hc commented 2 months ago

Hey, I just added a new category https://portable-linux-apps.github.io/command-line.html it lacks of icons btw

elif [ "$category" = command-line ]; then
        grep -i "$category\|command line\| cli \|terminal\| bash \| shell \| dash \| zsh " ./"$arch"-apps >> "$arch-$category"
Sush-ruta commented 2 months ago

thanks for the suggestion I feel stupid for never checking out the home page. Thanks for pointing that out, lol.

And being a non-coder, I understood only parts of what you said, but it seems like you did make a CLI category, so thanks. :) Many devs on GH should take notes from you on how to listen to user suggestions, even the stupid ones like I made @ivan-hc .

ivan-hc commented 2 months ago

many developers criticize me, because I don't use "git" but "web UI"

Sush-ruta commented 2 months ago

many developers criticize me

It is your project, you have no reason to explain your decisions. And what you have created is one of the most complete and exhaustive package managers for Linux since AUR. :clap:

Also, any updates on this? Just asking since you are usually super fast in dealing with app requests. :) No worries if the apps are out of scope.

ivan-hc commented 2 months ago

Both of these are from GH but their release/binary are located either inside the repo or in other non-standard location. Which is a problem.

Penpot Desktop . Download link - Auto updates

go-pd-gui . Download link

Other apps:

BloomeeTunes. This zip file has two folders: data and lib and a binary file bloomee.

Smart Media Cutter. Download link - The binary is in the archive.

Everdo. Download link

Kaspersky Virus Removal Tool. This just downloads a binary called kvrt.run that can be used like normal kaspersky antivirus. But there seems to be no version number

Riichi City. Download Link. The archive has the launcher.

I have not seen this comment, sorry. It would be better to open a new issue from now on, just in case.

In this moment I'm adding some missing icons on the catalogue.

Sush-ruta commented 2 months ago

Yes, I really should open a new issue. This has become way too cluttered. You can have a dedicated issue for app requests I suppose, since most of the "issues" in this repo are app requests only. @ivan-hc

ivan-hc commented 2 months ago

just curious, is kvrt.run an installer? If so, I can't add it.

Sush-ruta commented 2 months ago

I downloaded kvrt.run and ran it. This is the output:

❯ ./kvrt.run
Graphical mode is <x11>
Running with root privileges
Generated directory is </tmp/bc52596cdc033cd41117328>
Verifying archive integrity...  100%   SHA256 checksums are OK. All good.
Uncompressing Kaspersky Virus Removal Tool 24.0.5.0 for Linux  100%  
=================================
Running kvrt with args <>
=================================
compver: 24.0.5.0 x86-64 (Jul  9 2024 17:36:48)
Product folder </var/opt/KVRT2024_Data>
=================================
kvrt exited with code <0> ## I CLOSED THE APP AT THIS POINT
=================================

This happens every time I run it after as well. So I don't think it's an installer per se. Nothing is installed. The data folder is just to store the files that might be infected.

ivan-hc commented 2 months ago

ok, so it is a CLI tool, thanks

about the game Riichi city, I noticed that the 4% of the download is 200 MB, I can't imagine how much is big this program.

Can you tell me exactly what is the content of the archive? This way I don't need to install it to test the script. This is the one I wrote (I had to add .txt to upload it here)

riichi-city.txt

ivan-hc commented 2 months ago

by reading the PKGBUILD https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=riichi-city-bin I can see where the .desktop file and the icn are... but for the installer I used a custom launcher to speedup the process.

My only doubt is the binary name.

Sush-ruta commented 2 months ago

The Kaspersky tool is GUI. I simply sent you the CLI output to show that nothing is being installed. Screenshot at 21-38-18

Also, Riichi City is 4.1 GB. I am downloading the archive again (I deleted earlier when I installed the steam edition). I will send the contents when download is complete. @ivan-hc

Sush-ruta commented 2 months ago

Screenshot at 21-51-25

@ivan-hc

ivan-hc commented 2 months ago

so "Mahjong-JP.x86_64" is the name of the main exacutable, in the root of the extracted directory... thank you

ivan-hc commented 2 months ago

@Sush-ruta done https://github.com/ivan-hc/AM/commit/afab7abeb7d70b6aaa83ca85f48ad2407c9a0aa4

the Kaspersky client is named "kvrt"