microhive.social is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
What should happen if an #ActivityPub Like activity uses direct addressing (no as:Public)? It seems the intent is that you want to send a "private" Like notification to the activity recipients. Should the public like count be incremented or not as a side-effect? If not, Like counts would be dependent on the authorization of the actor fetching an AP object. I hope ActivityPub 2.0 has better authorization guidance.
Hi @mikedev,
as you implemented #RFC9421 you may know - which servers in the wild use it?
#Activitypub #Http Request #Signing
I built a parser for #RFC9651 yesterday and am curious to look at other implementations/code as well. Mine so far: https://codeberg.org/mro/seppo/src/commit/a3af8ebc/test/t_angstrom.ml#L149
Would love to discuss it.
Hashtag following also allow URLs to RSS feeds of ActivityPub objects (like e.g. https://mastodon.social/tags/ThankYouTuesday).
Users can now configure a webhook to receive an HTTP POST for every notification. This can be useful for implementing bots that react to activities, like autorepliers, chatbots or interactive textual games (see snac(1)
for more information).
The number of pending follow confirmations is shown next to the "people" link.
Faster performance metrics (contributed by dandelions).
Improved lowercasing in hashtags (contributed by postscriptum).
A search-by-url tweak for implementations that return 200 for invalid webfinger queries (e.g. piefed).
Mastodon API: added follow confirmation endpoints, fixed collisions in attachment file names.
Fixed potential crashes in attachment uploads.
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
#Oni the single user ActivityPub server, is getting some improvements on directly running it out of the box without requiring any set-up steps.
It is now available on the first run and every modification can be done afterwards using client to server #ActivityPub calls. Yay!
Reminder that there is a demo instance up, and running my sporadic blog: @marius
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
Added Webmention support for links (Markdown-style or direct) written in a post.
Added new command-line options for list maintenance.
Display custom emoji in more places (contributed by dandelions).
Mastodon API: fixed infinite scroll in many clients (thanks to cheeaun for giving me the clue), added /api/v1/accounts/.../lists
endpoint (contributed by dandelions).
Email notifications can now be sent via libcurl
SMTP instead of spawning the /usr/sbin/sendmail
program. To use this new feature, some additional server configuration is needed, see snac(8)
(contributed by shtrophic).
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
A reply to a followers-only post should be addressed to the OP and the OP's followers, not to the replier's followers. #ActivityPub
Added support for scheduled posts (for this to work correctly, users will have to set their time zone, see below).
The user can now select a working time zone. This will be used to correctly parse the local date and time of a scheduled post.
Fixed incorrect poll vote format, which was causing problems in platforms like GotoSocial.
Mastodon API: added support for /api/v1/instance/peers
.
Added a new snac-admin
helper script (contributed by shtrophic).
In the web UI, posts are separated by the <hr hidden>
tag; it's invisible in graphical browsers, but it separates post clearly in text-based browsers.
Some Finnish, Spanish, Czech and Russian translation updates and fixes.
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
This release has been inspired by the song Pictures on the Wall by #MichelleGurevich.
What is the standard method of specifying primary language of a post in #ActivityPub?
Mastodon and Hollo add contentMap.[languageCode]
to object. But Pleroma and Misskey don't.
And what if there are multiple keys in contentMap
?
Added Spanish (default, Argentina and Uruguay) translation (contributed by gnemmi).
Added Czech translation (contributed by pmjv).
Added Brazilian Portuguese translation (contributed by daltux).
Added Finnish translation (contributed by inz).
Added French translation (contributed by Popolon).
Added Russian translation (contributed by sn4il).
Added Chinese translation (contributed by mistivia).
Added German translation (contributed by zen and Menel).
Added Greek translation (contributed by uhuru).
Added Italian translation (contributed by anzu).
Mastodon API: added support for /api/v1/custom_emojis (contributed by violette).
Improved Undo+Follow logic (contributed by rozenglass).
Reverted (temporarily) the Markdown code that converted text between underscores to italics, because it was causing more problems that what it was worth.
Fixed bug in bookmark CSV import.
Don't indent Twitter-like "threads" (i.e. chains of short posts from the same author that are self-replies).
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
You, people, are GREAT. Thank you very much.
Added support for customizing and translating the web UI language via simple .po
files. For more information on how to install language files or create new ones, please see snac(8)
(the administrator manual).
New user support for blocking hashtags from the web UI.
The Content-Security-Policy
HTTP header is now always sent to disable any JavaScript, instead of just being suggested in the documentation.
Image attachments in SVG format are now disabled by default; you can enable them back by setting the enable_svg
value to true
in server.json
.
Several fixes (contributed by inz).
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
Each post can have more than one attachment from the web UI. The maximum number can be configured in server.json
via the max_attachments
value (default: 4).
Each notification includes a link labelled Context
, that leads to a page with the full conversation tree the post is a part of.
Each followed hashtag has now a directly accesible link.
Fixed a search bug (some matches were missed).
Fixed more crashes (contributed by inz).
Fixed link detection in posts (contributed by inz).
Allow multiple editors for command-line posts (contributed by inz).
Separated maximum and default timeline entry count, allowing larger timelines to be requested without having to increase the default (contributed by lxo).
Turned message date into a link to the local post, so that it can be loaded into a separate tab for interacting with (contributed by lxo).
Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the song Songe d'un ange by #KyrieKristmanson and #BrendanPerry.
Fixed memory leak (contributed by inz).
Fixed crash.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
All those seeds I planted over the years are sprouting 🌱
FediDB.org, Fediverse.info and PubKit.net are going to play a huge part in our roadmap for 2025!
We're so proud of our progress, and being able to give back to our fediverse community 🌻
Loops mobile app source code:
https://github.com/joinloops/loops-app
The rest will be pushed shortly, just preparing a new TestFlight build ✨
Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post ad nauseam for every reaction).
New command-line option unmute
to, well, no-longer-mute an actor.
The private timeline now includes an approximate mark between new posts and "already seen" ones.
Fixed a spurious 404 error in the instance root URL for some configurations.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the song The Answers to the Questions by #Christabell and #DavidLynch.
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
Added support for subscribing to LitePub (Pleroma-style) Fediverse Relays like e.g. https://fedi-relay.gyptazy.com to improve federation. See snac(8)
(the Administrator Manual) for more information on how to use this feature.
Added support for following hashtags. This is only useful if your instance is subscribed to relays (see above).
Added support for a Mastodon-like /authorize_interaction
webpoint entry, that allows following, liking and boosting from another account's Mastodon public web interface. To be able to use it, you must reconfigure your https proxy to redirect /authorize_interaction
to snac (see snac(8)
).
Some fixes to accept Event
objects properly (like those coming from implementations like https://gancio.org/ or https://mobilizon.fr).
Added some caching for local Actor
objects.
Hashtags that are not explicitly linked in a post's content are shown below it.
Fixed broken NetBSD build (missing dependency in Makefile.NetBSD).
The user profile can now include longitude and latitude data for your current location.
Mastodon API: implemented limit= on notification fetches (contributed by nowster), implemented faster min_id handling (contributed by nowster), obey the quiet public visibility set for posts, other timeline improvements (contributed by nowster).
Reduced RSA key size for new users from 4096 to 2048. This will be friendlier to smaller machines, and everybody else out there is using 2048.
If the SNAC_BASEDIR
environment variable is defined and set to the base directory of your installation, you don't have to include the base directory in the command line.
Fixed a bug in the generation of the top page (contributed by an-im-dugud).
Added support for Markdown headers and underlining (contributed by an-im-dugud).
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the song Nine Hundred Miles by #BarbaraDane.
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
Labeler - a self hostable, MRF inspired labeler service for ActivityPub
Create, or subscribe to 3rd party labeler servers you or your friends manage, and take advantage of a rich filter schema to define rules and actions to apply to incoming activities.
Loops will be the first service to support this new Pixelfed labs project ✨
Fixed regression in link verification code (contributed by nowster).
Added ipv6 support for the https frontend connection (contributed by hb9hnt).
New "Like by URL" operation (contributed by dheadshot).
Added support for a Mastodon-like /share
link sharing URL, like the one provided by sites like https://mastodonshare.com/ and such. To be able to use it, you must reconfigure your https proxy to redirect /share
to snac (see snac(8)
).
New linux landlock (sandboxing) support for enhanced security (contributed by shtrophic). It's still a bit experimental, so you have to enable it explicitly by recompiling with the WITH_LINUX_SANDBOX directive (e.g. make CFLAGS=-DWITH_LINUX_SANDBOX
).
Some search fixes regarding repeated matches.
The export_csv
cmdline operation now exports the CSV files inside a user's export/
subdirectory instead of the current directory.
All CSV files to be imported must now be stored inside a user's import/
subdirectory instead of the current directory.
Mastodon API: more timeline paging tunings (contributed by nowster), post language selected in apps is properly set.
The command-line operation note
new reads the LANG
environment variable to set the post's language.
A new command-line operation, note_unlisted
, allows posting "unlisted" or "quiet public" posts.
The maximum number of entries in users' RSS feeds and in outboxes can now be set via the max_public_entries
variable in the server.json
file.
Fixed broken support for Audio
objects.
Made xmpp and mailto URLs clickable.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the painting Judith Slaying Holofernes by #ArtemisiaGentileschi.
"FediMeteo brings real-time weather updates to the Fediverse, covering cities across Austria, Belgium, Finland, France, Germany, Hungary, Ireland, Italy, Latvia, Netherlands, Poland, Portugal, Spain, Switzerland and the United Kingdom (with more regions coming soon!).
Using the power of #ActivityPub and the simplicity of #snac, FediMeteo posts accurate forecasts and updates directly to your favorite social platform. "
I've heard back from 4 different fediverse platforms that are interested in collaborating with Loops, and still waiting on a few others!
I'm organizing a client API spec for Loops with @vidzy so we can leverage our vibrant ecosystem to allow users to pick the best client and backend, regardless of project ✨
Pretty amazing what's possible with #activityPub and collaboration, eh 🚀
My new laravel-activitypub library is really coming along, and I will be using it for Loops and eventually Pixelfed.
It leverages a lot of Laravel magic to handle many aspects of federation, you simply have to map a few models and attributes in the config file, and it will work with new and existing laravel projects!
Just imagine adding ActivityPub support to your app, while only writing less than 10 lines of code.
It's Magic ✨
1) composer require dansup/laravel-activitypub
2) edit config/activitypub.php
3) your laravel app now has ActivityPub support, and all you did was map some activities to your existing data ;)
Available soon. https://github.com/dansup/laravel-activitypub