Out of curiosity, why can't A/V files be uploaded to Friendica? Seeing how images are handled, it seems like it should be able to do it.
Search
Items tagged with: Friendica
Nach mehreren Tagen Messung möchte ich unsere Untersuchung zum ungewöhnlich
anwachsenden PHP-FPM-Pool abschließen.
Der wichtigste Befund ist inzwischen recht eindeutig:
Von 196.466 ausgewerteten Slowlog-Ereignissen enthielten 195.069 einencurl_exec()-Aufruf, also rund 99,3 Prozent.
Zusätzlich konnten wir einen betroffenen PHP-FPM-Prozess während eines realen
Ereignisses mit ss und strace beobachten. Dabei wartete der Prozess über viele Sekunden wiederholt in poll() auf Daten eines externen HTTPS-Sockets. Über ss ließsich derselbe File-Descriptor derselben PID eindeutig einer externen Verbindung zuordnen. Gleichzeitig bestanden mehrere weitere PHP-FPM-Verbindungen zu denselben wenigen Gegenstellen.
MariaDB und Redis antworteten im selben Zeitraum dagegen sehr schnell. Der Engpass
lag also nicht primär im lokalen System, sondern im Warten auf externe HTTP-
Kommunikation.
Nach der schrittweisen Anpassung der Wartezeiten und der FPM-Reserve hat sich das
Verhalten deutlich beruhigt. Auch der Load Average ist wieder auf ein normales Niveau
zurückgegangen. Die Zahl der Slowlog-Ereignisse fiel ab dem 4. September massiv ab.
Der Slowlog ist deshalb inzwischen wieder deaktiviert.
Mein persönliches Fazit aus der Untersuchung geht inzwischen über die konkrete
Friendica-Instanz hinaus:
Eine föderierte Instanz muss nicht nur selbst stabil laufen. Sie muss auch so mit
langsamen, fehlerhaften oder zeitweise unerreichbaren Gegenstellen umgehen können,
dass deren Zustand die eigene Funktionsfähigkeit möglichst wenig beeinflusst.
Ich habe die Ergebnisse deshalb noch einmal ausführlicher in einem Fachartikel
zusammengefasst:
Föderation braucht Fehlertoleranz an den Instanzgrenzen
Dabei verzichte ich bewusst auf konkrete Grenzwerte oder eine allgemeine „Best-Practice-
Konfiguration“. Die Werte hängen zu stark von Instanzgröße, Nutzung, Federation-
Volumen und Systemumgebung ab. Entscheidend ist aus meiner Sicht nicht das Kopieren
einzelner Parameter, sondern das Verständnis der Zusammenhänge und die Messung auf
der eigenen Instanz.
Bookface 2.2.1-rc for Friendica 2026.08-rc
There have been something like 150 more commits to the Release Candidate since my last Bookface update so this should be current as of today. Get it here:
gitlab.com/randompenguin/bookf…
ONLY FOR FRIENDICA 2026.08-rc! It will NOT work with any earlier version of Friendica!
Keep in mind that the Release Candidate is still receiving frequent updates and possible breaking changes.
- Text completion position and z-index fixed.
- Notification badge no longer crops long numbers.
- old Font/Fork Awesome styling removed.
- unnecessary css label variables removed.
- Button alignment fixed below 900px wide (still slight overlap of Home with Search from 769px to 796px but both buttons can still be used).
- Directory Search widget action button alignment fixed.
- Delete Checkbox label alignment fixed.
- Dark Mode background color on thumbnail links fixed.
- Added experiemental "Compact View" option
NEW: Bookface Auto Color Compact (Experimental)
One of the most common complaints I hear from people trying Friendica is that the feed is really, really long (especially on a phone screen) because of all the comments being shown. Pretty much no other platforms show the comments in the feed itself. Even Facebook now shows the comments in a separate context. So this makes Friendica Bookface work a lot more like Bluesky and Mastodon.
There is a new "Compact Conversation View" option in the settings, but that still shows some comments (your own and the post author's). I had submitted my method to the Release Candidate but, because it conflicts with that already added option, it needs to be reworked to an either/or option. But it's also possible to accomplish my version with nothing but stylesheets, so I'm including a new "Auto Color Mode" stylesheet with this "no comments in feeds" compact view option:
- ALL comments in ALL feeds are hidden
- New Downloaded/Visible Comment Counter in upper right corner of post
- The body text of the post becomes a link to the single post display page.
- To comment on a post you must go to the single post display page.
- Images, Link Previews, Videos, Audio, and Quote Shares remain clickable in feeds.
Known Issues with Compact View:
- Comment Action button is still navigable by keyboard and can be pressed.
- Add-ons that add content to posts can cause the clickable area to shift.
- Single-post display is always in a new tab.
- Some post attachments can only be opened from single-post view
- Posts are still created for feeds, just hidden, so it's not any more efficient.
- Incompatible with and Overrides "Compact Conversation View" option.
Let me know what you think of this option. If people like it I'll resubmit my PR to make it available to all themes in a future Friendica release.
@Friendica Admins @Friendica Developers #Friendica #theme #Bookface
Bookface 2.2.1-rc · Random Penguin / bookface · GitLab
ONLY FOR FRIENDICA 2026.08-rc! It will NOT work with any earlier version of Friendica! Keep in mind that the Release Candidate is still receiving...GitLab
Why does it fail to retrieve several ActivityPub posts?
Users of small instances are familiar with the problem that posts don't initially appear on their own instance because the original account doesn't have anyone on the own instance who follows it.
What I usually do in this situation is copy the original URL of the post, paste it into the search bar on Friendica, and then — ideally — the post appears on my own instance so I can reply to it. Sometimes, though, this doesn’t work — and I’m wondering why. Specifically, I’d like to know why the post doesn’t load in the following example:
Have a look at the post at lemmy.ca/post/14531061 - it is obviously a post from the Lemmy-instance lemmy.ca. To discuss the post on the Friendica instance I'm on, I right-click on the Fediverse-symbol below the date of the post, copy the link and paste it in the #Friendica search bar. In this case, unlike others, my instance tells me that there is no result.
Why is this happening in this case while in case of e. g. lemmy.today/post/58928742 Friendica succesfully retrieves the post?
Can somebody investigate why this message is received broken by #Mastodon or point me into right direction to report this bug?
I'm not sure it's actually problem on #Friendica@Friendica Support
Hello !Friendica Support
Does anyone know what exactly happens when changing an existing Friendica instance from "Single user instance" to "Multi user instance"?
Is this basically just enabling registration/additional local accounts, or are there any other behavioural changes or side effects I should be aware of?
The instance has been running as a single-user instance for quite some time, so I'm particularly interested in whether switching an existing installation is completely safe and reversible.
Bookface 2.2.0-rc for Friendica 2026.08-rc
Yes, another release. Things are still changing in the Release Candidate and I'm still finding things that got missed in the stylesheets so here is version 2.2.0-rc already.
Get it here:
gitlab.com/randompenguin/bookf…
Make sure to install all 4 scheme stylesheets, the 4 corresponding PHP files, and the bookface_assets folder. You do not need to install the /src folder and shouldn't on a production server.
- Fixed Moderation table hover colors
- Fixed Moderation table button link colors.
- Fixed Moderation blocked entry font color in dark mode.
- Updated screenshots to reflect contrast color change.
- Fixed missing --contrast-color in about 20 places.
And if you didn't grab the previous point release:
- Added contrast-color code for buttons that have accent color background with multiple fallbacks
- Added better handling of accent color for dark mode to make sure colors are not too dark.
- Fixed display errors on login screen when bookface is set to site default.
@Friendica Admins #Friendica #themes #BookFace
Bookface 2.2.0-rc · Random Penguin / bookface · GitLab
ONLY FOR FRIENDICA 2026.08-rc! It will NOT work with any earlier version of Friendica! Keep in mind that the Release Candidate is still receiving...GitLab
Hi, hashtags which I previously ignored/blocked are back on my timeline. I can't find how to ignore/block them now. Any advice? Thanks. #Friendica
Friendica | Frage: Warum kann ich diesen Diaspora Kommentar nicht teilen?
Hallo Zusammen, eben wollte ich diesen Diaspora Kommentar teilen, es geht aber nicht. Soweit ich es sehe ist der Beitrag und auch die Kommentare Öffentlich, der Mauszeiger verändert sich aber wenn ich über das Share Symbol gehe nicht entsprechend.
Wo könnte das Problem liegen? Danke für Eure Hilfe im Voraus! 
#Friendica #Diaspora #Kommentar #Weitersagen #Share !Friendica Support
Bookface for Friendica 2028.06-rc
ONLY FOR FRIENDICA 2026.08-rc! It will NOT work with any earlier version of Friendica!
Keep in mind that the Release Candidate is still receiving frequent updates and possible breaking changes.
There are now MORE files to copy into the /view/themes/frio/schemes folder!
- bookface_auto.css
- bookface_auto.php
- bookface_dark.css
- bookface_dark.php
- bookface_light.css
- bookface_light.php
- bookface_legacy.css (new!)
- bookface_legacy.php (new!)
- bookface_assets folder (new!)
You should not copy the /src folder unless you're planning to make changes or contribute.
Make sure you set the permissions correctly on the files, the assets subfolder, and its contents.
This Bookface version represents a massive rewrite of Bookface due to the major refactoring of Friendica. Some of the most noticeable changes are:
- Most of the Nav and Action button label variables are now removed because auto-translated labels have been added as an option in Friendica.
- The
--link-colorvariable now only applies to text color while backgrounds and borders use--accent-color - The user's color choice now creates a full "color theme" using tints, shades, and tones of the accent color.
- The File Browser button is no longer hidden by default. While there is still no way to actually manage the files the browser layout has been improved.
- Bookface now makes extensive use of the new
light-dark()CSS function. It is widely supported by new browsers. However some users on older devices that can't update the browser may experience unexpected results. So there is also a "Bookface Auto Legacy" style included that uses the older, more widely supportedprefers-light-colorandprefers-dark-color method. - In Settings > Display > Theme and Admin > Themes > Frio it now shows a screenshot of Bookface instead of Frio
- The stylesheets are now modularized to make it easier to update and maintain this project.
OTHER NOTES:
- The README file references the "Bookface Custom" add-on. That add-on has not yet been updated to work with 2.1.7.
- The README file points user to the "Bookface Wiki." That has not yet been updated to reflect the changes in version 2.1.7. The wiki will be updated when there is a stable release.
@Friendica Admins @Friendica Developers #Friendica #theme #dev
gitlab.com/randompenguin/bookf…
Bookface 2.1.7-rc · Random Penguin / bookface · GitLab
ONLY FOR FRIENDICA 2026.08-rc! It will NOT work with any earlier version of Friendica! Keep in mind that the Release Candidate is still receiving...GitLab
!Friendica Admins
📢 Einladung zum 6. Friendica-Admin-Treffen
📅 Montag, 24.08.2026
🕢 19:30 Uhr (MESZ)
Hallo zusammen,
am kommenden Montag ist es wieder soweit: Wir laden herzlich zum 6. Friendica-Admin-Treffen ein.
Eingeladen sind alle Friendica-Admins, Instanzbetreiber, Entwickler:innen sowie alle, die sich für den Betrieb und die Weiterentwicklung von Friendica interessieren.
🔹 Ein mögliches Thema für den Abend:
Mit Friendica 2026.08-rc ist der Release Candidate der kommenden Version veröffentlicht worden. Eine gute Gelegenheit, gemeinsam einen Blick darauf zu werfen:
Was gibt es Neues? Gibt es bereits erste Erfahrungen mit dem RC? Welche Änderungen sind besonders für Administratoren interessant? Und vielleicht können wir auch einen vorsichtigen Blick darauf werfen, wie der weitere Weg bis zur nächsten stabilen Friendica-Version aussieht.
Dabei geht es natürlich nicht darum, einen Veröffentlichungstermin einzufordern – schließlich gilt auch bei Friendica: Es ist fertig, wenn es fertig ist. 😉
💬 Weitere Themen und Fragen sind ausdrücklich willkommen!
Bringt gerne eure Erfahrungen, Ideen, Fragen oder aktuelle Herausforderungen aus dem Alltag als Friendica-Admin mit. Oft entstehen gerade aus dem offenen Austausch die interessantesten Gespräche.
Wir freuen uns auf einen informativen und gemütlichen Abend mit euch und auf einen regen Austausch rund um Friendica. 🌐
Gerne weitersagen und auch andere Friendica-Admins und Entwickler:innen auf das Treffen aufmerksam machen.
#Friendica #Fediverse #FriendicaAdmin #AdminTreffen #OpenSource
Frage | Friendica: Wie gut funktioniert das mit der Federation?
Guten Morgen Zusammen
Ich habe mal eine Frage betreffs Federation. Und zwar habe ich gesehen das ich in Sachen Beiträge vor allen via Lemmy Feedback bekomme, aber in den allermeisten Fällen kaum aus dem Rest des Fediverse. Dabei ist mir klar das ich wenn ich in eine Lemmy Community poste, ich recht viele Leute erreiche. Aber das erklärt eben nicht warum aus dem Rest des Fediverse wo ich sehr viel mehr Kontakte habe die mir folgen so wenig zurück bekomme.
Ist Euch ähnliches aufgefallen?
#Frage #Friendica #Federation #Feedback #Fediverse #Lemmy !Friendica Support
hello. can you pls tell me what the highlighted numbers mean?
i used to assume they indicated new/unread posts in the associated #circles, but the observed behaviour does not support that interpretation. regardless of how many times i view said circles, or reload the page when at said circles, those numbers do not go away at that time. eventually they do either stop, or change value, but again bearing no correlation that i can understand to the actual circles' posts status.
if they are indeed supposed to indicate unread posts then afaict the function is broken -- can i disable it in Settings?
#AltText
my friendica circles list with various numbers shown at rhs for some of them
Bookface 2.1.5
Requirements: Friendica 2026.05, 2026.01, or 2025.07-rc.
This does NOT work with older versions of Friendica and there is no Bookface for 2026.08-dev yet.
But there haven't been any changes and additions for a few months so it felt like time to actually make a release. It's all minor compatibility fixes, no new features or major changes.
@Friendica Admins #Bookface #Friendica #theme
gitlab.com/randompenguin/bookf…
Bookface 2.1.5 · Random Penguin / bookface · GitLab
This release is for Friendica 2026.05, 2026.01, and 2025.7-rc. DO NOT USE WITH FRIENDICA 2024.12 or 2026.08-dev!GitLab
📋 Rückblick auf das Friendica-Admin-Treffen vom 27.07.2026
Am Montag fand wieder unser monatliches Friendica-Admin-Treffen statt. Erfreulicherweise waren zahlreiche Administratoren und auch mehrere Entwickler dabei – genau so wünschen wir uns den gemeinsamen Austausch. 😊
Ein Thema war der Umgang mit Meldungen (Reports) im Administrationsbereich. Wir haben besprochen, wie Administratoren und Moderatoren mit gemeldeten Inhalten umgehen können, welche Schwierigkeiten es derzeit gibt und welche Verbesserungen wünschenswert wären. Die Entwickler haben die Anregungen aufgenommen und möchten sich die Vorschläge genauer ansehen.
Außerdem ging es um die Änderungen beim Start von Daemon und Worker. Für Administratoren hat sich der Aufruf über die Kommandozeile etwas ändern. Die neue Methode kann bereits genutzt werden und sollte rechtzeitig eingerichtet werden.
Ebenfalls vorgestellt wurde die neue Technik für schnellere Seitenaktualisierungen. Statt künftig bei jeder Aktion die komplette Seite neu zu laden, werden nur noch die geänderten Bereiche aktualisiert. Dieses Prinzip nennt sich SPA (Single Page Application). Dadurch wirkt Friendica deutlich flüssiger und reaktionsschneller. Die Funktion befindet sich derzeit noch in der Entwicklerversion und könnte bereits mit einer der nächsten stabilen Friendica-Versionen verfügbar werden.
Kurz gesprochen wurde auch über das Übersetzer-Addon. Oldkid stellte den aktuellen Stand seiner Arbeiten vor und gab einen Einblick in die Funktionsweise des Addons.
Wie immer blieb genügend Zeit für Fragen, Ideen und den direkten Austausch. Genau das macht diese Treffen so wertvoll: Entwickler und Administratoren kommen miteinander ins Gespräch, diskutieren ausführlich über aktuelle Themen und entwickeln gemeinsam neue Ideen.
💬 Für den Austausch zwischen den Treffen gibt es außerdem eine XMPP-Gruppe für Friendica-Administratoren und Entwickler, die von tuxi bereitgestellt wird. Wer daran teilnehmen möchte, kann sich für eine Einladung einfach bei @Tuxi ⁂ , @OldKid ⁂ oder @Jools melden.
Vielen Dank an alle Teilnehmenden für den offenen und informativen Abend!
📅 Das nächste Friendica-Admin-Treffen findet am Montag, 24.08.2026, um 19:30 Uhr statt. Interessierte Administratoren und Entwickler sind herzlich willkommen.
#Friendica #Fediverse #OpenSource #Community #Systemadministration @Friendica Admins
Multiple Image Layouts
I'm working on fixing/changing the way #Friendica handles multiple images in a post for the next release. Yes, I'm using AI-slop images for testing purposes on my development server. My apologies to those who don't want to see that garbage.
Masonry Layout
When the backend PHP can get dimensions from the images it uses "masonry" layout. Which work well with even numbers of images but with odd counts of images it currently leaves the last one sort of dangling there by itself:
But I think most people would assume it should display like this:
Yes? No? It's a super easy fix if this is what people want.
I'm not yet sure under what circumstances the PHP cannot get image dimensions, but if that's the case then it doesn't use "masonry" layout, it switches to the "grid" template.
PHP Grid Layout (current)
The PHP tries to figure out how many images to show in each column. These are hard-coded HTML column containers.
Pure CSS Grid Layout
Of course CSS can nicely do columns itself now so there's really no reason to have PHP doing it on the backend. Obviously PHP and CSS don't agree on which images should go in which columns, but this is super easy to implement.
Literal Grid Layout
Though when someone says "grid" isn't this more what you are expecting? It doesn't get much more griddy than squares, right? This one uses a combo of PHP and CSS to display the images in a post in your feed similarly to how the thumbnails look in your photo albums.
You may have also noticed the "ALT" in the corners. That is there in the current version of Friendica, but it's just an indicator that an image has alt text, it's not a button like on Mastodon to actually show you the alt text. Well, that's how I ended up looking at these layouts, because I'm also implementing functional alt-text buttons for Friendica. Which means updating all these image layout templates.
Not sure if it will get sorted out for this upcoming release or not, but I'm also working on how to show you the "masonry" and "grid" layouts in the post/edit/comment previews too. THAT is quite a bit trickier because the previews do not use the actual image templates.
I'm interested in any feedback both devs and users want to give me on this. There is also a thread over on the Friendica GitHub if you'd rather comment there.
🔔 Erinnerung: Friendica-Admin-Treffen
Am Montag ist es wieder soweit!
📅 Montag, 27.07.2026
🕢 19:30 Uhr
Gemeinsam werfen wir einen Blick auf aktuelle Entwicklungen rund um Friendica. Geplant sind unter anderem:
🔹 Änderungen beim Start von Daemon und Worker
🔹 Die neue Technik für schnellere Seitenaktualisierungen
Wie immer gilt: Bringt gern eure Fragen, Erfahrungen und Themen mit. Der Austausch untereinander ist mindestens genauso wertvoll wie die vorbereiteten Themen.
📣 Gebt die Einladung gern auch an andere Friendica-Admins und Entwickler weiter. Je mehr teilnehmen, desto vielfältiger werden Erfahrungen, Ideen und Lösungsansätze.
Wir freuen uns auf einen informativen und gemütlichen Abend mit euch! 😊
#Friendica #Fediverse #OpenSource #Community #Systemadministration
@Friendica Support Gibt es in Friendica eine Möglichkeit, Kommentare grundsätzlich chronologisch anzeigen zu lassen. So wie es derzeit ist, gehen mir viele Kommentare verloren und ich kann einer Diskussion leider nicht mehr folgen, d.h. ich steige aus. Meines Wissens werden die Kommentare in Diaspora chronologisch angezeigt, was mir die Verfolgung eines Themas sehr erleichtert.
Noch eine Frage zu #Friendica:
Werden denn angepinnte Posts aus Friendica bei Mastodon gar nicht als "angeheftete" Beiträge oben im Profil dargestellt? Geht hier wieder mal eine der beiden Software eigene Wege, die nicht dem Standard folgen?
Ich habe schon einen voreingenommenen Verdacht, welche der beiden Plattformen das ist 
!Friendica Support
jetzt nutze ich #Friendica schon sol lange und kenne beim Ablehnen von eingehenden #Folgeanfragen immer noch nicht den Unterschied zwischen den beiden Möglichkeiten:
- "ignorieren" und
- "entfernen"
Wann ist was angebracht? Was bedeutet es jeweils?
!Friendica Support
Ok so video uploads to #friendica kind of suck, I get it, it is not exactly a video platform, but I have made it my all in one social and website, so I created a complex solution to an easy problem, as I want control over where my content is hosted/served from, I made this convoluted script and process for my video uploads, it starts with opening #filezilla and ftping into my /storage/videos folder in my instance, yes I created a folder in /storage labeled videos, after I move the .mp4 into that folder I run a script that I placed in the root of my instance which is called register-video.php and here is the script,
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// CONFIGURE THESE:
$friendica_root = '/home/someplace/public_html/your.instance.domain/';
$ftp_folder = $friendica_root . 'storage/videos/';
$uid = your user number;
// DATABASE CONFIG:
$db_host = 'localhost';
$db_user = 'your db user';
$db_pass = 'your db password';
$db_name = 'your db name';
// Connect to Friendica database
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($mysqli->connect_errno) {
die("DB ERROR: " . $mysqli->connect_error . "\n");
}
// Debug: show folder
echo "Checking folder: $ftp_folder\n";
// Find all files in FTP folder
$files = glob($ftp_folder . '*');
if (!$files) {
echo "No files found.\n";
exit;
}
$allowed = array('mp4', 'webm', 'mov');
foreach ($files as $file) {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (!in_array($ext, $allowed)) {
continue;
}
$basename = basename($file);
$filesize = filesize($file);
$filetype = mime_content_type($file);
echo "Registering: $basename\n";
// Read file contents into memory
$filedata = file_get_contents($file);
if ($filedata === false) {
echo "Failed to read file data.\n";
continue;
}
// Create Friendica hash
$hash = hash('sha256', $basename . microtime(true));
$created = date('Y-m-d H:i:s');
$edited = $created;
// Insert into Friendica attach table
$stmt = $mysqli->prepare("
INSERT INTO attach
(uid, hash, filename, filetype, filesize, data, created, edited)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
");
$null = NULL;
$stmt->bind_param(
"isssisss",
$uid,
$hash,
$basename,
$filetype,
$filesize,
$filedata,
$created,
$edited
);
$stmt->send_long_data(5, $filedata);
$stmt->execute();
$attach_id = $stmt->insert_id;
echo "Attachment ID: " . $attach_id . "\n";
echo "Embed using:\n";
echo "[video]https://your.instance.domain/attach/" . $attach_id . "[/video]\n\n";
$stmt->close();
}
echo "Done.\n";
?>after you have imported your video via ftp to your /storage/videos you go to your cmd that your sshed into and in the root of your instance you run php register-video.php and you should receive
php register-video.php
Checking folder: /home/someplace/public_html/your.instance.domain/storage/videos/
Registering: somerandom.mp4
Attachment ID: some number will appear here say 00
Embed using:
[video]https://your.instance.domain/attach/00[/video]
Done. then you can embed into your post, yes I created something no one needs or wants, but I wanted and needed it so I am sharing on the off chance someone may find it useful;
⚖️ License (MIT)
Copyright (c) 2026 pasjrwoctx👽 (Philip A. Swiderski Jr.)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
@Friendica Support @Friendica Developers @Friendica Admins
You can encourage my continued useless ideas, and by doing so your helping to feed, house and clothe a #disabled man living in #poverty, $5-10-15 It All Helps, via #cashapp at $woctxphotog or via #paypal at paypal.com/donate?campaign_id=…
Ok so video uploads to #friendica kind of suck, I get it, it is not exactly a video platform, but I have made it my all in one social and website, so I created a complex solution to an easy problem, as I want control over where my content is hosted/served from, I made this convoluted script and process for my video uploads, it starts with opening #filezilla and ftping into my /storage/videos folder in my instance, yes I created a folder in /storage labeled videos, after I move the .mp4 into that folder I run a script that I placed in the root of my instance which is called register-video.php and here is the script,
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// CONFIGURE THESE:
$friendica_root = '/home/someplace/public_html/your.instance.domain/';
$ftp_folder = $friendica_root . 'storage/videos/';
$uid = your user number;
// DATABASE CONFIG:
$db_host = 'localhost';
$db_user = 'your db user';
$db_pass = 'your db password';
$db_name = 'your db name';
// Connect to Friendica database
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($mysqli->connect_errno) {
die("DB ERROR: " . $mysqli->connect_error . "\n");
}
// Debug: show folder
echo "Checking folder: $ftp_folder\n";
// Find all files in FTP folder
$files = glob($ftp_folder . '*');
if (!$files) {
echo "No files found.\n";
exit;
}
$allowed = array('mp4', 'webm', 'mov');
foreach ($files as $file) {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (!in_array($ext, $allowed)) {
continue;
}
$basename = basename($file);
$filesize = filesize($file);
$filetype = mime_content_type($file);
echo "Registering: $basename\n";
// Read file contents into memory
$filedata = file_get_contents($file);
if ($filedata === false) {
echo "Failed to read file data.\n";
continue;
}
// Create Friendica hash
$hash = hash('sha256', $basename . microtime(true));
$created = date('Y-m-d H:i:s');
$edited = $created;
// Insert into Friendica attach table
$stmt = $mysqli->prepare("
INSERT INTO attach
(uid, hash, filename, filetype, filesize, data, created, edited)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
");
$null = NULL;
$stmt->bind_param(
"isssisss",
$uid,
$hash,
$basename,
$filetype,
$filesize,
$filedata,
$created,
$edited
);
$stmt->send_long_data(5, $filedata);
$stmt->execute();
$attach_id = $stmt->insert_id;
echo "Attachment ID: " . $attach_id . "\n";
echo "Embed using:\n";
echo "[video]https://your.instance.domain/attach/" . $attach_id . "[/video]\n\n";
$stmt->close();
}
echo "Done.\n";
?>after you have imported your video via ftp to your /storage/videos you go to your cmd that your sshed into and in the root of your instance you run php register-video.php and you should receive
php register-video.php
Checking folder: /home/someplace/public_html/your.instance.domain/storage/videos/
Registering: somerandom.mp4
Attachment ID: some number will appear here say 00
Embed using:
[video]https://your.instance.domain/attach/00[/video]
Done. then you can embed into your post, yes I created something no one needs or wants, but I wanted and needed it so I am sharing on the off chance someone may find it useful;
⚖️ License (MIT)
Copyright (c) 2026 pasjrwoctx👽 (Philip A. Swiderski Jr.)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
@Friendica Support @Friendica Developers @Friendica Admins
You can encourage my continued useless ideas, and by doing so your helping to feed, house and clothe a #disabled man living in #poverty, $5-10-15 It All Helps, via #cashapp at $woctxphotog or via #paypal at paypal.com/donate?campaign_id=…
Friendica Plausch
Statt FAQ zu lesen oder sich Videos anzusehen, könnte man einfach ins Gespräch kommen.
Der Termin richtet sich an alle Menschen, die von LinkedIn, Facebook, 𝕏 oder einer anderen unfreien Plattform weg wollen. Die sich für Friendica interessieren, beim Start noch etwas Hilfe benötigen oder konkrete Fragen zur Anwendung haben.
Der Rahmen:
- Jeden Samstag 14 Uhr
- 45 Minuten Plausch
- Deine Fragen zur Anwendung
- Realisiert über meet.jit.si/FriendicaPlausch
- ohne Cam aber mit Mikrofon
Komm einfach vorbei. Wir lassen uns von den Themen tragen.
Ich habe heute baraag.net komplett blockiert.
Nachdem ich in den letzten Tagen bereits 17 Accounts von diesem Server einzeln sperren musste, weil sie sexualisierte Darstellungen offensichtlich minderjähriger Figuren in Form von #Cartoons, #Manga oder #Anime, verbreiteten oder teilten, ist für mich die Grenze erreicht.
Wer solche Inhalte nicht im #Fediverse sehen möchte, sollte überlegen, den gesamten Server zu blockieren.
Je nach Ausgestaltung können solche Darstellungen in mehreren Ländern in #Europa strafrechtlich relevant sein, insbesondere in der #Schweiz sowie, abhängig von den konkreten Umständen, auch in #Deutschland und weiteren EU-Staaten. Allein deshalb ist das kein Thema, bei dem ich Kompromisse eingehe.
Datei Upload Failed
!Friendica Support
@Steffen 🦉🇪🇺
Hallo, ich mal wieder.
Beim hochladen einer docx Datei kam immer wieder die Meldung Upload Failed ca. 4x
Eine ODT Datei (Libre Office) wurde mir gar nicht angezeigt um sie hochzuladen, was mich etwas wundert.
Dann habe ich die docx Datei in eine PDF Datei umgewandelt, dann ging das hochladen.
Was da stört ist das das kleine Blattsymbol zwischen den Hashtags steht. Ich vermute mal man kann auch einen Text anbringen zur besseren Erkennung.
Das wars, Dankeschön
Tschau
Friedhelm
#Friendica #Uploadfailed #ODT #docx #PDF
Hi!
I recently tried to install the #Bluesky addon (and it worked fine) but when I disabled it, the following/followers are still listed in my contacts page on Friendica. How can I make the people from Bluesky disappear from my #Friendica contact list? The people I follow and those that follow me.
(I don't even understand if Bluesky followers get content from me, since the addon is disabled but they are still listed as followers)
!Friendica Admins
🌐 Rückblick: 4. Friendica-Admin-Treff
Am 15.06.2026 fand unser 4. Friendica-Admin-Treff statt.
Wieder kamen Administratoren, Instanzbetreiber und Entwickler zusammen, um sich über aktuelle Themen rund um Friendica und das Fediverse auszutauschen. Die Gespräche waren so spannend, dass die Runde bis tief in die Nacht andauerte.
Zu Gast war unter anderem @Sascha Foerster , der selbst eine Mastodon-Instanz betreibt. Gemeinsam sprachen wir über die zunehmenden Spam- und Bot-Accounts auf unseren Plattformen. Schnell wurde deutlich: Dieses Problem betrifft nicht nur Friendica, sondern das gesamte Fediverse. Ob Mastodon, Friendica oder andere Projekte – alle stehen vor ähnlichen Herausforderungen. Umso wichtiger ist der Austausch von Erfahrungen und Lösungsansätzen über die Plattformgrenzen hinweg. Vielen Dank, Sascha, für deinen wertvollen Beitrag.
Ein weiteres Thema war tags.pub. @OldKid ⁂ berichtete von seinen bisherigen Erkenntnissen und Erfahrungen. Die anschließende Diskussion war sehr aufschlussreich. @Michael 🇺🇦 äußerte sich positiv über die Person hinter dem Projekt und brachte zusätzliche Perspektiven ein. Gerade bei neuen Entwicklungen ist es wichtig, verschiedene Sichtweisen kennenzulernen und miteinander ins Gespräch zu kommen. Kommunikation ist oft der erste Schritt auf dem Weg zu guten Lösungen.
Natürlich wurde auch über Friendica selbst gesprochen. Einige Administratoren und Instanzbetreiber entwickeln bereits eigene Addons und Erweiterungen, die den Alltag erleichtern und manchmal sogar ihren Weg in den Friendica-Core finden. Als Beispiel wurde unter anderem der von @Jools entwickelte Editor genannt. Michael und @Artur Weigandt (beides Entwickler) zeigten daran Interesse und diskutierten mögliche Perspektiven.
Besonders interessant war für die anwesenden Administratoren zum Abschluss ein Einblick in die Arbeitsweise der Entwickler. Gemeinsam wurde versucht, einen Fehler einzugrenzen und dessen Ursache zu finden. Dabei konnten wir live miterleben, wie systematisch und geduldig Fehlersuche und Entwicklung im Hintergrund stattfinden.
Solche Treffen zeigen immer wieder, wie wichtig die gute Zusammenarbeit zwischen Administratoren, Instanzbetreibern und Entwicklern ist. Nur durch gegenseitiges Verständnis, offenen Austausch und gemeinsames Arbeiten kann Friendica erfolgreich weiterentwickelt werden.
Vielen Dank an alle Teilnehmer für ihre Zeit, ihre Erfahrungen und die vielen wertvollen Beiträge. Wir freuen uns bereits auf das nächste Treffen. 😊
#Friendica #Fediverse #OpenSource #Community #Administration #Mastodon #SpamAbwehr #tagspub
So I kind of set up another level of security well not really more of a gate to help block more bots and scrapers that seem to bypass robots.txt and whatever enhancements and blocks you have in your .htaccess file, these currently are working on my #friendica instance fairly well so maybe they can help someone maybe they do nothing;
First at the very top of your index.php in the root of your friendica directory right after the <? I added the following code,
// --- ALIEN GATE START ---
$request = $_SERVER['REQUEST_URI'] ?? '';
// 0. Signed cookie (prevents bots forging it)
$secret_key = 'Your_Alien_Secret';
$valid_cookie = hash_hmac('sha256', 'verified', $secret_key);
$has_cookie = isset($_COOKIE['instance_access']) &&
hash_equals($valid_cookie, $_COOKIE['instance_access']);
if (!$has_cookie) {
// 1. Federation / machine endpoints (never gate)
$is_fediverse =
str_contains($request, '/.well-known/') ||
str_contains($request, '/activitypub/') ||
str_contains($request, '/api/') ||
str_contains($request, '/assets/');
// 2. Static assets (never gate)
$is_static = preg_match('/\.(css|js|png|jpg|ico|svg|woff2)$/i', $request);
// 3. Only gate the root URL
if ($request === '/' && !$is_fediverse && !$is_static) {
require 'gate.php';
exit;
}
// 4. Prevent bypass via /index.php
if ($request === '/index.php') {
header('Location: /');
exit;
}
}
// --- ALIEN GATE END ---then I created in the root directory again, gate.php
<?php
// 1. VERIFICATION LOGIC
if (isset($_GET['nonce']) && isset($_GET['seed'])) {
$nonce = (int)$_GET['nonce'];
$seed = $_GET['seed'];
$check_hash = hash('sha256', $seed . $nonce);
// Verify hash matches the "000" requirement
if (str_starts_with($check_hash, '000')) {
$secret = 'Your_Alien_Secret';
$token = hash_hmac('sha256', 'verified', $secret);
setcookie("instance_access", $token, time() + 86400 * 30, "/");
header("Location: /index.php");
exit;
}
}
// 2. CHALLENGE UI
$seed = bin2hex(random_bytes(16));
?>
<html>
<head>
<title>Access Verification</title>
<link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Mono&display=swap" rel="stylesheet">
<style>
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
font-family: 'Atkinson Hyperlegible Mono', monospace;
background-color: #f4f4f9;
color: #333;
}
.container {
text-align: center;
padding: 2rem;
background: white;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
</style>
</head>
<body>
<div class="container">
<h2>Your Instance Name</h2>
<h3>Verification Required</h3>
<p id="status">Your Computer Is Solving A Security Challenge To Prove You Are A Human...</p>
<p>Your Computer Is Solving A Security Challenge To Prove You Are A Human...</p>
<p>Your Privacy Matters, No Data Is Recorded...</p>
</div>
<script>
const seed = "<?php echo $seed; ?>";
let nonce = 0;
async function sha256(message) {
const msgUint8 = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2, '0')).join('');
}
async function solve() {
const startTime = Date.now();
while (true) {
let hash = await sha256(seed + nonce);
if (hash.startsWith("000")) {
const elapsed = Date.now() - startTime;
const remaining = 2000 - elapsed;
if (remaining > 0) {
document.getElementById('status').innerText = "Verifying human interaction...";
await new Promise(r => setTimeout(r, remaining));
}
window.location.href = `?nonce=${nonce}&seed=${seed}`;
break;
}
nonce++;
}
}
solve();
</script>
</body>
</html>in both places change Your_Alien_Secret for your actual matching secret, and maybe it will help kill some bot and scrapers from hitting your instance so hard;
⚖️ License (MIT)
Copyright (c) 2026 pasjrwoctx👽 (Philip A. Swiderski Jr.)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
@Friendica Support @Friendica Developers @Friendica Admins
You can encourage my continued useless ideas, and by doing so your helping to feed, house and clothe a #disabled man living in #poverty, $5-10-15 It All Helps, via #cashapp at $woctxphotog or via #paypal at paypal.com/donate?campaign_id=…
Smileybutton 1.4 for Friendica 2026.08-develop
I removed all of the PNG and SVG icon images in favor of switching to the new Remix icon set. I also fixed an alignment issue in the Quattro theme when other jot plugins are present. This has not yet been submitted to the Friendica add-on repo.
While the add-on itself works with earlier versions of Friendica (back to 2024.12) they don't have the Remix icons so there wouldn't be an icon on the button. Use stable version 1.3 instead, version 1.4 is just for 2026.08-dev.
I also have a fixed/enhanced version of the "Smiley Pack" add-on, which fixes a couple missing items and adds alternate codes more compatible with some other platforms. But it's completely optional, the "Smiley Button" addon also works with the original smiley_pack.
#Friendica #Addon #developer @Friendica Admins
gitlab.com/randompenguin/smile…
Smileybutton 1.4-dev · Random Penguin / smileybutton · GitLab
This is a version of Smileybutton for the Friendica 2026.08 develop branch. It should be considered experimental because the develop branch is still in flux. While...GitLab
!Friendica Admins
🌐 Erinnerung: 4. Friendica-Admin-Treff
Am kommenden Montag ist es wieder soweit:
📅 Montag, 15.06.2026
🕢 19:30 Uhr (MEZ)
💻 Online Konferenzraum
Eingeladen sind alle Friendica-Admins, Instanzbetreiber, Entwickler:innen sowie alle, die sich aktiv für Friendica interessieren.
Die letzten Treffen haben gezeigt, wie wertvoll der direkte Austausch zwischen Entwicklern und Administratoren ist. Viele Herausforderungen betreffen nicht nur einzelne Instanzen, sondern die gesamte Community.
📌 Geplante Schwerpunkte:
🛡️ Spam-Abwehr als gemeinsames Anliegen
Spam, Bot-Anmeldungen und missbräuchliche Accounts beschäftigen inzwischen viele Instanzen. Gemeinsam möchten wir Erfahrungen austauschen, bestehende Ansätze diskutieren und überlegen, wie wir Friendica-Nutzer und Administratoren künftig noch besser unterstützen können.
🏷️ tags.pub
Die neue Möglichkeit, Inhalte über tags.pub sichtbar zu machen, sorgt aktuell für Interesse und Diskussionen. Welche Chancen ergeben sich daraus? Welche Erfahrungen gibt es bereits? Und wie kann das sinnvoll im Fediverse genutzt werden?
Natürlich bleibt auch Raum für weitere aktuelle Themen, Fragen, Erfahrungen aus dem Instanzbetrieb sowie den Austausch rund um die aktuelle Friendica-Version.
Gerade Entwickler und Maintainer sind herzlich eingeladen, ihre Sichtweisen und Erfahrungen einzubringen. Ebenso freuen wir uns über jeden Administrator, der von seinen praktischen Erfahrungen berichten kann.
Je mehr Perspektiven zusammenkommen, desto wertvoller wird der Austausch für alle.
Wir freuen uns auf einen spannenden Abend mit vielen bekannten und neuen Gesichtern. 😊
🇩🇪 Die Veranstaltung findet in deutscher Sprache statt.
🇬🇧 The meeting will be held in German. An English summary of the most important discussion points and results can be published afterwards so that international Friendica admins and developers can also follow the discussion.
#Friendica #Fediverse #AdminTreff #Systemadministration #OpenSource #SocialWeb #FediverseDeutschland
@Pawlicker About "reply gating": This, or something similar, has been a standard feature at least on Hubzilla, (streams) and Forte from the get-go, i.e. from their respective creation on. Hubzilla has had it since 2012. All three rely heavily on permissions for anything and everything. They can make themselves and each other hide the reply button. When someone wants to comment from Mastodon or something else that doesn't understand these permissions, these three simply reject unpermitted comments before they even reach the inbox.
On Hubzilla, the channel-wide permission to comment also includes a permission to like or dislike something. I can generally allow
- only myself
- only certain contacts
- only my contacts
- only my contacts plus those with an unapproved contact request
- anyone on the same Hubzilla hub as me
- anyone on Hubzilla (strangely, this does exclude (streams) channels)
- anyone in the Fediverse
- anyone anywhere on the Web, even without a Fediverse account
to comment on my posts.
In addition, I can turn comments on and off for specific posts. Mind you, if it's a reply, it isn't a post, it's a comment, and I've got no control over it.
On (streams) and Forte, the channel-wide permission to comment is uncoupled from the permission to like or dislike. The channel-wide options are
- only myself plus certain contacts
- only my contacts
- anyone in the Fediverse
- anyone anywhere on the Web, even without a Fediverse account
On top of that, I can generally allow comments only for a certain number of days.
Again, I can turn comments on and off for specific posts. But I can also only allow my contacts to comment on specific posts, and I can define until when comments are allowed on specific posts.
In all three cases, I can even choose to preview technically unpermitted comments and then decide whether I allow or reject them, one by one.
In other words, where I am (I'm commenting from Hubzilla), this not only has been available for longer than Mastodon has even existed, but it's deeply engrained into the culture.
About "quote gating": Friendica, Hubzilla, (streams) and Forte have all always (in Friendica's case, since 2010) had both actual quotes like on bulletin-board forums (remember the 2000s when forums were all the rage?) and Twitter-quote-tweet-style quote-posts (which literally were the only way for them to share content before they adopted Twitter-retweet-style forwarding).
The former obviously only works in comments. Whether or not it's allowed is defined by whether or not comments are allowed.
The latter doesn't have any permission setting, not even on Hubzilla, (streams) and Forte with the most advanced permissions systems in the whole Fediverse. That's because their inventor says that it's technologically impossible to keep people from forwarding or sharing your content in separate posts.
If you disallow actual quote-posts, people can still copy-paste the content of your post into a new post. Unlike when you're actually being quote-posted, you won't even notice unless they mention you. Mind you, while an estimated 60% of all Mastodon users are on iPhones, and another estimated 39% are on Android phones, 100% of all Hubzilla, (streams) and Forte users are on desktop or laptop computers where copy-paste is easy-peasy. It's pretty much impossible to disallow copy-paste, and even if it was, people would resort to screenshots.
You don't want people to quote-post your stuff? Then don't make it public. Once it's public, it's out there, and anyone can do with it whatever they please.
Nobody really misses an actual permission for quote-posts. That's also because Hubzilla, (streams) and Forte aren't primarily a home for Twitter refugees. In fact, neither of them can even understand the ruckus about quote-posts on Mastodon, and neither can Friendica users. Hardly any of them have been on Twitter at any point in the 2020s. There's no influence of Twitter culture anywhere to be found.
The typical path into Hubzilla is not Twitter > Musk buys Twitter > Mastodon > Hubzilla. Not even Twitter > Musk buys Twitter > Mastodon > Friendica > Hubzilla. It's Facebook > diaspora* > Friendica > Hubzilla. Or Facebook > Google+ > diaspora* > Friendica > Hubzilla. The typical path into (streams) is the same, but one step further beyond Hubzilla. The typical path into Forte is the same as into (streams), but another step further beyond (streams).
About the iPhone: Whether or not the iPhone is a status symbol depends on where you are.
In the USA, the iPhone is the Levi's jeans of phones. It's the Ford F-150 of phones. The allegedly all-American American phone. Most importantly, it's what everyone has.
Over here in Germany, the iPhone is the higher-class Mercedes-Benz of phones. The iPhone 15 Pro is the 2026 Mercedes-Benz-AMG E 53 of phones. The iPhone 15 Pro Max is the 2026 Mercedes-Benz-AMG S 63 E Performance of phones, slammed suspensions, standing on polished 22" Lexani wheels, muffler cut-outs always open. In American terms, it's the 2026 Cadillac Escalade-V of phones, gold-foiled, with air-ride, standing on gold-plated 26" Bellagio spinnaz. The phone made for peacocking in rap music video clips. It's the Rolex of phones. For women, it's the genuine Prada or Fendi or Louis Vuitton handbag of phones.
Well, and then there's the iPhone 4S with the cracked screen. It's the 1995 Mercedes-Benz E-Class of phones. Old, worn out, four-banger engine, often rusty as hell, may have been stolen at some point, but it's cheap. And most importantly, it's still a Benz, and it's a real Benz as opposed to "Baby Benz" C-Class and smaller. The Benz for those who need a Benz to show their folks how much of a winner they are, but who can't really afford one.
Over here, the Samsung Galaxy S is the VW Golf of phones. The Americans' Ford F-150 of phones. It's what everyone has. It's the no-brainer that you buy when you don't know what to buy, so you buy what everyone buys. Still, it's expensive for what it does. But all the other brands are akin to "cheap imports" from, what, France or Italy or Japan or Korea or Romania.
The choice of the hardcore nerds in the homeland of Chaos Computer Club and Chaos Communication Congress is never something that can only run stock Android. It's an iPhone even less. They rather buy a Google Pixel, and the first thing they do is root it immediately and install GrapheneOS. Or if they refuse to buy something from Google and/or run a Google OS (de-Googled or not), they acquire a Sony Experia, root it and install SailfishOS. Or they go straight for a Fairphone or even the new Jolla Phone or something like that. I'm pretty sure many want a true successor to the Nokia N900.
If Google locks Android down, these nerds won't flock to Apple. Some may switch to SailfishOS which, on officially supported phones, has the Aliendalvik compatibility layer for Android apps, but only with F-Droid and neither with the Google Play Store proper nor with Micro-G. Many more will go entirely elsewhere like PostmarketOS or PureOS, also seeing as SailfishOS is payware that's half proprietary and closed-source. Or they'll forgo mobile phones entirely or keep old phones alive for as long as they can.
About iOS apps: I guess the notion that the Fediverse equals Mastodon, something that the majorty of Mastodon users believe, is particularly wide-spread among iPhone users. And if it isn't only Mastodon, it doesn't extend beyond Mastodon, Pixelfed and PeerTube. Excluding Pixelfed and PeerTube, if Mastodon can't do it, the Fediverse as a whole can't. I mean, on top of the fact that apps made for Mastodon generally only support Mastodon features because the Mastodon Client API only supports Mastodon features, and the Mastodon Client API is all that these apps understand.
It's particularly bad for Friendica users. If they're on Android, they may opt for a Mastodon app. There are several Android apps for Mastodon that have been reported to work with Friendica. Or they may want to try one of the dedicated Friendica apps which are at various levels of unfinished. Or they may choose the middle-ground and use Fedilab.
But if they're on an iPhone, they'll discover that literally not even a single Mastodon iOS app works with Friendica. There is no Fedilab. And the iOS version of RaccoonForFriendica requires Test Flight, and it's probably even more incomplete than the Android version.
In general, iPhone apps are rarely developed for the same reasons as Android apps. Most Android Fediverse apps are open-source and under a free license, and they're also or exclusively available on F-Droid. They're developed by FLOSS enthusiasts/idealists. However, these people don't develop for iOS. That's because the Apple App Store is inherently hostile towards free software, and it's completely incompatible with all versions of the GNU General Public License.
Also, as you've already pointed out, you absolutely need a Mac to develop iOS apps. But if someone releases FLOSS apps on F-Droid, you can bet they're running GNU/Linux at home (more often Arch or a derivative than you may think), and they won't touch any corporate-made, closed-source OS with a 10-foot barge pole. They may even steer clear of anything where Novell, Red Hat or Canonical is involved.
With hobbyist FLOSS enthusiasts out of the way of developing iPhone apps, this is only ever done by those who do it for money. Or fame and social status (same reason why they always have a fairly new iPhone). Or both. But then they discovered that the Fediverse, to them at least, is a hive of radical leftist tech nerds whom you can't impress with expensive bling-bling from big American gigacorps. They failed to gather the umpteen thousand followers they wanted. So they left for greener pastures: Bluesky. Or they even went back to their hundreds of thousands of followers on 𝕏. Doing so, they also abandoned their iPhone app development.
By the way, none of this affects Hubzilla, (streams) and Forte. For starters, just like Friendica, all four can be installed as Progressive Web Apps. However, at least in the case of these three, there is no alternative to the Web interface whatsoever. There's an old Android app for Hubzilla named Nomad, but it's only available on F-Droid, it hasn't been worked on since December, 2019, it only runs on older Android versions and Aliendalvik, and it's only a wrapper for the Web interface anyway. For (streams) and Forte, there's zilch.
There has been some talk about developing a native mobile Hubzilla app. It's kind of difficult, though. Generally, Hubzilla users use Hubzilla on desktop OS's. They can't imagine people daily-driving phones as their main or only end-user devices, so they think that a Hubzilla app only needs the features one would need when out and about because everyone will go back to their desktop or laptop computers anyway when they're back home.
In reality, many users of the Hubzilla app will only use that app. They won't use Hubzilla's Web interface in a browser. They won't use it on a desktop or laptop computer either, usually because they simply don't have one. They'll resort to that app for everything. In fact, they'll perceive Hubzilla as a phone app rather than a Fediverse server application. This means that a Hubzilla mobile app will inevitably have to cover all of Hubzilla's features except those that really don't make sense in a phone app (e.g. the PDL editor). But a fully-featured Hubzilla app would be so complex, it'd make infamous K-9 Mail pale in comparison.
Licensing is the least problem here. Hubzilla and Forte are released under the MIT license, (streams) was released into the public domain. So I guess putting an app for either of them under the MIT license would be an option, one that's fairly compatible with the Apple App Store even. It's just that this app would be bound to be an absolute monster.
#Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mastodon #Friendica #Hubzilla #Streams #(streams) #Forte #QuotePost #QuotePosts #QuoteTweet #QuoteTweets #QuoteToot #QuoteToots #QuoteBoost #QuoteBoosts #QuotedShares #QuotePostDebate #QuoteTootDebate #ReplyControl #Permissions #MastodonApp #MastodonApps #FediverseApp #FediverseApps #iOS #iOSApp #iOSApps #iPhone #iPhoneApp #iPhoneApps #Android #AndroidApp #AndroidApps
Ich habe mir irgendwie mein #Friendica Theme zerschossen. Nun kann ich meine Instanz nicht mehr über den Browser aufrufen. Ich bekomme lediglich HTTP 500 Error. Apps oder alternative Frontends können den Feed weiterhin darstellen. Wo kann ich da zuerst ansetzen?
📢 Ein kleiner Hinweis zum Thema Instanz-Administration im Fediverse
In den letzten Tagen ist mir wieder bewusst geworden, dass es rund um die Rolle von Administratoren im Fediverse manchmal Missverständnisse gibt. Deshalb möchte ich dazu ein paar allgemeine Worte schreiben.
Egal ob Friendica, Mastodon, Hubzilla, Sharkey, PeerTube, BookWyrm oder eine andere Fediverse-Anwendung:
🛠️ Die Aufgabe eines Instanzbetreibers besteht in erster Linie darin, die technische Plattform bereitzustellen, zu warten und bei Problemen zu unterstützen.
Was Administratoren in der Regel nicht können:
❌ Passwörter einsehen
❌ Private Nachrichten lesen, die nicht öffentlich sind
❌ Sich einfach in Benutzerkonten einloggen
❌ Im Namen anderer Nutzer Beiträge verfassen
Viele Anwendungen im Fediverse bieten sehr umfangreiche Funktionen und Einstellungsmöglichkeiten. Gerade Friendica und Hubzilla verfügen über zahlreiche Optionen, die manchmal zu Verwirrung führen können. Das ist völlig normal.
💡 Deshalb mein Rat:
Wenn euch etwas merkwürdig vorkommt, eine Einstellung unklar ist oder ihr eine Meldung nicht versteht, dann wendet euch direkt an eure Instanzbetreiber oder die Community. Die meisten Administratoren helfen gern weiter und können oft schnell erklären, was hinter einer Funktion oder einer Fehlermeldung steckt.
Das Fediverse lebt von Offenheit, Transparenz und gegenseitiger Unterstützung. Deshalb sollten wir bei Unsicherheiten lieber nachfragen, bevor Vermutungen zu Missverständnissen, Gerüchten oder falschen Annahmen führen.
🤝 Reden hilft fast immer weiter.
Ich wünsche euch einen schönen Tag und viele positive Begegnungen im Fediverse.
#Fediverse #Friendica #Mastodon #Hubzilla #PeerTube #BookWyrm #OpenSocialWeb #Datenschutz #DigitaleSelbstbestimmung
@Michael 🇺🇦 has implemented a nice new extension of following tags into Friendica. In the development branch (aimed to be released as 2026.08) it is now possible to automatically follow the tags from tags.pub by @Evan Prodromou 🥳
Admins of Friendica nodes can activate this in the settings of their nodes, down below in the Relay section. All the tags that are selected there plus user tags if that option is enabled, will then be automatically followed at tags.pub as relays (and unfollowed it one removes a tag from the list).
Lets see if my raspi can handle that 🫣
#Friendica #fediverse /cc @Friendica Admins