Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

🚀 Il client mastodon Phanpy è aggiornato!

Ora è integrato anche il nostro servizio di traduzione LibreTranslate e di default punta sulla nostraistanza mastodon.uno.

Cosa aspettate a provarlo? 👉 phanpy.mastodon.uno/

Phanpy è un modo diverso e innovativo per navigare su #Mastodon con il browser!

Un grazie speciale a @magostinelli per l’incredibile lavoro nel portare #Phanpy in Italia. 🙌

:fediverso: Seguiteci e restate aggiornati sul Fediverso nel gruppo: @fediverso 🌐

#phanpy #mastodonUno

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Good news everyone! We hit our first milestone: maintenance is 100% funded. Thank you all ❤️

Next up: unlock the stretch goal to co‑design federated groups: community‑owned spaces to organise across the fediverse, with no server or platform lock‑in.

Read about why this matters and how it can empower communities: bonfirenetworks.org/posts/why-…

Support the campaign: indiegogo.com/projects/bonfire…

#Fediverse #FederatedGroups #CommunitySpaces #ActivityPub

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The Oxford Word of the Year is "rage bait" 🙁

In a world seemingly filled with "rage bait", we're building technology that lets you connect authentically. That's why we carefully designed consent-respecting Quote Posts. Free speech isn’t about giving hate a megaphone, it’s about protecting the voices that need it most.🛡️

Mastodon’s community-driven moderation proves we can foster open dialogue and safety, without algorithms or agendas.

Donate #SupportMastodon joinmastodon.org/sponsors#dona…

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Successfully imported a #Mastodon archive into my #Wordpress blog with #ActivityPub plugin's Importer. Yay! One down, two to go...
in reply to macfranc

@macfranc @notizie DL yr Masto archive as .zip. Install AP plugin to your WP. Tools>Import>Mastodon Importer(beta). en-gb.wordpress.org/plugins/ac…
in reply to The Void ザ・ヴォイド

@macfranc @notizie I've been helping to test/debug. You can read this thread about that if you like: wordpress.org/support/topic/im…
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

I've just published version 2.85 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Quoted posts are now shown.

Added metadata to remote users in the people page (contributed by dandelions).

Fixed memory leak (contributed by dandelions).

Fixed user matching (contributed by rakoo).

Rendering visibility conditionally, with lesser reach if needed (contributed by byte).

Added a button next to a follow notification to follow back.

Fixed typo in man page (contributed by spky).

Updated Czech and German translations (contributed by pmjv and zen).

comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.

#snacAnnounces #FrugalFediverse

La guida definitiva per rispondere a un post su Mastodon:

1) Inizia a scrivere una risposta impertinente, ma inizia a preoccuparti che venga fraintesa.
2) Scarta la risposta senza pubblicarla.
3) Inizia a scrivere una risposta sincera. Continua finché non avrai scritto un post di 5000 caratteri, composto da più paragrafi.
4) Scarta la risposta senza pubblicarla.
5) Inizia a scrivere una nuova risposta in cui cerchi di formulare il tuo post nel modo più succinto possibile.
6) Arrenditi e scarta la risposta senza pubblicarla.
9) Clicca semplicemente sul pulsante a forma di stella del post ⭐

Post originale di @Luftvaffel@Che succede nel Fediverso?


How to reply to a post on Fedi:

1. Begin writing a sassy reply, but start to worry that it will be misunderstood.
2. Discard reply without posting.
3. Start writing a sincere reply. Continue until you have written a 5000 character, multi paragraph screed.
4. Discard without posting.
5. Start a new reply where you try to phrase your screed as succinctly as possible.
5. Give up and discard without posting.
6. Just click the star button on the post instead ⭐

#fediverse


reshared this

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Ho aperto una stanza pubblica su Matrix dedicata agli aspetti tecnici del Fediverso 🛠️🌐

È pensata per admin, smanettoni, curiosə e chiunque voglia parlare di:

tutto ciò che riguarda il Fediverso,

self-hosting di istanze,

configurazioni, backup, sicurezza,

strumenti e buone pratiche tra admin e futuri admin.

Niente flame, niente politica del giorno, niente “il Fediverso sta diventando X”: solo confronto tecnico, domande, aiuto reciproco e condivisione di esperienza.

La stanza è aperta a tuttə gli interessati:
👉 link Matrix: matrix.to/#/#Feditecnica:searx…

Se ti va di imparare, aiutare o semplicemente lurkare per capire come funziona “dietro le quinte”, sei il benvenuto.

P.s. Presentatevi all'iscrizione.😉

#Fediverso #Matrix #SelfHosting

Questa voce è stata modificata (1 mese fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Tumblr sospende l'integrazione con fediverso e il passaggio a WordPress

Tumblr sta abbandonando – o almeno sospendendo – il suo piano di migrazione a WordPress. Di conseguenza, ciò significa anche sospendere i piani di integrazione di Tumblr nel fediverso.

La notizia è stata diffusa lunedì sul podcast Decoder di The Verge . Automattic, proprietaria di Tumblr, aveva annunciato l'anno scorso di voler spostare il backend del suo sito web da Tumblr a WordPress. Ma il fondatore e CEO di Automattic, Matt Mullenweg, ha dichiarato a Decoder che l'idea era in sospeso perché l'azienda aveva deciso di "concentrarsi il più possibile sulle cose che sarebbero state visibili agli utenti e che gli utenti stavano chiedendo". Questo è coerente: cambiare il backend di un sito web è un'impresa importante, ma che non è immediatamente evidente alla maggior parte degli utenti.

mashable.com/article/tumblr-fe…

@fediverso

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Il Fediverso e la creazione di contenuti: la monetizzazione

"Certo, abbiamo sostituti open source e federati per Instagram, TikTok e YouTube. Come possiamo convincere i creatori a usare queste cose? Una considerazione riguarda la possibilità di pagare per le cose."

deadsuperhero.com/the-fedivers…

@fediverso

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

RE: mastodon.social/@_elena/115643…

We have been really happy to watch the #Plushtodon friends uniting with their brethren!


My #Plushtodon family just got bigger 🧡💛💙

Thank you @Mastodon @staff for creating such adorable, super soft plushies


reshared this

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Do you want to help people escape Big Tech and join the open social web? We need help to boost the Bonfire campaign. With #GivingTuesday momentum is on our side, but most people stuck on enshitified platforms only see content from people still active there.

If that's you, pick a template below (or write your own) and post it anywhere you have reach: Facebook (incl groups), LinkedIn, Twitter, email lists, Slack/Discord. Every share brings us closer to an open community‑governed internet. Thanks!

reshared this

in reply to Moved to @bonfire@bonfire.cafe

2/2

Document with some examples posts you can share (feel free to customise!): hackmd.io/@mayel/ByB9Qvnbbg

Link to our crowdfunding campaign: indiegogo.com/projects/bonfire…

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Per ritornare ad avere un motore di ricerca che restituisce quello che realmente si cerca, senza AI, senza risultati sponsorizzati, senza manipolazione, c'è il meta-motore di ricerca open source SearXNG:

:opensource: searxng.devol.it

per installarlo su #Firefox, #Waterfox, #Librewolf c'è l'estensione dedicata:

<img class=" title=":firefox:"/> :librewolf: addons.mozilla.org/it/firefox/…

qua invece la guida a #SearXNG dei @devol:

:devol: newsletter.devol.it/guida-comp…

:lemmy: Pubblicato nel gruppo sicurezza: @sicurezza

Un server ActivityPub in un singolo file PHP? Ecco come fare... Il post di @tofeo

Qualsiasi programma per computer può essere progettato per essere eseguito da un singolo file, se la progettazione è abbastanza sbagliata! 🤣

Volevo creare il server #Fediverse più semplice possibile, che potesse essere utilizzato come strumento didattico per mostrare come funziona ActivityPub / Mastodon.

shkspr.mobi/blog/2024/02/activ…

@Che succede nel Fediverso?


ActivityPub Server in a Single PHP File


shkspr.mobi/blog/2024/02/activ…

Any computer program can be designed to run from a single file if you architect it wrong enough!

I wanted to create the simplest possible Fediverse server which can be used as an educational tool to show how ActivityPub / Mastodon works.

The design goals were:

  • Upload a single PHP file to the server.
  • No databases or separate config files.
  • Single Actor (i.e. not multi-user).
  • Allow the Actor to be followed.
  • Post plain-text messages to followers.
  • Be roughly standards compliant.

And those goals have all been met! Check it out on GitLab. I warn you though, it is the nadir of bad coding. There are no tests, bugger-all security, scalability isn't considered, and it is a mess. But it works.

You can follow the test user @[url=https://example.viii.fi/example]example@example.viii.fi[/url]

Architecture


Firstly, I've slightly cheated on my "single file" stipulation. There's an .htaccess file which turns example.com/whatever into example.com/index.php?path=whatever

The index.php file then takes that path and does stuff. It also contains all the configuration variables which is very bad practice.

Rather than using a database, it saves files to disk.

Again, this is not suitable for any real world use. This is an educational tool to help explain the basics of posting messages to the Fediverse. It requires absolutely no dependencies. You do not need to spin up a dockerised hypervisor to manage your node bundles and re-compile everything to WASM. Just FTP the file up to prod and you're done.

Walkthrough


This is a quick ramble through the code. It is reasonably well documented, I hope.

Preamble


This is where you set up your account's name and bio. You also need to provide a public/private keypair. The posting page is protected with a password that also needs to be set here.
PHP // Set up the Actor's information $username = rawurlencode("example"); // Encoded as it is often used as part of a URl $realName = "E. Xample. Jr."; $summary = "Some text about the user."; $server = $_SERVER["SERVER_NAME"]; // Domain name this is hosted on // Generate locally or from cryptotools.net/rsagen // Newlines must be replaced with "\n" $key_private = "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"; $key_public = "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"; // Password for sending messages $password = "P4ssW0rd";

Logging


ActivityPub is a "chatty" protocol. This takes all the requests your server receives and saves them in /logs/ as a datestamped text file.
PHP // Get all headers and requests sent to this server $headers = print_r( getallheaders(), true ); $postData = print_r( $_POST, true ); $getData = print_r( $_GET, true ); $filesData = print_r( $_FILES, true ); $body = json_decode( file_get_contents( "php://input" ), true ); $bodyData = print_r( $body, true ); $requestData = print_r( $_REQUEST, true ); $serverData = print_r( $_SERVER, true ); // Get the type of request - used in the log filename if ( isset( $body["type"] ) ) { $type = " " . $body["type"]; } else { $type = ""; } // Create a timestamp in ISO 8601 format for the filename $timestamp = date( "c" ); // Filename for the log $filename = "{$timestamp}{$type}.txt"; // Save headers and request data to the timestamped file in the logs directory if( ! is_dir( "logs" ) ) { mkdir( "logs"); } file_put_contents( "logs/{$filename}", "Headers: \n$headers \n\n" . "Body Data: \n$bodyData \n\n" . "POST Data: \n$postData \n\n" . "GET Data: \n$getData \n\n" . "Files Data: \n$filesData \n\n" . "Request Data:\n$requestData\n\n" . "Server Data: \n$serverData \n\n" );

Routing


The .htaccess changes /whatever to /?path=whateverThis runs the function of the path requested.
PHP !empty( $_GET["path"] ) ? $path = $_GET["path"] : die(); switch ($path) { case ".well-known/webfinger": webfinger(); case rawurldecode( $username ): username(); case "following": following(); case "followers": followers(); case "inbox": inbox(); case "write": write(); case "send": send(); default: die(); }

WebFinger


The WebFinger Protocol is used to identify accounts.It is requested with example.com/.well-known/webfinger?resource=acct:username@example.comThis server only has one user, so it ignores the query string and always returns the same details.
PHP function webfinger() { global $username, $server; $webfinger = array( "subject" => "acct:{$username}@{$server}", "links" => array( array( "rel" => "self", "type" => "application/activity+json", "href" => "https://{$server}/{$username}" ) ) ); header( "Content-Type: application/json" ); echo json_encode( $webfinger ); die(); }

Username


Requesting example.com/username returns a JSON document with the user's information.
PHP function username() { global $username, $realName, $summary, $server, $key_public; $user = array( "@context" => [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1" ], "id" => "https://{$server}/{$username}", "type" => "Person", "following" => "https://{$server}/following", "followers" => "https://{$server}/followers", "inbox" => "https://{$server}/inbox", "preferredUsername" => rawurldecode($username), "name" => "{$realName}", "summary" => "{$summary}", "url" => "https://{$server}", "manuallyApprovesFollowers" => true, "discoverable" => true, "published" => "2024-02-12T11:51:00Z", "icon" => [ "type" => "Image", "mediaType" => "image/png", "url" => "https://{$server}/icon.png" ], "publicKey" => [ "id" => "https://{$server}/{$username}#main-key", "owner" => "https://{$server}/{$username}", "publicKeyPem" => $key_public ] ); header( "Content-Type: application/activity+json" ); echo json_encode( $user ); die(); }

Following & Followers


These JSON documents show how many users are following / followers-of this account.The information here is self-attested. So you can lie and use any number you want.
PHPfunction following() { global $server; $following = array( "@context" => "https://www.w3.org/ns/activitystreams", "id" => "https://{$server}/following", "type" => "Collection", "totalItems" => 0, "items" => [] ); header( "Content-Type: application/activity+json" ); echo json_encode( $following ); die(); } function followers() { global $server; $followers = array( "@context" => "https://www.w3.org/ns/activitystreams", "id" => "https://{$server}/followers", "type" => "Collection", "totalItems" => 0, "items" => [] ); header( "Content-Type: application/activity+json" ); echo json_encode( $followers ); die(); }

Inbox


The /inbox is the main server. It receives all requests. This server only responds to "Follow" requests.A remote server sends a follow request which is a JSON file saying who they are.This code does not cryptographically validate the headers of the received message.The name of the remote user's server is saved to a file so that future messages can be delivered to it.An accept request is cryptographically signed and POST'd back to the remote server.
PHP function inbox() { global $body, $server, $username, $key_private; // Get the message and type $inbox_message = $body; $inbox_type = $inbox_message["type"]; // This inbox only responds to follow requests if ( "Follow" != $inbox_type ) { die(); } // Get the parameters $inbox_id = $inbox_message["id"]; $inbox_actor = $inbox_message["actor"]; $inbox_host = parse_url( $inbox_actor, PHP_URL_HOST ); // Does this account have any followers? if( file_exists( "followers.json" ) ) { $followers_file = file_get_contents( "followers.json" ); $followers_json = json_decode( $followers_file, true ); } else { $followers_json = array(); } // Add user to list. Don't care about duplicate users, server is what's important $followers_json[$inbox_host]["users"][] = $inbox_actor; // Save the new followers file file_put_contents( "followers.json", print_r( json_encode( $followers_json ), true ) ); // Response Message ID // This isn't used for anything important so could just be a random number $guid = uuid(); // Create the Accept message $message = [ "@context" => "https://www.w3.org/ns/activitystreams", "id" => "https://{$server}/{$guid}", "type" => "Accept", "actor" => "https://{$server}/{$username}", "object" => [ "@context" => "https://www.w3.org/ns/activitystreams", "id" => $inbox_id, "type" => $inbox_type, "actor" => $inbox_actor, "object" => "https://{$server}/{$username}", ] ]; // The Accept is sent to the server of the user who requested the follow // TODO: The path doesn't *always* end with/inbox $host = $inbox_host; $path = parse_url( $inbox_actor, PHP_URL_PATH ) . "/inbox"; // Get the signed headers $headers = generate_signed_headers( $message, $host, $path ); // Specify the URL of the remote server's inbox // TODO: The path doesn't *always* end with /inbox $remoteServerUrl = $inbox_actor . "/inbox"; // POST the message and header to the requester's inbox $ch = curl_init( $remoteServerUrl ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($message) ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); $response = curl_exec( $ch ); // Check for errors if( curl_errno( $ch ) ) { file_put_contents( "error.txt", curl_error( $ch ) ); } curl_close($ch); die(); }

UUID


Every message sent should have a unique ID. This can be anything you like. Some servers use a random number.I prefer a date-sortable string.
PHP function uuid() { return sprintf( "%08x-%04x-%04x-%04x-%012x", time(), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffffffffffff) ); }

Signing Headers


Every message that your server sends needs to be cryptographically signed with your Private Key.This is a complicated process. Please read "How to make friends and verify requests" for more information.
PHP function generate_signed_headers( $message, $host, $path ) { global $server, $username, $key_private; // Encode the message to JSON $message_json = json_encode( $message ); // Location of the Public Key $keyId = "https://{$server}/{$username}#main-key"; // Generate signing variables $hash = hash( "sha256", $message_json, true ); $digest = base64_encode( $hash ); $date = date( "D, d M Y H:i:s \G\M\T" ); // Get the Private Key $signer = openssl_get_privatekey( $key_private ); // Sign the path, host, date, and digest $stringToSign = "(request-target): post $path\nhost: $host\ndate: $date\ndigest: SHA-256=$digest"; // The signing function returns the variable $signature // php.net/manual/en/function.ope… openssl_sign( $stringToSign, $signature, $signer, OPENSSL_ALGO_SHA256 ); // Encode the signature $signature_b64 = base64_encode( $signature ); // Full signature header $signature_header = 'keyId="' . $keyId . '",algorithm="rsa-sha256",headers="(request-target) host date digest",signature="' . $signature_b64 . '"'; // Header for POST reply $headers = array( "Host: {$host}", "Date: {$date}", "Digest: SHA-256={$digest}", "Signature: {$signature_header}", "Content-Type: application/activity+json", "Accept: application/activity+json", ); return $headers; }

User Interface for Writing


This creates a basic HTML form. Type in your message and your password. It then POSTs the data to the /send endpoint.
PHP function write() { // Display an HTML form for the user to enter a message.echo <<< HTML<![url=https://mastodon.social/users/doctype]Aleks Dorohovich[/url] html><html lang="en-GB"> <head> <meta charset="UTF-8"> <title>Send Message</title> <style> *{font-family:sans-serif;font-size:1.1em;} </style> </head> <body> <form action="/send" method="post" enctype="multipart/form-data"> <label for="content">Your message:</label><br> <textarea id="content" name="content" rows="5" cols="32"></textarea><br> <label for="password">Password</label><br> <input type="password" name="password" id="password" size="32"><br> <input type="submit" value="Post Message"> </form> </body></html>HTML; die(); }

Send Endpoint


This takes the submitted message and checks the password is correct.It reads the followers.json file and sends the message to every server that is following this account.
PHP function send() { global $password, $server, $username, $key_private; // Does the posted password match the stored password? if( $password != $_POST["password"] ) { die(); } // Get the posted content $content = $_POST["content"]; // Current time - ISO8601 $timestamp = date( "c" ); // Outgoing Message ID $guid = uuid(); // Construct the Note // contentMap is used to prevent unnecessary "translate this post" pop ups // hardcoded to English $note = [ "@context" => array( "https://www.w3.org/ns/activitystreams" ), "id" => "https://{$server}/posts/{$guid}.json", "type" => "Note", "published" => $timestamp, "attributedTo" => "https://{$server}/{$username}", "content" => $content, "contentMap" => ["en" => $content], "to" => ["https://www.w3.org/ns/activitystreams#Public"] ]; // Construct the Message $message = [ "@context" => "https://www.w3.org/ns/activitystreams", "id" => "https://{$server}/posts/{$guid}.json", "type" => "Create", "actor" => "https://{$server}/{$username}", "to" => [ "https://www.w3.org/ns/activitystreams#Public" ], "cc" => [ "https://{$server}/followers" ], "object" => $note ]; // Create the context for the permalink $note = [ "@context" => "https://www.w3.org/ns/activitystreams", ...$note ]; // Save the permalink $note_json = json_encode( $note ); // Check for posts/ directory and create it if( ! is_dir( "posts" ) ) { mkdir( "posts"); } file_put_contents( "posts/{$guid}.json", print_r( $note_json, true ) ); // Read existing users and get their hosts $followers_file = file_get_contents( "followers.json" ); $followers_json = json_decode( $followers_file, true ); $hosts = array_keys( $followers_json ); // Prepare to use the multiple cURL handle $mh = curl_multi_init(); // Loop through all the severs of the followers // Each server needs its own cURL handle // Each POST to an inbox needs to be signed separately foreach ( $hosts as $host ) { $path = "/inbox"; // Get the signed headers $headers = generate_signed_headers( $message, $host, $path ); // Specify the URL of the remote server $remoteServerUrl = "https://{$host}{$path}"; // POST the message and header to the requester's inbox $ch = curl_init( $remoteServerUrl ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($message) ); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); // Add the handle to the multi-handle curl_multi_add_handle( $mh, $ch ); } // Execute the multi-handle do { $status = curl_multi_exec( $mh, $active ); if ( $active ) { curl_multi_select( $mh ); } } while ( $active && $status == CURLM_OK ); // Close the multi-handle curl_multi_close( $mh ); // Render the JSON so the user can see the POST has worked header( "Location: https://{$server}/posts/{$guid}.json" ); die(); }

Next Steps


This is not intended to be used in production. Ever. But if you would like to contribute more simple examples of how the protocol works, please come and play on GitLab.

You can follow the test user @[url=https://example.viii.fi/example]example@example.viii.fi[/url]

#activitypub #mastodon #php


reshared this

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Big tech thrives on division. Mastodon thrives with you.

Here, you’ll find local journalists 📰, libraries 📚, and grassroots movements, all sharing space on their own terms. Stand with us for a social web that amplifies voices, not outrage.

Support us to keep Mastodon community-powered. ​Donate #SupportMastodon

joinmastodon.org/sponsors#dona…

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Bonfire isn’t easy to pin down, and that’s the point! We seek to enable a tapestry of social spaces, all built from shared building blocks but diverging in flavour, practice, and purpose.

We gathered a whole collection of answers from across the fediverse:
👉 bonfirenetworks.org/posts/what…

Want to help shape what comes next? Support and share the crowdfunding to join install parties, co-design sessions, and more:
👉 indiegogo.com/projects/bonfire…

#Fediverse #Plurality #OpenSocialWeb #Community

Questa voce è stata modificata (4 mesi fa)
in reply to Moved to @bonfire@bonfire.cafe

@petersuber One of the "app flavours" also has its own website, since flavours aren't just apps but also intended to be projects that have autonomous governance: openscience.network/
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

We're happy to be in good company with other non-profits we admire, to work with WE AID to accept donations. blog.joinmastodon.org/2025/11/…
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

#UnplugTrump : 30 conseils pour se libérer numériquement de Trump et des GAFAM: kuketz-blog.de/unplugtrump-fre…

2 artistes allemandes se sont inspirés de la série #UnplugTrump pour composer une chanson punk rock impertinente: pekrieger.de/unplugtrump/
Écoutez-la, partagez-la et chantez-la 😀

#LogicielsLibres #NoGafam #Fediverse #PunkRock #Mastodon

@goofy
@casilli
@Framasoft
@eyssette
@cyrille
@alainmi11
@framaka
@Khrys
@kuketzblog
@Pe

Un anno nel Fediverso: la calma che ti cambia la testa. Il post di @Michela

E no, il Fediverso non è povero di contenuti.

È che, quando smetti di essere schiava degli algoritmi, ti accorgi che l’80% della roba mainstream è solo rumore dopaminico.
Rapido, inutile, martellante.

Su PixelFed, invece, quasi tutto merita almeno un rallentamento, uno sguardo vero.
È una sensazione precisa:
uscire da una distopia sociale senza neppure accorgersi di esserci vissuti dentro per anni.

michiyospace.altervista.org/un…

Per avere altri aggiornamenti sul Fediverso, segui il gruppo @Che succede nel Fediverso?

reshared this

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Continuano ad arrivare nuovi particolari rispetto all'origine del pianete che - tramite una terribile collisione con la Terra, quando era molto giovane - diede luogo alla nostra Luna. Pare accertato ora che Teiha, il pianeta che ci è spudoratamente venuto addosso, provenisse dalle regioni interne del Sistema Solare.

Meno male che il quadro che ho delineato nel libro E tu Luna pubblicato a maggio viene ulteriormente confermato!

Ho scritto di come si è formata la Luna, ma anche di come ci siamo arrivati. E della musica, dei film, che gli abbiamo dedicato. Perché la Luna non smette di attrarci, di incantarci. Lo farà sempre, fino alla fine.

media.inaf.it/2025/11/24/regio…

#etuluna #luna #libri #astrocaffe

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Le piattaforme centralizzate piegano le conversazioni ai loro interessi.
Qui no.

#Mastodon rimette il controllo nelle tue mani.
Connessioni autentiche, comunità che decidono le proprie regole e una voce che non è in vendita.

Se vuoi un internet più libero, sicuro e indipendente, dai forza ai server, agli strumenti e alle comunità che rendono tutto questo possibile.

💛 Per Sostenere Mastodon.uno:
👉 liberapay.com/mastodonitalia

🌟 E seguici anche nel gruppo del fediverso italiano: @fediverso

Questa voce è stata modificata (4 mesi fa)
Unknown parent

chuckya - Collegamento all'originale

Altbot

Immagine di un disegno animato di un personaggio che sembra un cane con un binocolo e una palla galleggiante nello spazio.
Il personaggio è di colore marrone e sembra puntare un binocolo verso una palla verde brillante circondata da un anello e circondata da raggi di luce bianchi. Lo sfondo è blu scuro e contiene diversi pianeti rossi e blu. Il personaggio sembra essere posizionato in uno spazio vorticoso con forme nere curve che circondano il corpo. Non c'è testo nell'immagine.

Alt-text: Un personaggio di cane marrone con un binocolo guarda una palla verde circondata da un anello e raggi di luce in uno spazio blu scuro con pianeti rossi e blu. Il personaggio si trova in un ambiente vorticoso con forme nere curve. L'immagine è un cartone animato. Non c'è testo visibile nell'immagine.

Fornito da @altbot, generato localmente e privatamente utilizzando Gemma3:27b

🌱 Energia utilizzata: 0.149 Wh

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Centralised platforms shape the conversation to serve their interests.

Mastodon returns power to you. Here connections are authentic, communities set their own rules, and your voice isn’t for sale.

Help to power the servers, tools, and communities making Mastodon a safe, independent home for free expression. ​

Donate #SupportMastodon

joinmastodon.org/sponsors#dona…

Questa voce è stata modificata (4 mesi fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Come ogni anno Framasoft lancia la sua campagna di autofinanziamento:

framablog.org/2025/11/18/renfo…
chiedendo il nostro aiuto ed elencando i nuovi servizi liberi (date un'occhiata a Framatoolbox!) e i miglioramenti a quelli già esistenti realizzati durante l'anno.

Nell'ALT dell'immagine la traduzione italiana dell'incipit dell'articolo

#Framasoft #SoftwareLibero #BeniComuni #AlternativeDigitali #condivisione

@maupao
@scuola
@informapirata
@lealternative
@opensource @devol
@Framasoft

in reply to maupao

Ho visto che la pagina di Omnitools (omnitools.framatoolbox.org/) è in diverse lingue ma non in italiano, possiamo dare un'occhiata?

Per la traduzione usano un programma che non ho mai sentito nominare:locize.app/register
#traduzioni #Framasoft

reshared this

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

This is “The Mork & Mindy House” that was used in the 70’s comedy that launched Robin Williams’ career.

No visit to Boulder is complete without a walk past this icon. But the sign out front says that actual, living humans live there, so don’t be a jerk and let them live out their best na-noo na-noo’s in peace.

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

We're building something for the Fediverse. #Holos

ActivityPub running on your phone. Your own server, your data stored locally. A relay handles your stable identity when you're offline.

One account, all formats. Short text, long articles, photos, videos. The UI adapts to your mood. Switch between text mode, photo grid, video feed, article editor based on what you feel like sharing.

Same network, same followers.

Early stages, but the foundation is solid. We wanted to share the progress.

in reply to Fedilab Apps

Very exciting, will look forward to follow development updates at @HolosSocial.

This could dramatically lower the bar for owning your data, and for "self hosting" right in your pocket. It also raises the question of how end user friendly the relay server will be.

Are we talking a one-click install on commodity servers à la Wordpress, or something more involved like using Docker on a VPS? That will make a big difference in audience and adoption.

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

My #ActivityPub developer guide moved to another repository: codeberg.org/silverpill/ap-nex…

It started as a FEP, but has evolved into something bigger.

About the repository:

As stated in the readme, ActivityPub Next is a project dedicated to evolving the ActivityPub protocol.

Currently it only contains the developer guide, but I think that more content will be added over time.

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Today marks a significant moment in the life of the Fediverse. Leadership of Mastodon is transitioning from Eugen Rochko @Gargron to Felix Hlatky @mellifluousbox who steps into the role of Executive Director.

Eugen’s contribution to the web cannot be overstated. His vision, persistence, and commitment built the foundation so many of us now stand on — including thousands of independent communities committed to better social spaces.

in reply to IFTAS

Passing that responsibility on is never easy, and it speaks to Eugen's trust in the future of this movement.

I’ve known Felix for some time. We’ve sat together, talked at length, and I’ve always been struck by his thoughtful, principled approach. His belief in non-profit models, in strong trust and safety foundations, and in community-led governance is exactly what this moment calls for.

IFTAS looks forward to working alongside him and the Mastodon team as this next chapter begins.

in reply to IFTAS

IFTAS remains focussed on supporting the volunteers, moderators, community managers and admins who make the Fediverse possible.

This transition is not a change of direction, but is a moment of renewed alignment, one where the infrastructure, culture, and values of decentralised social can continue to grow with care, transparency, and accountability.

To the Fediverse: messy, resilient, decentralised, and ours. May it always remain a place shaped by the people who care enough to show up.

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Hey everyone, we have some pretty big news to share. You might remember that we announced a big restructuring for the Mastodon team earlier this year. Today marks an important milestone in this transition.

#Mastodon #Fediverse #SocialWeb

in reply to Mastodon

Our Founder, @Gargron is stepping down from his position as CEO. He shared a reflection on his time building and growing Mastodon on our blog.

We want to take a moment to express the Mastodon team’s deep gratitude and admiration for Eugen, and for the technology and community he has built here. We’re thrilled he’s staying on in an advisory capacity.

blog.joinmastodon.org/2025/11/…

in reply to Mastodon

We’re also looking ahead to what comes next. In another blog post published today, we introduced Mastodon’s new leadership team. Our Executive Director is @mellifluousbox (formerly, CFO of Mastodon gGmbH), who has already represented Mastodon on international stages.

We also shared an organisational update, and a fundraising update, in that blog post.

blog.joinmastodon.org/2025/11/…

Questa voce è stata modificata (4 mesi fa)

reshared this

in reply to Mastodon

This important milestone also marks the beginning of a new era of community governance and collaborative decision-making for Mastodon. Now more than ever, we need to work together to build safe and resilient social spaces. We must build information networks that are resistant to billionaire control and surveillance. It will take all of us working together to do that.

So please consider joining our mission; we have a lot of work to do.

joinmastodon.org/sponsors#dona…

reshared this

in reply to Mastodon

What does this community governance look like? Is it purely "input" and is your "executive" pulling the strings or is the community the one that makes ultimate decisions on the direction the app is moderated and created? Is there a reformation of the values you want to create within the management of development you want to announce or is the direct control of the main contributors without listening to external feedback going to continue? There is whole articles written about criticism of your internal structures, and this addresses exactly 0 of them, now I hope that is because this announcement is sudden and unprepared but I won't hold my breath on that matter.
in reply to Mastodon

The media in this post is not displayed to visitors. To view it, please go to the original post.

Good morning, mastodontes!
@Mastodon @mellifluousbox

Can you tell me how I can suggest a #Mastodon app to the joinmastodon website?
Specifically, the #Raccoon app also works with Mastodon 🙏

play.google.com/store/apps/det…

in reply to Mastodon

@Gargron Thank you for your year long effort in creating my daily news source and my safe haven from algorithms that fuel anger for profit 😁 Mastodon has grown to be such a wonderful place, it's now my only social media platform, and the only platform I would call social 😀 All that thanks to your giant effort among lots of other peoples effort. I'm looking forward to the next steps and hope you will find joy in your new live without this position 😀
in reply to Mastodon

@Gargron

Over an entire decade, these tiny things chip away at you slowly. Some things chip faster. I steer clear of showing vulnerability online, but there was a particularly bad interaction with a user last summer that made me realise that I need to take a step back and find a healthier relationship with the project, ultimately serving as the impetus to begin this restructuring process.


I gave up the CEO-ship of the company I founded 25 years ago.

Looking back, it was one of my better decisions for me and for the organization.

It is very difficult to explain the strain of such an exposed position to anyone who hasn't experienced it him/herself.

Gargron does a better job of explaining that strain than I could at the time.

in reply to Mastodon

@Gargron Thanks for everything you have done! Also, thanks for creating a vibrant decentralized social network whose existence has impacted the world for the better!

National leaders & CEO’s of conglomerates have taken notice of Mastodon, & have begun to embrace the Fediverse as a realistic alternative to social media.

Blessings & best of luck on your next journey Eugen!

in reply to Mastodon

Well done @Gargron for everything you've achieved in the last decade! Your principles set you far above certain others in the social media space and I really appreciate your integrity and drive. It's a good decision to change roles and I'm optimistic about the future of Mastodon with you still around for guidance. I hope you take this opportunity for some well-deserved rest and recreation.
in reply to Mastodon

@Gargron As I've said many. many posts back, you, Eugene, were and still are a star on here. You have been more than a CEO, you're still a legend. A true legend in it's maximum riddim! Hope Mastodon and the entire fediverse (as I know it previously (ActivityPub, Diaspora, etc.)) wil thrive as always! Long live the fediverse, long live Mastodon, long live Eugen, and long live John! For ever and ever, amen.
in reply to Mastodon

@Gargron And by "express deep gratitude" you mean one million euros.

heise.de/news/Mastodon-Gruende…

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

RE: mastodon.uno/@slowsurf/1155608…

Questa è l’ennesima conferma che istanze italofone ben curate sono l’ambiente ideale per farsi conoscere e crescere rapidamente: una cosa quasi impossibile sui mega-social da milioni di utenti come mastodon.social, dove si finisce dispersi nel rumore di fondo.

E soprattutto dimostra che la dimensione di #MastodonUno è ideale: né troppo grande da diventare dispersiva, né troppo piccola da risultare isolata ma una comunità viva dove ci si supporta e si cresce insieme nel @fediverso


in 20 giorni, solo cinque in più dall'ultimo traguardo segnato, ecco che siamo raddoppiati.

Sono davvero contento che la famiglia di @slowsurf 🐢 stia crescendo così rapidamente, contro ogni mia più rosea aspettative, è un segnale importante.

Sapevo che molti come me condivido preoccupazione su come viviamo il nostro rapporto quotidiano con la rete, e questi numeri lo dimostrano.

Domani condividerò una novità per festeggiare.

Nel frattempo grazie a tutti del supporto

@internet @filippodb


Questa voce è stata modificata (4 mesi fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Meet @adrigen and Lee: Buy Nothing group admins co-designing our Mutual Aid Networks stretch goal. Their video and article reveal why gifting communities need more than "Facebook groups but federated", they need infrastructure built for proximity, self-governance, and generosity.

Blog post: bonfirenetworks.org/posts/gift…

Back the campaign to unlock it: indiegogo.com/projects/bonfire…

#crowdfunding #mutualaid #buynothing

Questa voce è stata modificata (4 mesi fa)
in reply to Moved to @bonfire@bonfire.cafe

Just stumbled over this while checking in on @kissane ..

Anything new on this whole front over there on your sides of the aisle?

Not a lot of time right now to check or update on your material but I'm still, after nearly 15 years in the fedi, considering that we need to onboard NGO's and news outlets to set up their own instances and onboard their people, contacts and clients. Like that's the only sound path forward I guess.
🤷‍♀️

@bonfire @adrigen

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

We’re crowdfunding for maintenance first: the unsexy work funders usually don’t want to support. Our new post explains why care and maintenance are the foundation before we can unlock all the other stretch goals: bonfirenetworks.org/posts/matt…

We’re at 74%. Help us cross the finish line: indiegogo.com/projects/bonfire…

#crowdfunding #care

Questa voce è stata modificata (4 mesi fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

RE: mastodon.social/@anewsocial/11…

We're very excited to work with @anewsocial on bridging Bonfire with ATproto/Bluesky, to enable connecting and migrating across networks!


Last week @Bonfire launched their first release and a fundraiser for their exciting roadmap 🔥

A part of that roadmap includes teaming up with us to bring Bridgy Fed and Bounce to Bonfire users!

Learn more about our partnership in our latest blog post: blog.anew.social/bonfire-a-new…


Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🎉 100 backers! We're ~€8,000 away from our first goal of €30,000 for maintenance.

Campaign perks include a limited-run, hand screen-printed piece by Rocco Lombardi, the artist behind Bonfire's visual world. There's also a regular print for a lower price, available in more locations.

Rocco's work embodies what we care about: living worlds, connection, plurality. Our aesthetic embraces "contamination" and renewal: away from sterile platform design.

Claim yours: indiegogo.com/projects/bonfire…

Questa voce è stata modificata (4 mesi fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

RE: mastodon.social/@MastodonEngin…

The latest engineering (and whole team) update is here 👀


We've posted #TrunkAndTidbits for October.

It was a busy month, with a lot of coding behind the scenes to prepare for Mastodon 4.5, events and talks, Fediforum and our thoughts on packs, and some merch news. Have a read!

blog.joinmastodon.org/2025/11/…


Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

"Wielded well, the master’s tools can maybe be used to smash a few deserving walls [...] But like patient little demons, those tools carry inside them the spirit of their making. They twist in our hands in our moment of need and leave us blistered and bleeding. By serving the needs of the people who made them, they resist the greater work.

We need better tech. We need it to be made in better ways and for better uses, and above all, in and for communities."

wrecka.ge/sparks-fly-up/

By @kissane

reshared this

in reply to Moved to @bonfire@bonfire.cafe

Amazing read indeed! It summarizes so beautifully and thoughtfully my feelings about the Fediverse in general and Bonfire in particular, evidencing the direct link between tech, politics and democracy.

It shows the many reasons why I am so happy and honored to be one of these scholars in activity who have been included in the conception of the open science flavour of Bonfire.

Thank you for the writing, @kissane

Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🔥 Day 1 was incredible! Thank you to everyone who backed the campaign.
We’re just €10K from our maintenance goal: the foundation that keeps everything running.
Once we achieve it, we’ll shift into stretch goals co-designed with communities and teams: moderation tools, encryption, mutual aid networks, cooperative hosting, native apps, and more…
Help us get there: indiegogo.com/en/projects/bonf…
in reply to Moved to @bonfire@bonfire.cafe

About the encryption: are you aware of the stuff @soatok is working on? E.g furry.engineer/@soatok/1155132…
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Complimenti a @macfranc per la continua crescita di questa piccola istanza.
Questa voce è stata modificata (4 mesi fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

While at #sfscon we took the occasion to visit spazio77 resistenzeincirenaica.com/spaz… an anti-fascist space in Bolzano involved in many cool projects in the region.
Worth a visit !
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

Alla scoperta del Fediverso


The media in this post is not displayed to visitors. To view it, please go to the original post.

Fediverso: è la galassia di servizi alternativi ai social media a cui siamo abituati da anni; vedremo che un alternativa etica esiste e si può usare, con un piccolo sforzo. E che spesso è migliore sotto tanti punti di vista. Sul sito di LinuxTrent trovate copia della presentazione, dettagli e link utili.

Con questo incontro, martedì 10 giugno 2025, si è conclusa la serie di 3 incontri che negli ultimi mesi hanno animato lo sportello Linux presso la Biblioteca civica di Rovereto.

Questa voce è stata modificata (1 mese fa)
Poliverso - notizie dal Fediverso ⁂ ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Bonfire Social 1.0 is live! A federated, community‑first social network built on the modular Bonfire toolkit, and it’s only the beginning.

It's time to go beyond microblogging and build apps for community organising, open science, mutual aid, and collective decision‑making. Let's take back the internet with open protocols, consent‑based governance, and portability by design.

Back the “last migration” from closed platforms to open networks: indiegogo.com/projects/bonfire…

1/2

Questa voce è stata modificata (4 mesi fa)
in reply to nSonic

both bonfire social and openscience.network are built on bonfire, they address different needs and have different features and UX. We are now working with communities that needs tools for organising and coordinating (events, decision making, mutual aid, etc) which will result in new extensions that everyone will be able to install and use in their own bonfire app. We're not competing or building a mastodon alternative, we're building tools for communities in the open social web...
Questa voce è stata modificata (4 mesi fa)