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.
Pero es que es verdad!. #Mastodon andará muy lindo desde tal o cual aplicación en Android o iOS .. pero en cuanto abrís un perfil en el navegador del móvil: se arrastra!.
Es increíble la cantidad de porquería que tiene que cargar el navegador para poder acceder al contenido en ActivityPub mientras que #snac logra lo mismo con un uso mínimo de recursos! Sin cookies, sin JavaScript, sin estupideces .. solo una implementación sensata y buen código!
Gracias @grunfink@comam.es 🤗
So, please everyone, don't use #snac on an sshfs mount.
CC: @giacomo@snac.tesio.it @khm@hj.9fs.net @Velveteen@labyrinth.zone
CC: @giacomo@snac.tesio.it @khm@hj.9fs.net @Velveteen@labyrinth.zone
The #Fediverse is growing and we're welcoming more and more new single user instances but #federation can become challenging.
With #Relay instances, single user and smaller instances can quickly become federated and grow which is supported by many Fediverse applications like #snac #snac2 #Mastodon #Pleroma etc.
More information at:
https://fedi-relay.gyptazy.com
#fedi #community #fediworld #federated #opensource #fedirelay
You can also increase the logging level to 2, it may tell something more.
mod_headers
if you don't have it already):<If "%{REQUEST_URI} =~ m#^/[^/]+/(s|x|y)/.+$# || %{REQUEST_URI} =~ m#^.*\.ico$#">The last .ico part is not necessarily snac related obviously :3
Header set Cache-Control "max-age=172800, public, immutable, must-revalidate"
</If>
CC: @ploum@mamot.fr
I'll take a look at your patch. Thanks!
https://github.com/macports/macports-ports/pull/27956
3/3 of GitHub Continuous Integration checks completed successfully!
Thanks to you (and gnemmi, pmjv, daltux, inz, Popolon, sn4il, mistivia, zen, Menel, uhuru, anzu, violette, and rozenglass; hopefully I didn't miss anyone?) for the continued improvements!
As with previous PRs I have submitted, I am abstaining from commit access until I have less chaos in my life to be able to take on more responsibilities, so it's up to someone else to merge it.
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
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're welcome!
I've performed some tests, and it's great. #snac and #haproxy are working great together - now with caching of media and json responses, to scale up, and up, and up...and up!
#Varnish is the best tool for caching, but the setup I've tested doesn't require it and it's still good enough.
I think this will be a blog post, as soon as I'll have enough time.
I have it in my name field in #mastodon at nerdculture.de so it can definitely work in mastodon.if it is added at all. https://nerdculture.de/@menel
But it doesn't work with my current main profile with #snac but I love that I can add custom emojis there at all.
You, people, are GREAT. Thank you very much.
Thank you so much for this!! #snac
Release Notes
2.73
New user support for blocking hashtags from the web UI.
https://github.com/macports/macports-ports/pull/27816
3 out of 3 GitHub Continuous Integration checks passed already! (I guess whatever was slowing down that third one got resolved somehow?)
Thanks to you and inz for the continued improvements!
It's up to someone else with commit access to merge it.
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
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/
I already wrote about caching here
Now I extended what I cache a bit.
This was because after enabling Option to proxy media I've seen access to the file paths /x/ and /y/ in addition to the path were snac stores the media that I include in my own posts ( /s/ ).
There are two locations to proxy media, depending if you requests the media via the mastodonapi or via the web. (/x/ and /y/), oh and I added the nodeinfo2 path too, because I've noticed it was queried all the time by a lot of instances and it gives me pleasure to see something cached handed out in the access logs 🙂 (I guess it is actaully irrelevant for the system resources).
This is the updated setup:
Enable the relevant modules:
a2enmod expires cache cache_disk
Be sure "htcacheclean" is running to clean up old disk cache. (under debian see /etc/default/apache-htcacheclean or else the relevant systemd service or whatever)
Then add to the snac Virtualhost config:
<LocationMatch "^/social/[^/]+/[xys]/|^/social/nodeinfo_2_0">This will use the disk cache to cache everything under the /s/, /x/ and /y/ Path, as well as for /$username/nodeinfo20, utilizing the mod_expires to generate the appropriate cache headers (for lazy ones like me), In this case caching it for 1 day.
CacheEnable disk
Header set Cache-Control "max-age=86400, public" "expr=%{REQUEST_STATUS} == 200"
ExpiresActive On
ExpiresDefault "access plus 86400 seconds"
</LocationMatch>
The Header that I set here, on the condition of Status code 200, is needed for the path /y/, because snac defaults to set no-cache
on that location and the modexpires will honor that if we don't override it. I set it to the same Cache-Control value as modexpores woud. (mod_expires will additionally calculate the date and put that in the expires
header. (hence the name I guess 😀 )
#Fediverse #Hosting #ITNotes #apache2 #httpd #Ownyourdata #Server #Snac #Snac2 #Tipsandtricks #Tutorial #Debian #caching
Basically, all threads work in the same way. There are four states: stopped
, waiting
, input
or output
. It's almost impossible to see the first one, as it's only set while initializing or shutting down; input
is also seen rarely, unless the instance posting the data is specially slow. So they are usually waiting
except while in the «send storm», when they are mostly in output
mode. Anyway, even in this case, an incoming message has preference over everything, and the first available thread will serve it.
#snac sets up as many threads as cores are available, but being that the thread work is basically network I/O bound (there is very few CPU work to be done), you can increase the number of threads to twice or more the number of cores and performance will be slightly improved.
Interesting photo!
It gives a daily report of those asteroids with a reasonable probability of crashing into Earth, in case you are not already afraid enough of the future. Of course, using #snac, what else.
It takes its data from a very cool NASA site, so (again) in these days of uncertanty, I'm not sure how long will it work.
Everyone, take care, and have a great week.
https://github.com/macports/macports-ports/pull/27628
1 of 3 GitHub Continuous Integration checks has passed (which is a good sign the other two will pass as well).
I'm still avoiding commit access, so it's up to someone else to merge it.
Thanks to you, inz, lxo and anyone else I may have missed for the continued iterated improvements!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces #FediVerse
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.
https://github.com/macports/macports-ports/pull/27571
GitHub Continuous Integration checks are running, hopefully without issues? If so, then it will be up to someone else with commit access to merge it.
Thanks for your (and inz's) continued improvements to snac!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces #snacizens
Fixed memory leak (contributed by inz).
Fixed crash.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
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.
Specifically, snac respond differently to 404 and 410 HTTP status messages by not retrying, because they somewhat explicitly say that a resource is no longer available; a 403 status may be a transient error related to RSA keys not being up to date, so it's requeued, and all 5xx (server) messages are also always retried, because they are usually temporarily fallen or overwhelmed servers that deserve another oportunity.