Skip to content

Commit d565e3c

Browse files
authored
Remove ffwa (Firefox WebApp) support (#2398)
* Delete programs/x86_64/ffwa-gmail * Delete programs/x86_64/ffwa-github * Delete programs/x86_64/ffwa-reddit * Delete programs/x86_64/ffwa-netflix * Delete programs/x86_64/ffwa-twitter * Delete programs/x86_64/ffwa-youtube * Delete programs/x86_64/ffwa-facebook * Delete programs/x86_64/ffwa-whatsapp * Delete programs/x86_64/ffwa-wikipedia * Delete templates/AM-SAMPLE-Firefox-webapp * Remove ffwa (Firefox WebApp) support * Update lister.sh * Update sources-selector.sh * Update am2pla-site * Update README.md * Update template.md * Update template.md * Update template.md * Update template.md
1 parent 9bb303c commit d565e3c

19 files changed

Lines changed: 19 additions & 780 deletions

APP-MANAGER

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,8 +1153,6 @@ _check_version() {
11531153
_check_version_if_version_file_exists
11541154
elif [ "$arg" = "$AMCLI" ]; then
11551155
APPVERSION="$AMVERSION"
1156-
elif echo "$arg" | grep -q "ffwa-"; then
1157-
APPVERSION="WebApp"
11581156
elif grep -q "usr/local/lib" "$argpath"/remove 2>/dev/null; then
11591157
_check_version_if_library
11601158
elif [ -f "$argpath"/updater ] || grep -qi "version=" "$argpath"/*; then

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,7 @@ To change locations, remove local apps, and reinstall in the new location, see t
325325

326326
1. **PORTABLE PROGRAMS** from official sources (see Firefox, Thunderbird, NodeJS, Platform Tools...), extracted from official .deb/tar/zip packages.
327327
2. **APPIMAGES**, from both official and unofficial sources (I also create unofficial AppImages), or compiled on-the-fly with [pkg2appimage](https://github.com/AppImage/pkg2appimage) and [appimagetool](https://github.com/AppImage/AppImageKit), like an AUR helper, from official archives.
328-
3. **FIREFOX PROFILES** to run as webapps, the ones with suffix "ffwa-" in the apps list.
329-
4. **THIRD-PARTY LIBRARIES** if they are missing in your repositories.
328+
3. **THIRD-PARTY LIBRARIES** if they are missing in your repositories.
330329

331330
The database aims to be a reference point where you can download all the AppImage packages scattered around the web, otherwise unobtainable, as you would expect from any package manager, through specific installation scripts for each application, as happens with the AUR PKGBUILDs, on Arch Linux. You can see all of them [here](https://github.com/ivan-hc/AM/tree/main/programs), divided by architecture.
332331

@@ -1052,7 +1051,6 @@ Below you can access the documentation pages related to the use of "AM", complet
10521051
- [Option Zero: "AppImages"](docs/guides-and-tutorials/template.md#option-zero-appimages)
10531052
- [Option One: "build AppImages on-the-fly"](docs/guides-and-tutorials/template.md#option-one-build-appimages-on-the-fly)
10541053
- [Option Two: "Archives and other programs"](docs/guides-and-tutorials/template.md#option-two-archives-and-other-programs)
1055-
- [Option Three: "Firefox profiles"](docs/guides-and-tutorials/template.md#option-three-firefox-profiles)
10561054
- [How an installation script works](docs/guides-and-tutorials/template.md#how-an-installation-script-works)
10571055
- [How to test an installation script](docs/guides-and-tutorials/template.md#how-to-test-an-installation-script)
10581056
- [How to submit a Pull Request](docs/guides-and-tutorials/template.md#how-to-submit-a-pull-request)

docs/guides-and-tutorials/template.md

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ This is a step-by-step guide on how to create, understand and test installation
1010
- [Option Zero: "**AppImages**"](#option-zero-appimages)
1111
- [If the AppImage is hosted on github or codeberg](#if-the-appimage-is-hosted-on-github-or-codeberg)
1212
- [If the AppImage is hosted sourceforge](#if-the-appimage-is-hosted-sourceforge)
13-
- [If the AppImage is hosted on other sistes](#if-the-appimage-is-hosted-on-other-sistes)
13+
- [If the AppImage is hosted on other sites](#if-the-appimage-is-hosted-on-other-sites)
1414
- [Option One: "**build AppImages on-the-fly**"](#option-one-build-appimages-on-the-fly)
1515
- [Option Two: "**Archives and other programs**"](#option-two-archives-and-other-programs)
16-
- [Option Three: "**Firefox profiles**"](#option-three-firefox-profiles)
1716

1817
[How an installation script works](#how-an-installation-script-works)
1918

@@ -35,16 +34,17 @@ appman -t $PROGRAM
3534
```
3635
and this is the screen that will appear:
3736

38-
![Istantanea_2024-06-17_21-35-26 png](https://github.com/ivan-hc/AM/assets/88724353/6e11aeff-9a70-44f7-bd73-1324b545704e)
37+
![Istantanea_2024-06-17_21-35-26 png](https://github.com/user-attachments/assets/81fe12aa-d90c-4707-bb48-bcd0a661c287)
3938

4039
Each option corresponds to a different type of application or helper to target with an installation script:
4140

4241
0. For **AppImages**, [press "0" (zero)](#option-zero-appimages)
4342
1. To **create an AppImage on the fly** using [appimagetool](https://github.com/AppImage/AppImageKit) and [pkg2appimage](https://github.com/AppImage/pkg2appimage), [press "1" (one)](#option-one-build-appimages-on-the-fly)
4443
2. For a **portable program** (archive, binary, script...), [press "2" (two)](#option-two-archives-and-other-programs)
45-
3. For a **custom Firefox profile**, [press "3" (three)](#option-three-firefox-profiles)
4644

47-
**The next four paragraphs will explain in detail how to use the options [0](#option-zero-appimages), [1](#option-one-build-appimages-on-the-fly), [2](#option-two-archives-and-other-programs) and [3](#option-three-firefox-profiles).**
45+
*NOTE: In the past, the `-t` option included many more template choices, **including creating profiles for Firefox, with the "ffwa" suffix**. These have been deprecated over time, partly due to lack of interest, incompatibility with other shell functions (oriented towards actual apps), Firefox forks or its variants, and changes to Firefox itself. You'll likely see references to them in upcoming videos, but **as of May 2026, only the three options listed above are available.***
46+
47+
**The next paragraphs will explain in detail how to use the options [0](#option-zero-appimages), [1](#option-one-build-appimages-on-the-fly) and [2](#option-two-archives-and-other-programs).**
4848

4949
------------------------------------------------------------------------
5050

@@ -99,7 +99,7 @@ https://github.com/user-attachments/assets/c1c08c93-3a57-45b9-9515-551555eca3c4
9999

100100
NOTE, if the URL does not always appear. In that case, you need to resort to more "drastic" methods. See below.
101101

102-
### If the AppImage is hosted on other sistes
102+
### If the AppImage is hosted on other sites
103103
For AppImages published elsewhere, you will need more advanced knowledge of how to find the latest download URL using `curl` and `wget` (preferably the former), as well as knowledge of how to use `sed`, `grep`, and `tr`. Again, you may choose to use repology.org to determine the version if it is not present in the download URL.
104104

105105
When downloading an installation script using the command `am -d $program` you will notice in most cases a variable "`$version`", which represents the URL for downloading the application.
@@ -259,29 +259,6 @@ If in doubt, download the pre-existing installation scripts and analyze their co
259259
| [Back to "Templates index"](#templates-index) |
260260
| - |
261261

262-
------------------------------------------------------------------------
263-
## Option Three: "Firefox profiles"
264-
Option 3 creates a launcher that opens Firefox in a custom profile and on a specific page, such as in a WebApp. I created this option to counterbalance the amount of Electron/Chrome-based applications (and because I'm a firm Firefox's supporter).
265-
266-
It is enough to give an AppName, a URL to the icon (a correct one, not like the one suggested in the video, down below) and a category.
267-
268-
Here is an example for "ProtonMail"
269-
270-
https://github.com/user-attachments/assets/120012de-777f-4cd0-8324-f761d8d4947a
271-
272-
In practice, all we need to do is create a custom Firefox profile that can be launched from a .desktop file, which is all we are really creating in this process.
273-
274-
**These "objects" are not even classified as applications**, and **therefore are not included in the application count when you run `am -l`**.
275-
276-
As suggested in the video, it is preferable to have these custom profiles for yourself.
277-
278-
Their advantage is to keep the data of the reference site well separated from the system profile used in Firefox.
279-
280-
------------------------------------------------------------------------
281-
282-
| [Back to "Templates index"](#templates-index) |
283-
| - |
284-
285262
------------------------------------------------------------------------
286263
## How an installation script works
287264
The structure of an installation script is designed for a system-wide installation (as root), since it is intended to be hosted in this database. But every path indicated within it is written so that "`appman -i`" or "`am -i --user`" can patch the essential parts, to hijack the installation at a local level and without root privileges.

modules/database.am

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,7 @@ _files_if_binary() {
246246
}
247247

248248
_files_if_script() {
249-
if grep "/ffwa" "${LINK:-$FILE}" >/dev/null 2>&1; then
250-
echo "$arg | launcher" >> "$AMCACHEDIR"/files-type
251-
elif grep '#!.*bash' "${LINK:-$FILE}" >/dev/null 2>&1; then
249+
if grep '#!.*bash' "${LINK:-$FILE}" >/dev/null 2>&1; then
252250
echo $"$arg | bash-script" >> "$AMCACHEDIR"/files-type
253251
elif grep '#!.*dash' "${LINK:-$FILE}" >/dev/null 2>&1; then
254252
echo $"$arg | dash-script" >> "$AMCACHEDIR"/files-type
@@ -744,7 +742,7 @@ _list() {
744742
fi
745743
APPSNUMBER=$((ITEMSNUMBER - LIBNUMBER))
746744
# Determine the number of available apps from the list
747-
AVAILABLE_APPS_NUMBER=$(grep -v "ffwa-\|\"kdegames\"\|\"kdeutils\"\|\"node\"\|\"platform-tools\"" "$AMDATADIR/$ARCH-apps" | grep -e "^◆.*$" -c)
745+
AVAILABLE_APPS_NUMBER=$(grep -v "\"kdegames\"\|\"kdeutils\"\|\"node\"\|\"platform-tools\"" "$AMDATADIR/$ARCH-apps" | grep -e "^◆.*$" -c)
748746
if ! test -f "$AMDATADIR/$ARCH-appimages"; then
749747
_online_check
750748
_sync_appimages_list

modules/install.am

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,6 @@ _check_if_optional_dependences_are_needed() {
7878
_check_argument
7979
return 1
8080
fi
81-
# Determine if this script installs a Firefox webapp
82-
if grep -q 'ffwa-' ./"$arg"; then
83-
ffbrowser=$(find ${PATH//:/ } -maxdepth 1 -name "firefox*" | sort | head -1)
84-
if [ -z "$ffbrowser" ]; then
85-
echo $" 💀 ERROR: you cannot install \"$arg\" without installing \"firefox\""
86-
return 1
87-
else
88-
sed -i 's#firefox --class#'"$(echo "$ffbrowser" | xargs -L 1 basename)"' --class#g' ./"$arg"
89-
fi
90-
fi
9181
}
9282

9383
_check_if_script_installs_a_metapackage() {

modules/template.am

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ _template_create_dirs_and_ask_for_source() {
5757
_use_online_downloader "$AMREPO"/templates/AM-SAMPLE-portable2appimage ./am-scripts/"$MAIN_ARCH"/"$arg"
5858
elif [ "$templatetype" = 2 ]; then
5959
_use_online_downloader "$AMREPO"/templates/AM-SAMPLE-Archive ./am-scripts/"$MAIN_ARCH"/"$arg"
60-
elif [ "$templatetype" = 3 ]; then
61-
_use_online_downloader "$AMREPO"/templates/AM-SAMPLE-Firefox-webapp ./am-scripts/"$MAIN_ARCH"/"$arg"
6260
fi
6361
sed -i "s/SAMPLE/$arg/g" ./am-scripts/"$MAIN_ARCH"/"$arg"
6462
echo "$DIVIDING_LINE"
@@ -433,7 +431,6 @@ for arg in $ARGS; do
433431
echo $" 0) APPIMAGE, FROM ANY WEBSITE (BETTER IF FROM GITHUB.COM)"
434432
echo $" 1) APPIMAGE ON-THE-FLY, USING A DEDICATED SCRIPT"
435433
echo $" 2) ANY ARCHIVE/BINARY/SCRIPT FROM ANY WEBSITE"
436-
echo $" 3) WEBAPP BASED ON A FIREFOX PROFILE (REQUIRES \"FIREFOX\" IN \$PATH)"
437434
echo ""
438435
read -r -p $" WHAT KIND OF PROGRAM DO YOU WANT TO WRITE A SCRIPT FOR? : " templatetype
439436
case "$templatetype" in
@@ -529,43 +526,6 @@ for arg in $ARGS; do
529526
echo -e $"\n All files are saved in $SCRIPTDIR/am-scripts\n"
530527
;;
531528

532-
'3') # CREATE A CUSTOM FIREFOX PROFILE ("firefox" MUST BE IN "$PATH" TO MADE IT WORK)
533-
534-
_template_create_dirs_and_ask_for_source
535-
536-
# USE THE SUFFIX FROM NOW ON
537-
mv ./am-scripts/"$MAIN_ARCH"/"$arg" ./am-scripts/"$MAIN_ARCH"/"ffwa-$arg"
538-
arg="ffwa-$arg"
539-
echo "$DIVIDING_LINE"
540-
read -r -ep $" ◆ NAME OF THE APP: " RESPONSE
541-
case "$RESPONSE" in
542-
*)
543-
sed -i "s#GIVEMEANAME#$RESPONSE#g" ./am-scripts/"$MAIN_ARCH"/"$arg"
544-
# CREATE A NEW LINE FOR THE APPLICATION'S LIST
545-
echo "$arg : WebApp & Firefox Profile for $RESPONSE." >> ./am-scripts/list
546-
esac
547-
# PUT THE APP INTO A CATEGORY, THIS IS NEEDED FOR OUR CUSTOM DESKTOP FILE
548-
_template_desktop_file_select_category
549-
# ENTER THE URL OF THE SITE YOU WANT TO CREATE A CUSTOM FIREFOX PROFILE FOR
550-
read -r -ep $" ◆ URL OF THE WEBAPP: " RESPONSE
551-
case "$RESPONSE" in
552-
*)
553-
sed -i "s#MYWEBSITE#$RESPONSE#g" ./am-scripts/"$MAIN_ARCH"/"$arg"
554-
;;
555-
esac
556-
echo "$DIVIDING_LINE"
557-
# ENTER THE URL OF THE ICON THAT WILL APPEAR IN THE MENU
558-
read -r -ep $" ◆ COPY/PASTE THE URL OF THE ICON HERE $(echo -e '\n URL: ')" RESPONSE
559-
case "$RESPONSE" in
560-
*)
561-
sed -i "s#YOURICONURL#$RESPONSE#g" ./am-scripts/"$MAIN_ARCH"/"$arg"
562-
;;
563-
esac
564-
echo "$DIVIDING_LINE"
565-
# END OF THIS FUNCTION
566-
echo -e $"\n All files are saved in $SCRIPTDIR/am-scripts\n"
567-
;;
568-
569529
# NOTHING SELECTED
570530
*)
571531
echo -e $"\n No valid argument was chosen: process aborted! \n" | tr '[:lower:]' '[:upper:]'; break

programs/lister.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ for arch in $DIRS; do
1212
grep "$arg :" "$arch-apps" | head -1 >> "$arch-appimages"
1313
fi
1414
else
15-
if ! grep "$arg :" "$arch-apps" | grep -ie "\"node\"\|\"platform-tools\"\|^◆ ffwa-" 1>/dev/null; then
15+
if ! grep "$arg :" "$arch-apps" | grep -ie "\"node\"\|\"platform-tools\"" 1>/dev/null; then
1616
grep "$arg :" "$arch-apps" | head -1 >> "$arch-portable"
1717
fi
1818
fi

programs/x86_64/ffwa-facebook

Lines changed: 0 additions & 68 deletions
This file was deleted.

programs/x86_64/ffwa-github

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)