gyptazy.ch 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.
Attachments are totally supported, being them images, video, audio, whatever. But, if you are experimenting "file too big" errors, they do not come from #snac itself (there is no enforced limit), but from your nginx / Apache / whatever web server; try reconfiguring it to allow larger POST uploads.
Event
activity type yet, but it doesn't seem too hard to add some support for it (it's the first time I find one in the wild, to be honest).CC: @mikedev@fediversity.site @streams@fediversity.site @julian@community.nodebb.org @nodebb@fosstodon.org @silverpill@mitra.social @mitra@mitra.social
@grunfink I submitted a PR to update MacPorts' snac to 2.52 here:
https://github.com/macports/macports-ports/pull/23859
GitHub Actions CI are queued, but hopefully they will complete OK?
Regardless, I don't have commit access so it will be up to someone else to merge it.
Thank you for your continued improvements and to others submitting bug fixes too!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Posts that were liked or boosted can now be unliked and unboosted.
Outgoing message timeouts are no longer hardcoded and can be configured (see snac(8)
for more information).
Fixed a bug that caused some incorrect unfollows under special conditions (with shared inboxes enabled and users from the same instance that follow each other, the internal message distributor was confused).
Mastodon API: Added support for lists.
Added a header to avoid over-zealous caching in some browsers (contributed by louis77).
Added support for running and federating inside hidden networks like Tor, I2P or Loki (contributed by iwojima).
Fixed an error processing polls coming from Pleroma instances.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Usage tips: Use social media as little as possible. Go for a walk. Meet with friends. Read a good book.
Posts that were liked or boosted can now be unliked and unboosted.
Outgoing message timeouts are no longer hardcoded and can be configured (see snac(8)
for more information).
Fixed a bug that caused some incorrect unfollows under special conditions (with shared inboxes enabled and users from the same instance that follow each other, the internal message distributor was confused).
Mastodon API: Added support for lists.
Added a header to avoid over-zealous caching in some browsers (contributed by louis77).
Added support for running and federating inside hidden networks like Tor, I2P or Loki (contributed by iwojima).
Fixed an error processing polls coming from Pleroma instances.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Usage tips: Use social media as little as possible. Go for a walk. Meet with friends. Read a good book.
After trying #gotosocial, I'm going with #snac (#snac2) as my self hosted federated server.
Here's my new me: @michel
You can change the colors in the :root
block.
@grunfink I submitted a PR to update MacPorts' snac to 2.51 here:
https://github.com/macports/macports-ports/pull/23357
CI checks are queued. Hopefully they'll go smoothly?
Assuming they do, it will still be up to someone else with commit access to merge it.
Thank you for your continued improvements! On my mental ToDo list I keep on meaning to create a snac Port for OpenBSD, and it looks as if the unveil and pledge support continues to be refined, cool!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
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.
The #ActivityPub actor of type Group
was defined basically for this; to boost to their followers all posts that mention it. Programs like Lemmy and the Wordpress ActivityPub plugin implement 'channels' this way.
Implementing support for this in snac won't be too difficult, but I want to keep it as slim as possible. I don't totally discard the idea, though, so I'll write it down as a possible thing to be done in the future.
@grunfink I submitted a PR to update MacPorts' snac to 2.50 here:
https://github.com/macports/macports-ports/pull/23182
CI checks passed OK!
It's up to someone else with commit access to merge it.
Thank you for your continued enhancements, bug fixes and contributions!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
- #Debian 12 #AnsibleSemaphore
- #FreeBSD 14 #snac (#ActivityPub / #Fediverse)
- #Debian 12 #Nextcloud 28 (#nginx / #mysql)
What do you want next?
#AppleSilicon #virtualization #aarch64
https://gyptazy.ch/blog/collection-of-vagrant-boxes-images-for-apple-silicon-based-on-arm64/
The xs is an intentionally lightweight library I (with the help of some friends) started for a very different project that never was. As it adds some niceties to C coding, I use it everywhere. It's mostly feature-complete now, but I fix and add some things occasionally. These days, #snac is mostly its main user, as other projects that use it are pretty irrelevant.
Using C headers both for implementations and prototyping is somewhat of a perversion 😆, but it simplifies immensely sharing code between projects, because you don't have to care about building libraries (static nor dynamic) and their operating system idiosyncracies. You just drop the .h in your project, include it and it's done. The reason: simplicity. If I had a motto as a developer, simplicity would be.
https://mastodon.bsd.cafe/users/release_candidate/statuses/112140845317198247
I find these "popularity contests" pointless, ridiculous and inherently toxic, and a signature of private social networks where the goal is not to help people communicate between each other.
This is the reason why #snac does not propagate how many followers nor likes a person have.
Incoming posts can now be filtered out by content using regular expressions on a server level (these regexes are written in the filter_reject.txt
file at the server base directory; see snac(5)
and snac(8)
).
Improved page position after hitting the Hide
or MUTE
buttons (for most cases).
Use a shorter maximum conversation thread level (also, this maximum value is now configurable at compilation level with the MAX_CONVERSATION_LEVELS
define).
Fixed a bug where editing a post made the attached media or video to be lost.
The way of refreshing remote actor data has been improved.
Posting from the command-line now allows attachments.
Added defines for time to enable MacOS builds (contributed by andypiper).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song The Raven by #CarolineLavelle.
Incoming posts can now be filtered out by content using regular expressions on a server level (these regexes are written in the filter_reject.txt
file at the server base directory; see snac(5)
and snac(8)
).
Improved page position after hitting the Hide
or MUTE
buttons (for most cases).
Use a shorter maximum conversation thread level (also, this maximum value is now configurable at compilation level with the MAX_CONVERSATION_LEVELS
define).
Fixed a bug where editing a post made the attached media or video to be lost.
The way of refreshing remote actor data has been improved.
Posting from the command-line now allows attachments.
Added defines for time to enable MacOS builds (contributed by andypiper).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song The Raven by #CarolineLavelle.
Accept
message from Threads to your Follow
request was lost or not sent for whatever reason, so for snac it's a follow not (yet) confirmed.Can you tell me what Threads account are you trying with? I'll investigate.
Thanks for your help.
Hide
and MUTE
actions. It still has some rough edges I have to work on, but next #snac version will probably include it.Thanks for pushing me into fixing this.
@grunfink I submitted a PR to update MacPorts' snac to 2.49 here:
https://github.com/macports/macports-ports/pull/22899
CI checks passed OK! It's up to someone else with commit access to merge it.
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit
Mastodon API: Fixed a bug in how validated links are reported.
Mastodon API: Fixed a bug in search by account.
Mastodon API: Fixed missing Video
type objects in timelines.
Mastodon API: Added search by hashtag.
Some cosmetic fixes to the web interface.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Mastodon API: Fixed a bug in how validated links are reported.
Mastodon API: Fixed a bug in search by account.
Mastodon API: Fixed missing Video
type objects in timelines.
Mastodon API: Added search by hashtag.
Some cosmetic fixes to the web interface.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Dear friends of #BSDCafe and the #Fediverse,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.
Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of #ActivityPub, offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.
It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).
For information and details, I suggest reading the relevant page on our Wiki: https://wiki.bsd.cafe/snac.bsd.cafe
Have a great week!
@stefano
#OpenSource #TechCommunity #DecentralizedSocialMedia #snac #snac2
Dear friends of #BSDCafe and the #Fediverse,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.
Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of #ActivityPub, offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.
It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).
For information and details, I suggest reading the relevant page on our Wiki: https://wiki.bsd.cafe/snac.bsd.cafe
Have a great week!
#OpenSource #TechCommunity #DecentralizedSocialMedia #snac #snac2
This should help all the people that are running on #RV64 hardware (like the #VisionFive2, #MilkV, #LicheePi4A, ...) and also want to run #snac2 as a #ActivityPub instance in the #Fediverse like me.
You can grab it here: https://cdn.gyptazy.ch/files/riscv64/ubuntu/snac/snac_2.49_dev_ubuntu_23.10_riscv64_linux.tgz
A new instance page, that shows all posts by users in the same instance (like the public instance timeline, but interactive). This will help building communities.
Follower-only replies to unknown users are not shown in timelines.
Added verification of metadata links: if the linked page contains a link back to the snac user with a rel="me" attribute, it's marked as verified.
Added a new server-level configuration parameter: min_account_age
. If this value (in seconds) is set in server.json
, any activity coming from accounts that were created newer than that will be discarded. This can be used to mitigate spam.
Added a profile-page relation to links in webfinger responses (contributed by khm).
Fixed some regressions and a crash.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album The Sudbury Inn by #Deleyaman.
A new instance page, that shows all posts by users in the same instance (like the public instance timeline, but interactive). This will help building communities.
Follower-only replies to unknown users are not shown in timelines.
Added verification of metadata links: if the linked page contains a link back to the snac user with a rel="me" attribute, it's marked as verified.
Added a new server-level configuration parameter: min_account_age
. If this value (in seconds) is set in server.json
, any activity coming from accounts that were created newer than that will be discarded. This can be used to mitigate spam.
Added a profile-page relation to links in webfinger responses (contributed by khm).
Fixed some regressions and a crash.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album The Sudbury Inn by #Deleyaman.
Just compare #Mastodon vs #snac - and do we really need to run so many instances… many different point of views, I guess. That can be adapted to so many things.
In light of recent events with the queer.af domain, I believe it would be highly beneficial for Fediverse platforms to support instance migration between domains. This would ensure complete portability and the ability to restore the entire instance on another domain and TLD, in case of emergencies.
What are your thoughts? (Especially the devs)
Thank you!
#Mastodon #snac2 #snac #pixelfed #pleroma #akkoma #misskey #gotosocial #firefish #friendica #takahe #Fediverse
e.g. https://relay.fedi.buzz/tag/surfing I tried but it didn't seem to add to my follow list?
- Primary Auth NS & NTP
- Secondary NS & NTP
- Webserver (#manpageblog)
- #snac (#Fediverse server) & #synapse (#Matrix chat server)
- #Tor relay node
Added pagination to the notification page.
The New Post... option now includes an optional field to set the URL of an ActivityPub post to be a reply to.
Fixed spurious notifications from the same user.
Fixed repeated mentions in the reply text field.
One-post only pages include the post content instead of the user bio in their metadata (improving post previews from other software).
Mastodon API: Added support for timelines by tag (for sites like e.g. https://fediwall.social to work).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Fire Hell and Holy Water by #GioliAndAssia.
Added pagination to the notification page.
The New Post... option now includes an optional field to set the URL of an ActivityPub post to be a reply to.
Fixed spurious notifications from the same user.
Fixed repeated mentions in the reply text field.
One-post only pages include the post content instead of the user bio in their metadata (improving post previews from other software).
Mastodon API: Added support for timelines by tag (for sites like e.g. https://fediwall.social to work).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Fire Hell and Holy Water by #GioliAndAssia.
I'm not thinking about abandoning it, on the contrary; I think the Fediverse is in need of small software like mine more than ever.
Last but not least, I've found very nice people in the process. Only for this, it has been worth the effort.
@grunfink Thanks so much for writing this long post and also #snac.
I also do think that #snac is a great success.
If I were to set up a new Mastodon instance from scratch, it would be the software that I definitely would consider.
I would guess that you just need to be a little bit patient: To me it seems like the Fediverse is a little bit quiet in general at the moment. When there are more new servers, I bet that there also will be snac instances popping up if you don't abandon the software (which of course is by no means my decision to make but which in my opinion would be a pity).
If the source code version control history is to be trusted, I started developing snac
(a simple, minimalistic #ActivityPub instance server written in C) exactly one year ago (Sept 19th).
It was not my first experience with ActivityPub: I had built a prototype version in Python some months before (hence the "2" in the snac2
repository name), and back in 2019 I made some partial implementation for an unrelated (and now forgotten) blog project, so the protocol was not totally new to me.
These are my thoughts about one year of development.
Why did I start it? Because I read somewhere about the (still baffling to me) humoungous requirements of a basic #Mastodon installation. I read a lot of people affirming that was the bare minimum: "it CAN'T be done with less resources". But I've always seen it as a glorified short message application and challenged myself to write a feature-complete #Fediverse instance with the following goals: keeping it small, simple, easily deployed, and lacking the bloat software tendencies of modern times.
Did it come out as expected? not totally sure, but probably yes. I even implemented more things that I originally planned (I initially said a big NO to myself regarding adding Mastodon API support, but finally did it and it works mostly well). The program is still somewhat small (a stripped binary of less that 300k probably counts). The no-database, no-cookies, no-javascript absolute rules still apply. I'm fine with the (opinionated) web UI that shows conversations as threaded trees instead of the plain, dull stream of posts that Mastodon or Twitter show. It cooperates pretty well with the always growing ecosystem of ActivityPub applications.
Was the time and effort worth it? On this, I'm not sure. I'm old and depressed and unemployed, so developing snac has kept my brain busy and entertained for a little while. But it has been more work that I expected: the ActivityPub specification is a bit diffuse in some areas, so every implementation does some things a bit different and many corner cases had to be implemented; some parts (specifically, the Mastodon API) have been very tedious to implement and test; and also, helping users debugging remote systems is difficult and very stressing for me. Fortunately, some fellow developers have helped me and I'm immensely thankful to them.
Has it been a success? I'm pretty sure about this: no. I thought that the small footprint, the lack of moving parts and the feature set would be attractive to a large base of users, but this has not been the case. Perhaps I've been unable to reach the neccessary potential users for it to reach some critical mass (a failure of the PR department 😆). Perhaps what I consider interesting features (minimalism, footprint, the web UI concept, Mastodon API compatibility, etc.) are not that valuable for most. Perhaps people disregard it just because it's not Mastodon. Perhaps there are errors and crashes that I'm not aware of. Perhaps snac is rubbish and I'm unable to see it. The reality is that snac is a niche and unknown part of the Fediverse ecosystem and there is no sign that the user base will grow from the current small fistful of deployments out there.
What about the future? I'm also not sure. Apart from some pending bugfixes and wishlist items mentioned in the TODO file, I've implemented all the features I initially expected and then many more, so I consider snac a finished program. New bugs will happen, that's for sure. New ActivityPub applications will show out there and, if experience tells me anything, they will all have slightly different protocol interpretations that will need some code tuning on my part. Development will continue; snac is a maintained program. But big changes will probably not happen anymore.
If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
@grunfink I submitted a PR to update MacPorts' snac to 2.46 here:
https://github.com/macports/macports-ports/pull/22454
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit
@grunfink@comam.es thanks for the new version of #snac #snac2
@grunfink@comam.es thanks for the new version of #snac #snac2
Added support for Peertube videos.
Mastodon API: Tweaks to support the Subway Tooter app (contributed by pswilde), added support for editing posts, fixed an error related to the edit date of a post, fixed some crashes.
Added a handshake emoji next to a user name if it's a mutual relation (follower and followed), because friendship is bliss.
Tweaked some retry timeout values for better behaviour in larger instances (thanks to me@mysmallinstance.homelinux.org for their help).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Duality by #TwoLanes.
Added support for Peertube videos.
Mastodon API: Tweaks to support the Subway Tooter app (contributed by pswilde), added support for editing posts, fixed an error related to the edit date of a post, fixed some crashes.
Added a handshake emoji next to a user name if it's a mutual relation (follower and followed), because friendship is bliss.
Tweaked some retry timeout values for better behaviour in larger instances (thanks to me@mysmallinstance.homelinux.org for their help).
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Duality by #TwoLanes.
Added:
* #FreeBSD 14.0 with #snac (a #Fediverse server) and #nginx
(https://app.vagrantup.com/gyptazy/boxes/freebsd14.0-snac-fediverse-server-arm64)
* #Alma 9.3 (#AlmaLinux)
(https://app.vagrantup.com/gyptazy/boxes/alma9.3-arm64)
* #Rocky 9.3 (#RockyLinux)
(https://app.vagrantup.com/gyptazy/boxes/rocky9.3-arm64)
(Fixes: https://github.com/gyptazy/vagrant-arm64-boxes/issues/1 and https://github.com/gyptazy/vagrant-arm64-boxes/issues/6)
* #Chimera 20240122 (#ChimeraLinux)
(https://app.vagrantup.com/gyptazy/boxes/chimera20240122-arm64)
You can find all 42 images on:
https://gyptazy.ch/blog/collection-of-vagrant-boxes-images-for-apple-silicon-based-on-arm64/
I submitted a PR to update @grunfink's snac to 2.45 in MacPorts here:
https://github.com/macports/macports-ports/pull/22283
CI checks passed OK!
It's up to someone else with merge access to commit it. Much thanks to @dan for the lightning fast merge with my 2.44 PR.
This time around, the Makefile.patch required a minor tweak, to reflect a minor tweak in the upstream's Makefile as well. Hopefully everything is OK? Preliminary testing on my end went alright but it took me a little longer to find sufficient focus to make that change than I would have liked.
(My own personal life is still *sigh* hectic and about the same as far as challenges [mostly housing/homeless and financial/debt related] C'est la vie!)
#snac #MacPorts #ActivityPub #Mastodon #NoDatabaseNeeded #TotallyJavaScriptFree #NoCookiesEither #NotMuchBullShit
Fixed a collision in webfinger caching. This may affect federation with some software, so I recommend an upgrade.
Fixed crashes in some command-line options.
New command-line option state
, that dumps some information about the running server and the state of each thread (note: this feature uses shared memory blocks and you may need an argument to the make
call in older Linux distributions; please see the README
file for details).
Fixed a bug that may leave an inconsistent state for a followed actor in a special case of repeated messages.
Mastodon API: added some fixes for integration with the Mona iOS app (contributed by jamesoff).
Added support for ntfy notifications, both using a self-hosted server or the official ntfy.sh (contributed by Stefano Marinelli).
If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
#snac #snac2 #mastodon #fediverse #activitypub #grafana #metrics #prometheus #performance #ressources
https://blog.benjojo.co.uk/post/who-hosts-the-fediverse-instances
#decentralized #federated #federation #ActivityPub #Mastodon #snac #snac2 #BSDCafe
Don’t take it too serious 😉 #Mastodon is also great (just behind snac). Ok, ok - just kidding
I feel bad, now 😫
We could use the same approach like #Mastodon, fetch the resource added by the user, write the date in a file and use this for the validated_at field of the resource. @grunfink@comam.es - do you have already any plans? Maybe I can provide a PR…
Btw: what about the follower/followed by counter on the mastodon API - I heard this is intentionally not provided?
Just submitted the PR to the #snac2 dev with #ntfy notifications support, both self-hosted or using the official ntfy.sh server. This brings enhanced privacy when utilizing a self-hosted server, eliminating the need for external services.
Token authentication is also supported.
$ snac state /var/lib/snacIt does this using a shared memory area, so some system restrictions may apply. I've tested on Linux and OpenBSD and it seems to work OK. You can call this command as an argument toserver: comam.es (snac/2.45-dev)
uptime: 0:03:09:52
job fifo size (cur): 45
job fifo size (peak): 1532
thread #0 state: input
thread #1 state: input
thread #2 state: waiting
thread #3 state: waiting
thread #4 state: output
thread #5 state: output
thread #6 state: output
thread #7 state: waiting
watch
or in a while true
shell loop to have something like a poor-man's top
utility.This will be part of the 2.45 release. It's already in the public git repository, if any of you want to test it.
#fediverse #alternatives #mastodon #snac #snac2 #federated #decentralized
#fediverse #alternatives #mastodon #snac #snac2 #federated #decentralized