taquiones.net 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.
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
The BSD Cafe #snac instance has been updated to 2.73
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/
#FediMeteo #Fediverse #FreeBSD #RunBSD #Hosting #ITNotes #Networking #NoteHUB #Server #Snac #Snac2 #Social #Web
So, basically the platform you stopped to use increased the incoming traffic and even makes the half of the "Mastodon" traffic in the last days? Doesn't this show how important this source is and how much potential there still is?
Next, I'm wondering why "Mastodon" is defined as "Mastodon". #Mastodon is one of multiple solutions in the #Fediverse and I'm more than pretty sure that many people are not using Mastodon, rather than #snac / #snac2, #GoToSocial,... It's like setting "Internet Explorer" as a synonym for browsers.
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!
job fifo size (cur): 655This number is decreasing over some minutes after I made a post,
job fifo size (peak): 1291
thread #0 state: waiting
thread #1 state: output
thread #2 state: output
thread #3 state: output
I guess if I post a picture that might then happen and all workers will be busy? Maybe even too busy to keep up?
Is that assumption about how the waiting worker and what it is for correct?
If yes I guess I'll increase the threads, if they are intentional low for low ram systems, that's not my issue with snac. (I've not much ram, but I assume snac is by default tuned to be very very very conservative?)
(adding Pic to simultaneously test my theory)
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:
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.
De la mano del muchache creador de #snac, y su inagotable optimismo con el amor y la vida, nos llega ahora una instancia #activitypub para saber si llega o no llega el meteorito de las narices.
WebP is pretty close, though, and I'm glad that #GtS supports it natively.
Last I checked, #Mastodon supports uploading WebP, but then just converts it to a JPEG internally. #Ermagherd. XD
Neither of them support AVIF at all. I don't know about #snac and #honk, though.
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.
Snac supports regex, but now The Question:
how do I know in what form the Regex is expected in my filter_reject.txt?
I want to block a Hashtag case insenitive/#WhatIBlock/i
or (?i)#WhatIBlock
or maybe something else? It Seems the web is full of different ways to specify regex.
https://it-notes.dragas.net/2025/02/08/caching-snac-proxied-media-with-nginx/
#Data #Fediverse #Hosting #ITNotes #Networking #Nginx #NoteHUB #Ownyourdata #Server #Snac #Snac2 #Social #Tipsandtricks #Tutorial #Web
- link to the local copy of a message, from the date, so that one can open it in a separate tab and interact with it without messing with the currently-loaded page
- enable the maximum (explicitly requested) timeline entries count to be bumped up while still showing a small default timeline entries count
I've never done any caching etc before so it was a nice adventure to learn something new. The documentation helped and in the end it wasn't very hard. I learned a bit about some http headers and regex on the way too.
Basically it works like this:
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)
Then add to the snac virtualhost config:
CacheRoot /var/cache/apache2/mod_cache_diskThis will use the disk cache to cache everything under the /s/ Path, same as the original ngnix tutorial, Utilizing the mod_expires to generate the appropriate cache headers (for lazy ones like me), In this case caching it for 30 days.
CacheQuickHandler off
CacheLock on
#Optional while testing stuff;
CacheDetailHeader on
#My Instance ist not at the root, but under "/social"; so this needs to be adapted:
<LocationMatch "^/social/[^/]+/s">
CacheEnable disk
ExpiresActive On
ExpiresDefault "access plus 30 days"
</LocationMatch>
Thanks for the initial tutorial @itnotes@snac.it-notes.dragas.net
Edit:
Oh and don't hesitate to tell me what I did stupid while setting this up, maybe in nicer words, if it is. And also I can't get the markdown Code formatting working apparently. Well. Sorry for all the edits.
#Fediverse #Hosting #ITNotes #Networking #apache2 #httpd #Ownyourdata #Server #Snac #Snac2 #Social #Tipsandtricks #Tutorial #Web #Debian
The #Fediverse is free, free of censorship, federated and full of great content!
Also the Fediverse - instance admins randomly blocking whole instances just because a single user feels offended of a post by a single instance user. Blocking whole instances is just a finger snip away, censoring unwanted content and parenting users of instances. Defederating just because of… ok no clue :) Using content warner for any possible content just to annoy or aeemmm make it more interesting to other users. Thanks, I’m old enough :) Seeing all the spam because it’s just a thing of 5 minutes automation to create randomly new instances on different domains (or subdomains from dynamic-ip hosters) and to fill the network with automated content.
Sometimes, pros can easily switch into cons… luckily more and more single user instances are raising up for exactly this reasons and can still easily federate by using relays…
#networking #activitypub #mastodon #fediverse #gotosocial #snac #snac2 #opensource #community #socialmedia #relay #abuse #moderation
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/
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.
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.
En el caso de Mastodon al parecer hay una operación llamada "share" que hace lo mismo. En #snac lo están probando ahora y, o bien la página ya tiene incluido el mecanismo de compartir como pasa con "El salto", o bien te haces con una extensión o un bookmarlet. La extensión va como va, más bien regulinchi y el bookmarlet no termino de pillarlo.
La página del salto, correspondiente a una de sus noticias, es la siguiente:
El que se puedan ver ambas estando registrado en un único servidor o instancia es parte de la "magia" de la federación. Cuando necesito ver tu cuenta mi servidor pide datos al tuyo pero filtrándolos. Yo no veo cuántos sigues o a cuantos has seguido, ni tampoco tus publicaciones. Para eso, y es por diseño de #snac, el servidor activitypub que uso, filtra lo que pueda enviarle el tuyo respecto a tu cuenta y tengo que ir a tu servidor para averiguarlo.
Otra cosa, que es lo que hace el mendrugo este, es registrar una cuenta a tu nombre en su servidor puente. Si lo hiciese yo en el mío aparecería como @sunbeam_rider@taquiones.net, que tampoco es tu identificador porque el dominio cambia pero sirve para lo que quiere, sea lo que sea eso, que servicio público no creo.
CC: @pablo@mastodon.cl @fanta@mastodon.green @CorioPsicologia@mastodon.social
Y quitando ese detalle concuerdo con Fanta en que es muy buena explicación.
Más tarde me he dado cuenta de que empleando el correo electrónico las discusiones no tienen sentido y que más allá del duelo al amanecer no merece la pena discutir con gente que se ha construido un personaje público y saca sus garbanzos de ahí. Entre eso y los palmeros, a los que el tuitstar SÍ responde por que necesita tenerles en cuenta, es difícil estar a gusto; de hecho el término "pocosfollower" es el indicativo de una época.
Pero sí que he pasado mucho tiempo allí obteniendo enlaces y enterándome de polémicas para pasar el rato y olvidar cómo estoy y quién soy así que tampoco es que lo haya dejado hasta el sábado. Una vez que tengo mi servidor en el fediverso (con #snac) tengo siempre un lugar que considero mío. Por esa parte estoy cubierto.
Ahora estoy intentando ver qué aparece en BlueSky y de momento están todos con una limpia tremenda de nazis y demás chusma que está funcionando al parecer. También cuentas estupendas que estaban permanentemente candadas en twitter ahora actúan en abierto y son una delicia de seguir. Pero el lugar sigue siendo extraño, como un barrio bajo asedio, y quiero ver dónde terminará cuando los dueños empiecen a monetizar.
Added a new user option to disable automatic follow confirmations (follow requests must be manually approved from the people page).
The search box also searches for accounts (via webfinger).
New command-line action import_list
, to import a Mastodon list in CSV format (so that Mastodon Follow Packs can be directly used).
New command-line action import_block_list
, to import a Mastodon list of accounts to be blocked in CSV format.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
Ahora, entiendo que les guste más que Twitter porque es más nuevo y huele mejor. Va a ser interesante ver qué ocurre con todos esos veteranos del pájaro mudados a otro twitter, más nuevo como digo, con toda la experiencia acumulada en años de uso del viejo twitter. Me recuerda a esas novelas cifi en las que a los humanos se les escapan por error bichos en otro entorno y cuando vuelven años más tarde aquello es terrorífico por cómo han derivado.
Cada vez estoy más contento de tener aquí mi casa, mi castillo, mi trinchera, ... Mi tumba. 🙂 (¡Toma ya!)
Mi propio servidor con #snac del que no me pueden echar más que el casero cuando deje de pagar.
The server can now act as a proxy for all image, audio or video media coming from other account's posts (both from the Web UI and the Mastodon API). This way, other servers will see media requests coming from the server IP, not the user's, improving privacy. This is controlled by setting the proxy_media
boolean field to server.json
to true.
The strict_public_timelines
option introduced in the previous release now works correctly.
Fixed a crash when posting from the links browser.
Fixed some repeated images from Lemmy posts.
Fixed a crash when posting an image from the tooot mobile app.
Updated FreeBSD rc script: the server process is now managed by the daemon(8) utility (contributed by @stefano@bsd.cafe).
RSS feeds are now in 2.0 version instead of 0.91.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/donate
This release has been inspired by the song New Moon (Dark Phase) by #DuranDuran.
disable_inbox_colllection
variable to true
in you server.json
config file.Also, some people looks at the 0 count of followers / followees and infer (incorrectly) that it's a new account and blindly block your account.
Migration from a Mastodon account to a snac one has been implemented. Please see snac(8)
(the administrator manual) for more information.
Mastodon API: fixed timelines/public
(it was showing less posts that it should).
Fixed over-zealous caching to the public timeline.
Some HTML tweaks and fixes to the web interface.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the painting The Hands Resist Him by #BillStoneham.
Migration from a Mastodon account to a snac one has been implemented. Please see snac(8)
(the administrator manual) for more information.
Mastodon API: fixed timelines/public
(it was showing less posts that it should).
Fixed over-zealous caching to the public timeline.
Some HTML tweaks and fixes to the web interface.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the painting The Hands Resist Him by #BillStoneham.
¡Toma ya! El uso de #snac ha llegado a otro nivel si una empresa lo ofrece como servicio.
CC: @Mastodon@mastodon.social @gotosocial@superseriousbusiness.org @TangerineUI@nileane.fr @phanpy@hachyderm.io
Bueno, ahora que lo pienso sí que estoy usando un algoritmo diferente y al mismo tiempo similar: el que tiene #snac (el mejor servidor activitypub de la provincia) que es FIFO pero arrastrando todo lo que está relacionado con las publicaciones y mostrándolo en hilos.
🙂
Es como todos de acuerdo en lo mismo y reacciones exageradas en cuanto alguien no piensa como nosotros: bloqueos, "silenciaciones", huídas, ...
Que lo mismo muchos de aquí vienen escaldados de twitter y están hartos de acosos y demás y quieren sitios tranquilos pero, ¿no es demasiado tranquilo?
Claro que no hay algoritmo y eso es posible que desvirtúe la visión. Yo al usar #snac como servidor veo todos los hilos siempre cargados con que siga a alguien que ha escrito algo en él. Podéis imaginar lo que alcanzo a leer al cabo del día.
¿Y si hiciese falta un algoritmo de algún tipo? Podría haber varios, como los famosos "skins" de algunos programas o el planificador de tareas de Linux. Claro que lo mismo hablo por hablar y el algoritmo tiene recursos ocultos que ni imagino y no merece la pena.
Support for custom Emojis has been added; they are no longer hardcoded, but read from the emojis.json
file at the server base directory. Also, they are no longer limited to string substitutions, but images as external URLs are also supported (see snac(8)
for more information).
Fixed a bug that caused some notifications to be lost when coming from a user in the same instance.
Added an additional check for blocked instances (sometimes, posts from blocked sites that were ancestors of legit posts were 'leaking' into the timeline).
On OpenBSD, if the disable_email_notifications
server flag is set to true
, unveil()
is not called for the execution of the /usr/sbin/sendmail
binary and pledge()
doesn't set the exec
promise.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Eternal Embers by #Meltt.
Support for custom Emojis has been added; they are no longer hardcoded, but read from the emojis.json
file at the server base directory. Also, they are no longer limited to string substitutions, but images as external URLs are also supported (see snac(8)
for more information).
Fixed a bug that caused some notifications to be lost when coming from a user in the same instance.
Added an additional check for blocked instances (sometimes, posts from blocked sites that were ancestors of legit posts were 'leaking' into the timeline).
On OpenBSD, if the disable_email_notifications
server flag is set to true
, unveil()
is not called for the execution of the /usr/sbin/sendmail
binary and pledge()
doesn't set the exec
promise.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Eternal Embers by #Meltt.
#snac es mi servidor y siempre muestra las cosas en hilos, de manera que no te pierdes de qué están hablando y aún así tampoco los veo a todos.
Debería haber un método para distribuir el contenido de otra forma pero eso suena a algoritmo y no es algo apreciado.
Ahora funciona de maravilla. El error se daba de cuando en cuando y dejaba el sistema sin respuesta. O esperaba un buen rato o reiniciaba el servicio.
Mola cuando se lo toman en serio. 🙂