jrollans.com 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.
I found this nice install guide for #snac written by @eltheanine and wanted to share.
You, people, are great.
kill
command, or by configuring it under a service control system like systemd, or rc file, and stopping it from there. You have many examples of how to do this in the examples/
directory of the source repository.Regarding the use of a Unix socket, just set the address
field with the full path to it (instead of an IP address), like described in snac(8)
, the Administrator Manual: https://comam.es/snac-doc/snac.8.html#address
Hi, I managed to build a statically linked #snac with musl (and zlib, curl and openssl).
Now I realized that I could deploy it as a FastCGI, but I wonder how I could stop a running process on snac update.
Is there a kill switch one could toggle eg by creating an empty file with a specific name under the data dir? Or maybe a version file that is periodically checked by snac processes that exit() when you start a new version?
Or maybe something even simpler I'm missing?
Also, I've read that snac now support unix domain sockets, but I can't find anything about that in the doc... where should I look?
thanks for not releasing on a Friday! The slacker in me is still 8 hours behind up stream😆
I usually release on Thursdays (unless something serious happened), in case someone wants to play with #snac as a weekend project 😉
https://github.com/macports/macports-ports/pull/26605
GitHub Actions Continuous Integration checks are running (2 of 3 have passed already which is a good sign).
It's up to someone else with commit access to merge it.
Thank you again for your continued improvements (and also, thanks for not releasing on a Friday! The slacker in me is still 8 hours behind up stream, maybe I can blame time zones? ;)
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Just installed #snac on my Debian server from the backports package. Thanks to @grunfink for Snac and to @jvalleroy and to @sergiodj for packaging it. The packaging worked almost out of the box (needed adjustment because the httpd had a more complex configuration, but really minimal tweaks).
One thing I did change: I moved the data directory to a subdirectory of the home directory, to avoid leaking e.g. history.
I wonder if this is over-paranoid and pointless.
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.
For today's #ThankYouTuesday, I want to thank @grunfink
Their already excellent #snac improves with every release, and they are always available, friendly, and positive.
The world could really be a better place with more people with their skills and attitude.
#ThankYouTuesday #gratitude #opensource #community #positivevibes
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.
I don't ask for anything; #snac is free software. Anyway, you can contribute whatever and whenever you consider to my Liberapay account: https://liberapay.com/grunfink
I woke up this morning:
- I have a bit of a headache
- The BSD Cafe snac instance had crashed, so it was down - I modified the rc.d script to run under daemon(8) to restart automatically (and I sent a PR to include it)
- a critical virtualized Windows server for a client was in total crash (resolved by doing a stop/start from the Proxmox console, but this will also move to bhyve soon)
- I spilled half of my coffee on the floor - and being an espresso, I have very little left
I’m waiting for the locusts...
@grunfink I submitted a Pull Request to update MacPorts' snac to 2.62 here:
https://github.com/macports/macports-ports/pull/26495
Currently the GitHub Continuous Integration checks are queued, so I don't know when that will complete or what the results will be, but hopefully it's just a delay in the process and doesn't reveal any errors.
Thank you for your continued improvements!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
strict_public_timelines
option does not work well, as it's also applying to the private timeline. So I recommend to disable it by now and wait for the next stable release, where it will be fixed.Sorry for the incovenience.
Added a new user option to collapse top level threads by default.
Added a new disable_block_notifications
boolean field to server.json
to disable the notifications of Block activities.
Added a new strict_public_timelines
boolean field to server.json
to only show an account's posts and boosts (no trees) in public timelines.
Fixed repeated images in posts from some implementations (those that include an image both as an attachment and as an <img>
tag inside the post content).
Added a small HTML/CSS tweak to improve post previews from some implementations (contributed by nyanide).
Notifications for EmojiReact
activities now show the emoji.
New command-line action insert
, to insert a post by its URL in a user's timeline.
Fixed bad processing/rendering of URLs with two or more @ symbols.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/donate
This release has been inspired by the song Subways Of Your Mind by #FEX.
#snac does not cache any media at all. Fediverse relays are not supported, but may eventually happen. It does not directly support blocklists (neither of instances or users), but there are command-line options to block instances or mute users, so it won't be impossible to do with a little of Unix-like tool trickery.
I don't know what 'allowlist' mode is, nor what does this 'limit replies' feature mean. Could you please elaborate?
CC: @ddlyh@topspicy.social @yvan@toot.ale.gd @jase@tail-f.journalctl.uk @stevelord@bladerunner.social
https://codeberg.org/voron/snac-style/src/branch/master/pika.css
I am loving it. Very happy to have made this my primary #fedi instance. sanfranciscan.org is easier to maintain thanks to podman, but we are still talking about 10-15 minutes of downtime.
Thank you so much for making #snac look cool.
https://github.com/macports/macports-ports/pull/26287
GitHub Actions Continuous Integration checks are progressing (3 out of 4 passed, which is a good sign; I guess MacPorts recently started checking 4 OS versions on GitHub automatically instead of 3 so this is taking a bit longer than I am accustomed to, it seems as if the macos-15 checks in particular are sluggish, maybe that system is overloaded?).
Regardless, it's up to someone else with commit access to merge it.
Neat to see more Mastodon migration improvements! I think I saw one person already boast of successes of migrating their followers to a snac instance!
Thank you for your hard work and continuing to make my favorite ActivityPub implementation even better!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Sometimes I am asked what the BSD Cafe is - what service of the BSD Cafe is considered the heart of it all. The BSD Cafe began its journey with the Mastodon instance, and other services gradually followed. For some, it might be the repository of their projects, while for others, it’s the Matrix room where they discuss their passions. For some, it’s the feed reader, for others, a way to know their IP address. There are those who see it as the sticker collected at EuroBSDCon or received by mail. For many, it serves as a base from which to start self-hosting their services on BSD systems, and it remains a gathering place among friends, a space to visit even if one doesn't primarily use it as a home.
Whatever it is for you, thank you. Because I am proud of the BSD Cafe, of what it has become, and of what it represents. In this place, I have forged relationships with people I already knew and met wonderful individuals who share their experiences, ideas, and passions in the true spirit of the BSD Cafe, which is to be positive and constructive. This way, we all grow, learning something new every day.
Whatever the BSD Cafe represents for you, I can tell you what it means to me: a group of friends, regular visitors or not, who exemplify that the world would be a much better place if the spirit adopted in all contexts were the same.
It’s late for #ThankYouTuesday, but I thank you all the same.
#BSDCafe #ThankYou #Grateful #Mastodon #Snac #Matrix #Lemmy #Forgejo #FreshRSS #Miniflux #MyIP #DokuWiki
#snac #snac2 #BSDCafeServices #BSDCafe #BSDCafeAnnouncements #BSDCafeUpdates
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.
@grunfink I submitted a Pull Request to update MacPorts' snac to 2.60 here:
https://github.com/macports/macports-ports/pull/26129
All GitHub Actions Continuous Integration checks passed OK.
I still am not in a place in my life where commit access is a responsibility I am willing to take on, so it is up to someone else to merge it.
Neat to see the improvements to Mastodon migration in this release! Maybe that will help facilitate more users?
Thank you, as usual! Also, nice to see a code push on a Thursday (in UTC at least?) not a Friday! ^_^
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Migration from a snac account to a Mastodon one has been implemented. Please see snac(8)
(the administrator manual) for more information.
Fixed a bug in argument parsing regarding some special characters (contributed by ndagestad).
Fixed image emojis in the public profile bio.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song State of Independence versioned by #DonnaSummer.
Migration from a snac account to a Mastodon one has been implemented. Please see snac(8)
(the administrator manual) for more information.
Fixed a bug in argument parsing regarding some special characters (contributed by ndagestad).
Fixed image emojis in the public profile bio.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song State of Independence versioned by #DonnaSummer.
If you use #snac as your Fediverse platform, remember that you have some tools to make it less grievous: for example, the filter_reject.txt
file, in the root of your snac directory, can be filled with regular expressions (one per line), that will be matched upon the content of every incoming post. If any of those lines match, the post will be dropped silently.
If you don't know what a regular expression is, don't worry; just add a sentence or text string that happens to appear in the SPAM messages you are receiving (but please take into account that this can be pretty destructive, so be very specific with these pieces of text).
More info:
https://comam.es/snac-doc/snac.8.html#SPAM_Mitigation
CC: @Mastodon@mastodon.social @gotosocial@superseriousbusiness.org @TangerineUI@nileane.fr @phanpy@hachyderm.io
Snac2 is an excellent software solution for accessing the Fediverse. It is lightweight, very easy to compile and install, has minimal dependencies, and the development is progressing along a clear, clean, and logical path - thank you, @grunfink
Since last December, BSD Cafe has had, among its services, a snac instance - https://snac.bsd.cafe - which has been used sparingly, mainly by some for testing purposes. I’ve kept it as a 'testing' option.
In light of the interest it is generating (we now have stable users) and given that development is evolving to allow for both inbound and outbound movement, I have decided to designate it as a stable solution for accessing the Fediverse and to consider it a primary service of the BSD Cafe.
It has always received the utmost attention, I have consistently updated it promptly, and it has always been accessible, but I have also modified all the descriptions to clarify that it is a stable and definitive solution.
For more information, there is always a dedicated page on our wiki: https://wiki.bsd.cafe/snac.bsd.cafe
Stay Tuned!
#BSDCafe #BSDCafeServices #BSDCafeAnnouncements #snac #snac2 #Fediverse #Mastodon
Since last December, BSD Cafe has had, among its services, a snac instance - https://snac.bsd.cafe - which has been used sparingly, mainly by some for testing purposes. I’ve kept it as a 'testing' option.
In light of the interest it is generating (we now have stable users) and given that development is evolving to allow for both inbound and outbound movement, I have decided to designate it as a stable solution for accessing the Fediverse and to consider it a primary service of the BSD Cafe.
It has always received the utmost attention, I have consistently updated it promptly, and it has always been accessible, but I have also modified all the descriptions to clarify that it is a stable and definitive solution.
For more information, there is always a dedicated page on our wiki: https://wiki.bsd.cafe/snac.bsd.cafe
Stay Tuned!
#BSDCafe #BSDCafeServices #BSDCafeAnnouncements #snac #snac2 #Fediverse #Mastodon
Yes, I do like this web interface for being clean and simple and following the original design of the web and http: You have addressable resources, you have verbs on them.
I still think there's room for improvement:
- It would be nice to have resources for local copies of toots. It seems there's just a link to their original location right now.
- Some custom styling would be nice as well (e.g. I don't like the monospace font everywhere and would prefer to have it only for code blocks). Could be as simple as an optional CSS snippet in your local account settings.
- A little bit of progressive enhancement (using the APIs already there, see also ROCA) wouldn't hurt, e.g. to optionally improve the search and similar, as long as the basic structure and script-free functionality remains.
Also, unrelated to the web UI, it seems #snac doesn't allow following hashtags, that's something I miss :(
for actor in $(sed -e 's:,.*::' -e 's:@:%40:' </tmp/following_accounts.csv); do
curl -v "https://snac.bsd.cafe/zirias/admin/action" \
-H 'Authorization: Basic XXXXXXXXXXXXXXXXXXXX' \
--data-raw "actor=${actor}&action=Follow"
done
@grunfink I submitted a PR to update MacPorts' snac to 2.59 here:
https://github.com/macports/macports-ports/pull/25774
Passed the GitHub Actions CI checks.
As usual, I don't have commit access so it's up to someone else to merge it.
Thank you for your continued improvements and bug fixes! I see even since the 2.59 release there's already been changes to the repo.
Also, while I am not the biggest VNV Nation fan, I have seen them perform live at least once, groovy to see some resonance in audio inspiration too! ^_^
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Added post drafts: new or edit post edition dialogs include a checkbox that will cause the message to not be posted, but stored in a list of drafts, directly accesible from the private timeline. From that list, drafts can be edited and definitely posted (or re-stored as a draft for later editing).
Fixed a bug that caused Block
notifications to not be shown properly.
Fixed crash in a corner case of the URL parameter parsing code.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song Nova (Shine a Light on Me) by #VNVNation.
Added post drafts: new or edit post edition dialogs include a checkbox that will cause the message to not be posted, but stored in a list of drafts, directly accesible from the private timeline. From that list, drafts can be edited and definitely posted (or re-stored as a draft for later editing).
Fixed a bug that caused Block
notifications to not be shown properly.
Fixed crash in a corner case of the URL parameter parsing code.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the song Nova (Shine a Light on Me) by #VNVNation.
A small compendium of the Fediverse platforms I use/know well.
In the past few days, I revisited some of my old Fediverse instances since some friends asked me to help them set up a new one. I also took the chance to perform maintenance on some leftover instances. Here's my experience:
Akkoma: My oldest instance still running, opened in 2022. It was offline for a few months (3/4). I updated everything to the latest version and restarted it. I’m not sure why, but it’s extremely slow, with a heavy load on Postgres and many queries just to open the main page. I like Akkoma - I'll investigate further.
GoToSocial: I updated a friend's instance - GoToSocial itself was up-to-date, but the underlying system wasn’t. I noticed that once it exceeds 2000 followings, it becomes a bit slow. The database is PostgreSQL, but that's not the issue. The GoToSocial process becomes somewhat heavy on the VPS. Still, it's very usable and a software with great potential, in my opinion. The Mastodon API is implemented quite well and works with the major software.
Mitra: It seems well-built. The person had around 1000 followers and followings on a Mastodon account, which they moved from a large instance. No speed issues, though sending a message makes the server “heavy” for a bit, but it’s temporary. The Mastodon API is partially implemented, but the software is advancing quickly, and I find its native interface quite pleasant.
Snac2: I've always had a soft spot for Snac2. The lack of a database and some design choices make it an excellent solution for small instances. For example, sending posts to all known instances increases visibility and interaction. Its basic, JavaScript-free interface is very clear, though it might not be the best for those used to Mastodon. But the Mastodon API is improving version by version, and I think the developer is doing an excellent job. It struggles a bit with larger numbers, but that's due to the underlying file system, not the software itself. If "move" support (both in and out) were added, I would recommend it to anyone starting self-hosting for single-user or small community instances because "move" is one of the options that gives the most freedom in Fediverse software.
Mastodon: My “old” personal instance was stuck at version 4.1.x and had been offline for a few months. I updated the FreeBSD Jail and upgraded Mastodon to 4.2.12 and then to 4.3.0-beta1. No issues. I also helped a friend (who had an old Pleroma-based instance they barely used) migrate. This user has around 5000 followers and followings - Mastodon is running on FreeBSD on a VPS (arm64) for just over 3 euros a month, with no significant issues (apart from media storage, but that's not Mastodon’s fault). Mastodon is sometimes said to be heavy, and that's partly true, but its modularity ensures that even in cases of overload, queues may slow down, but navigation and the local timeline remain reasonably fast. I think this is a good thing for any larger-scale use of an instance.
In short, I think things are moving in the right direction, and the software is evolving nicely. Well done, devs!
#Fediverse #Akkoma #GoToSocial #Mitra #Snac2 #Snac #Mastodon #SelfHosting #InstanceManagement #FreeBSD #OpenSource
Keep the good work.
Search by content also looks into alt-text from attachments (images, videos, etc.).
Search by content is case insensitive for all Unicode-supported alphabets (previously was only for ASCII characters).
Added support for bookmarking posts.
Fixed a failed compilation under Solaris/Illumos.
The actor Person
object now includes a featured
property, that returns the list of pinned posts.
The delete post button can now be hidden server-wise (it's not very useful and clutters the space).
The lists of pinned and bookmarked posts are directly accesible from the private timeline.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Search by content also looks into alt-text from attachments (images, videos, etc.).
Search by content is case insensitive for all Unicode-supported alphabets (previously was only for ASCII characters).
Added support for bookmarking posts.
Fixed a failed compilation under Solaris/Illumos.
The actor Person
object now includes a featured
property, that returns the list of pinned posts.
The delete post button can now be hidden server-wise (it's not very useful and clutters the space).
The lists of pinned and bookmarked posts are directly accesible from the private timeline.
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.57 here:
https://github.com/macports/macports-ports/pull/25258
GitHub Actions CI went OK!
I don't have commit access, so it's up to someone else to merge it.
Thank you for continuing to improve and iterate snac!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Added support for listening on UNIX-like sockets.
Don't allow empty polls.
Added support for Markdown-style images (converted to attachments) and strikethrough text.
Added support for incoming Move
messages: when received, the new account is followed and the old one is unfollowed.
Incoming EmojiReact
messages are internally converted to Like
(more proper support will happen eventually).
Blocks are also notified.
Mastodon API: fixed a cache bug when following local users.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
Added support for listening on UNIX-like sockets.
Don't allow empty polls.
Added support for Markdown-style images (converted to attachments) and strikethrough text.
Added support for incoming Move
messages: when received, the new account is followed and the old one is unfollowed.
Incoming EmojiReact
messages are internally converted to Like
(more proper support will happen eventually).
Blocks are also notified.
Mastodon API: fixed a cache bug when following local users.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
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.
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.