Email or username:

Password:

Forgot your password?
35 posts total
The Real Grunfink
I'm glad to announce the release of version 2.49 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This time it includes some fixes to the Mastodon API code, which was in need of some love:

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.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.49 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This time it includes some fixes to the Mastodon API code, which was in need of some love:

The Real Grunfink
I'm glad to announce the release of version 2.48 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

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.

https://comam.es/what-is-snac

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.

#snacAnnounces

I'm glad to announce the release of version 2.48 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

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.
The Real Grunfink
I'm glad to announce the release of version 2.46 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

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).

https://comam.es/what-is-snac

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.

#snacAnnounces

I'm glad to announce the release of version 2.46 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Peertube videos.
The Real Grunfink
Hello, #snacizens. I've just added a somewhat cool experimental feature to #snac: a new command-line to query the state of a running server, like

$ snac state /var/lib/snac

server: 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
It 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 to 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.
Hello, #snacizens. I've just added a somewhat cool experimental feature to #snac: a new command-line to query the state of a running server, like

$ snac state /var/lib/snac

server: 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
The Real Grunfink
I'm glad to announce the release of version 2.44 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Fixed a nasty bug that caused the in-memory output queue to be corrupted under heavy traffic loads. This is a good reason to upgrade (thanks to Víctor Moral and Stefano Marinelli for helping me in fixing this).

Shared inboxes are now supported. This is not a user visible feature (hopefully, they will not feel any change), but it will significantly improve traffic for snac instances with many users and will open room for new features that are only feasible with these kind of input channels (this is not enabled by default; see snac(8)).

I've refactored all HTML code because it was somewhat of a mess; now it's much more maintainable (at least for me). I think I haven't broken anything.

Fixed crash in a special case of malformed query.

Mastodon API: some tweaks for better integration with more clients, and fixed a crash when processing boosts from kbin.

Fixed crash in the FastCGI code (thanks to Yonle for helping me debug this).

Added apache2 configuration information (contributed by Víctor Moral).

Added FreeBSD and NetBSD setup information and examples (contributed by draga79).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Until the Horses Come Home by #Undyed.

I'm glad to announce the release of version 2.44 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Fixed a nasty bug that caused the in-memory output queue to be corrupted under heavy traffic loads. This is a good reason to upgrade (thanks to Víctor Moral and Stefano Marinelli for helping me in fixing this).
silverpill

@grunfink FYI, this object looks malformed: https://snac.jamesoff.net/jamesoff/p/1704978630.677698

"cc": [null],

Also one of mentions has href: null

The Real Grunfink
I'm glad to announce the release of version 2.43 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Tags in posts are now indexed and searching by tag is possible. It's still not very useful, but at least new user posts contain links that return real search-by-tag results. Also, no "re-indexing" of the previously stored data is done (only new local and remote posts will be searchable by tag).

Added FastCGI support. This allows for simpler setups (e.g. on #OpenBSD, it's no longer necessary to enable and configure relayd, as the native httpd daemon includes FastCGI support).

History can be disabled by administrators by setting the disable_history field to true.

New command-line option deluser, to delete a user (including unfollowing everybody).

Mastodon API: account lookups has been implemented.

Fixed a minor memory leak 🤦

Fixed some HTML errors 🤦

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Essentials by #AnnaBMay.

I'm glad to announce the release of version 2.43 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Tags in posts are now indexed and searching by tag is possible. It's still not very useful, but at least new user posts contain links that return real search-by-tag results. Also, no "re-indexing" of the previously stored data is done (only...
The Real Grunfink
I'm glad to announce the release of version 2.42 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

It's now possible to add profile metadata.

Accounts can be marked as 'private', so that they are not accesible from any non-authorized web UI (i.e. only through the Fediverse).

Outgoing connections that fail with a timeout are retried with a higher timeout limit. But, if the instance keeps timing out, it's penalized by skipping one retry.

If a post comes from a group or community (i.e. it has an audience field set), the buttons Follow Group or Unfollow Group are shown.

Pinned posts are never (incorrectly) purged.

Some RSS validation fixes.

Mastodon API: some tweaks to better match Mastodon behaviour in timeline entries and boosted posts are correctly returned, and some fixes for crashes.

Don't allow creating users which user name strings only differ in case. This was creating some problems (e.g. the webfinger interface doesn't allow case sensitivity).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album On Giacometti by #HaniaRani.

I'm glad to announce the release of version 2.42 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

It's now possible to add profile metadata.
The Real Grunfink
I'm glad to announce the release of version 2.41 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Article ActivityPub objects to correctly process reviews from #Bookwyrm instances and other similar software.

Show Link objects that are image, audio or video media as if they were attachments.

Added more aggressive caching to timelines and history files.

The history at the end of the public page is listed in reverse chronological order.

Mastodon API: minor fixes.

Be more strict when serving note objects.

Additional HTTP response headers can be defined by adding an http_headers object with header/content pairs into the server.json configuration file.

If you hover the mouse pointer over a vote option in a pool, the current count (as per the last update) is shown. This may be considered cheating in some cases, so try to be honest (or not).

The nodeinfo URL now returns more accurate information.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Plains of Elysium by #Madis.

I'm glad to announce the release of version 2.41 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Article ActivityPub objects to correctly process reviews from
The Real Grunfink
I'm glad to announce the release of version 2.40 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Announces (boosts) can now be disabled/reenabled on a per-people basis (to limit those boost-trigger-happy friends from flooding your timeline). This is operated from the people page.

It's now possible to show an instance timeline instead of the classic greeting static page at the base URL. This can be enabled by setting the show_instance_timeline field to true in the server configuration file. Other metadata fields can be set to add information to this page; please see snac(8) (the Administrator manual page) for details.

Users can now upload an image (preferably in landscape mode) that will be shown as a banner in their public pages.

Added hints to web UI buttons.

Mastodon API: some minor fixes to allow the semaphore.social web client to work.

Fixed miscalculation of the votersCount field in multiple-choice polls.

DNS or TLS errors in outgoing connections are considered fatal errors and not retried.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Seeker by #CarbonBasedLifeforms

I'm glad to announce the release of version 2.40 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Announces (boosts) can now be disabled/reenabled on a per-people basis (to limit those boost-trigger-happy friends from flooding your timeline). This is operated from the people page.
The Real Grunfink
I'm glad to announce the release of version 2.39 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Follow confirmation messages that only return the follow request id (this fixes following Guppe channels).

Fixed some Gotosocial ActivityPub compatibility (details: support fields like tag and attachment being single objects instead of arrays).

Fixed ActivityPub outbox (it listed 'Note' objects instead of 'Create' activities).

Show the 'audience' field (channel URL) if a post has one (like pages from lemmy channels and other forums).

Some web UI tweaks: the new post field is hidden by default (wasting less screen space), added a 'back to top' link at the bottom of the page and other minor tuning to the HTML and default CSS (contributed by yonle).

Fixed RSS (contributed by yonle).

Fixed interactive text processes (like instance or user creating) by calling fflush() after printing text prompts (it was broken on systems that use musl like Alpine Linux).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

I'm glad to announce the release of version 2.39 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Follow confirmation messages that only return the follow request id (this fixes following Guppe channels).
The Real Grunfink
I'm glad to announce the release of version 2.36 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It features the following changes and fixes:

Added proper HTTP caching when serving static files (attached images, avatars, etc.)

Sensitive content messages can now have a summary.

Added a way to block full instances (from the command-line tool, as I consider this to be an administration priviledge).

If the user style.css does not exist, the server-wide one if served instead.

Added support for pinning user posts. These posts are shown first in the public AND in the private timelines.

Fixed some crashes on badly-formatted input messages.

The image alt-text is also inserted in the 'title' attribute, so it's shown on mouse hover in browsers like Firefox (contributed by Haijo7).

Some improvements to HTML sanitization.

For polls, show the time left before it closes.

Fixed a bug that prevented unfollows to be shown in the notification area.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

Usage tips: spend in social media as less time as possible. Go for a walk. Hug a friend. Pet a dog.

I'm glad to announce the release of version 2.36 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It features the following changes and fixes:

Added proper HTTP caching when serving static files (attached images, avatars, etc.)
The Real Grunfink
I'm glad to announce the release of version 2.35 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This time is nothing fancy, mostly bugfixes:

Fixed broken URL links with the # symbol on them.

Fixed people-being-followed data loss after not logging in for a long time (actor objects were purged too soon).

Fixed bug that made impossible to vote on polls that were replied to.

Don't show 'ghost' no-longer-followers in the people list.

When sanitizing HTML input, unsupported tags are deleted instead of escaped.

Fixed crash on missing headers while checking signatures.

Mastodon API: several bug fixes (contributed by Poesty), improved account object (contributed by Haijo7).

There is new a user configuration setup checkbox to mark an account as a bot.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

I'm glad to announce the release of version 2.35 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This time is nothing fancy, mostly bugfixes:

Fixed broken URL links with the # symbol on them.
Horhik
Oh, found your account after a several weeks of using snac :)

So, what's about followers counter? Mastodon instances always show 0 followers and 0 following
The Real Grunfink
I'm glad to announce the release of version 2.33 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Polls (in #ActivityPub lingo, Questions) are shown and can be voted on. Creating a poll is not yet implemented, though.

If an URL written in a post links to an image, it's converted to an attachment.

Fixed a bug in the semaphore code that caused total hangs on OpenBSD.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

I'm glad to announce the release of version 2.33 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Polls (in #ActivityPub lingo, Questions) are shown and can be voted on. Creating a poll is not yet implemented, though.
Григорий Клюшников

Whenever I see new ActivityPub software, I test whether it successfully federates with mine. Let's see if this comment appears under the post on the original server.

The Real Grunfink
I'm glad to announce the release of version 2.32 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

New user configuration switch to drop direct messages from people you don't follow, in order to mitigate spam from Mastodon open registration instances.

When updating user information (e.g. the display name or the bio), the changes are also sent to the people being followed (so they have an updated description about who the user is).

Mastodon API: account search has been implemented, so mention completion works from apps; new support for blocking users (this operation is called MUTE here).

https://comam.es/what-is-snac

If you find #snac useful, consider buying grunfink a coffee: https://ko-fi.com/grunfink

I'm glad to announce the release of version 2.32 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

New user configuration switch to drop direct messages from people you don't follow, in order to mitigate spam from Mastodon open registration instances.
The Real Grunfink
I'm glad to announce the release of version 2.30 of #snac, the simple, minimalistic #ActivityPub instance server written in ANSI C. It includes the following changes:

Fixed a bug that made some notifications to be missed.

New Mastodon API features: the instance public timeline is now a real one, unfavourite / unreblog is supported (somewhat). Some regression bugs regarding image posting were also fixed.

The non-standard Ping and Pong #ActivityPub activities have been implemented as proposed by @tedu@honk.tedunangst.com in the https://humungus.tedunangst.com/r/honk/v/tip/f/docs/ping.txt document (with a minor diversion: retries are managed in the same way as the rest of #snac messages).

The build process now includes the -Wextra flag.

https://comam.es/what-is-snac

If you find #snac useful, consider buying grunfink a coffee: https://ko-fi.com/grunfink

I'm glad to announce the release of version 2.30 of #snac, the simple, minimalistic #ActivityPub instance server written in ANSI C. It includes the following changes:

Fixed a bug that made some notifications to be missed.
Go Up