patpatpat.xyz 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.

Search results for tag #snac

Giacomo Tesio »
@giacomo@snac.tesio.it

Hello from my brand new instance running as a on a cheap shared hosting.. without FastCGI support!

Turns out all you need is good old cgi-fcgi and a starter script. I'll send you a PR with a proper example as soon as possible.

I think this shows how Snac is the cheapest and easiest to install server, lowering the bar to self-hosting friendly instances for schools, group of friends or families.

And using it from is just as easy as any other instance.

Thanks for the great work @grunfink@comam.es!

The Real Grunfink »
@grunfink@comam.es

I'm sorry. I'm aware that will no longer be "that weird, niche Fediverse server implementation that always return 0 for followers".

But, always off by default. I swear.

CC: @stefan@devlug.de

The Real Grunfink »
@grunfink@comam.es

I agree absolutely. I've always been adamant on this: I consider the comparison of followers a source of misery and sadness, like some kind of toxic popularity contest. This feature was added to commercial social media software as a way of getting users engaged forever so that they never leave and keep creating free content for them.

But, I see great people using and asking for this, and who am I to be that stubborn.

It will always be disabled by default, though.

The Real Grunfink »
@grunfink@comam.es

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

As many users have asked for it, there is now an option to make the number of followed and following accounts public (still disabled by default). These are only the numbers; the lists themselves are never published.

Some fixes to blocked instances code (posts from them were sometimes shown).

Fixed non-appearing buttons Approve and Discard if the account requesting a follow were being followed.

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

If you find useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/

This release has been inspired by the songs All Is Lost by and All Is Not Lost by .

romi grtsk »
@romi@disco.grtsk.com

controls took too much space

¯\_(𐠗𐃬𐠗꧞)_/¯

Alt...A post viewed from snac2 web interface, controls like bookmark, follow, etc. are hidden until hovering

Sam »
@sam@fed.eitilt.life

The "How to set up " guides linked in its readme definitely seem very helpful. They certainly do provide some great examples of how to set up various parts of the server stack. However, they also make some assumptions about your system (i.e. that you have root access to the full thing) that sent me down fruitless rabbit holes while trying to set this instance up.

Specifically, I use .net for hosting my webpages. I'm sure it's not the only host which provides nearly full control over your own content, and this guide would presumably be easy enough to adapt to whatever other containerized/jailed shared server they use, but NFS.net is the first I found years ago, has a very nice pay-for-what-you-use pricing structure with (as far as I know) good rates, and if you're already looking at snac for "lightweight" or "JavaScript-free" then they follow exactly the same design mentality.

This is likely not going to be a wholly-complete guide, since I did the setup over several days and I don't want to go back through the process just to be sure I remember everything correctly. Take this all with a grain of salt, but then again if you're trying to use either NFS.net or snac, and you can't work out how to correct a non-functional/mistaken instruction, you might want to rethink your tooling.

The first step is setting up your user+account+domain+site on NearlyFreeSpeech; that's more levels than is particularly comfortable to deal with if this is the only thing you're going to need hosted, but they have a fair amount of FAQs and other documentation describing how to do that and what each is for, so I'll not repeat it here. For the site itself, unless you're happy with being known as @you@yoursite.nfshost.com, you're going to want to set up an alias; subdomains can still be a bit tricky/incomplete in edge cases, but unless you're like me and are trying to be fancy with having your feed at https://fed.eitilt.life/sam but your handle as just @sam@eitilt.life, you shouldn't have any trouble. Also, go with their Apache Generic server type: snac doesn't need PHP, but it does need a daemon process.

NFS.net doesn't provide any web panel for managing content, so pull up your terminal and ssh into the user and hostname listed on the site information tab (something along the lines of ssh you_yoursite@ssh.nyc1.nearlyfreespeech.net). You'll probably be dumped into /home/public where you'd normally put any content your site should publish, but with snac's content model, that's actually going to remain entirely empty -- like the FAQ says, "for daemon processes, everything but static content typically goes inside protected" and snac doesn't even put static content there. Instead, cd over to /home/private and git clone https://codeberg.org/grunfink/snac2.git. Unless you want to live on the bleeding edge in your servers as well as your personal systems (you don't), git tag to find the most recent release and git checkout 2.65 or whatever other number is highest, then make the program as normal.

This is where the fun begins. make install doesn't work -- we don't have the permissions to write anything outside of /home. Instead, make install PREFIX=/home/protected/ ; cd /home/protected. Go ahead and follow the rest of the standard server setup, except that wherever they use $HOME/, explicitly use /home/protected/ instead, and since it's not on your path you have to write out the full/relative path to the binary manually. The local address needs to be 127.0.0.1 or (possibly, untested) http://localhost, but the port is free game: 8001 as used in the other guides is good here as well, 8080 would also make sense... At this point, my excessive cleanliness moved both /home/protected/bin and /home/protected/man into the snac-data directory, but if you don't want to, just replace protected/snac-data/bin wherever it occurs below with simply protected/bin; this after-the-fact move is required since the PREFIX can't be set to dump them in there initially -- snac init requires a non-existent target -- but in order to call it you have to have already run make install, so there's a bit of a Catch-22 there.

Fire up your favorite editor (or even just echo -- it's only two lines) and create /home/protected/snac-data/bin/daemon.sh with the httpd launch invocation and give it ug+x/750 permissions:

#!/bin/sh
exec /home/protected/snac-data/bin/snac httpd /home/protected/snac-data
One final modification that tripped me up for a while while I tried to debug why my site was working fine when testing locally but hung or couldn't be found in production: chgrp -R web /home/protected/snac-data. If you didn't move bin, run it on that directory as well -- but in either case since we don't want any theoretical exploits in snac gaining an easy arbitrary code execution, be sure to lock things back down with chmod -R g-w,o= /home/protected/snac-data/{bin,man,*.json,*.html} (the JSON and HTML risk breaking things, but until and unless snac starts providing server-level controls via the web interface, I'm of the mind that it's better safe than sorry).

Finally, go back to the NearlyFreeSpeech site page, and add both a proxy and a daemon (between the config and billing boxes) to get things hooked up correctly to Apache. The proxy is a very simple http, /, /, 8001 (or whatever other port you specified). I imagine if you set a URL prefix when setting up snac, you need to give that after the slashes, and likely include a few of the other aliases the other guides list, but that's not anything I experimented with. For the daemon, the tag is arbitrary but you probably want it to be snac, the command line needs to point to the daemon script so /home/protected/snac-data/bin/daemon.sh, the working directory would presumably require the prefix as well but I just have /home/public, and be sure that it's running as web.

Click start if on the daemon if it's not already (any errors will show up in /home/logs/daemon_snac.log), and congrats, you are now part of the fediverse, no messing with httpd.conf, acme-client, nginx, or rc.d required!

CC: @grunfink@comam.es

Oliver »
@oliver@microhive.social

One of my favorite features of : the hide button.
Perfect for “social garbage” in my timeline, it doesn't always have to be unfollowed or muted or deleted straight away.

Justine Smithies »
@justine@snac.smithies.me.uk

No worries and a big thank you from all users.

Justine Smithies »
@justine@snac.smithies.me.uk

So my bio now displays following / follower count only if viewed in a browser.
It's a WIP by the fantastic dev @grunfink@comam.es and I'm just testing this new optional feature. I have noted that no metrics will be displayed in apps like Tusky and so on it's purely for the users public page.

Oliver »
@oliver@microhive.social

I've just updated my instance to version 2.65 👍 🎉
It looks like this is going to be my main “socialmedia” channel 😃

Poes »
@poes@mastodon.bsd.cafe

@grunfink ahh you're right, I forget to compiling first before copying the data folder

thanks you now my instance is in private mode 😊

Kelson »
@kelson@notes.kvibber.com

I've updated this article now that I've confirmed that it works with #Snac and #GoToSocial as well.

Snac is simple - you just need to hit a URL while logged in to get the access token.

GoToSocial is a bit more complicated for two reasons:

  • They haven't built a UI for getting the access token yet, so you have to jump through hoops making API requests using curl.
  • GTS rejects API calls without a User-Agent header, and IFTTT doesn't send one by default, so you have to add one yourself.

DHeadshot's Alt »
@ddlyh@topspicy.social

It just hit me that following someone from is a little easier than from (for people not on your timeline) because the user ops just has a textbox and a "follow" button rather than having to search for their username and server, *then* open their profile and only *then* click follow. That's 2-3 button mouse-clicks for Mastodon compared with 1 for snac!

fiery »
@fiery@snac.bsd.cafe

Hello there @grunfink@comam.es

I noticed something about . I configured it so that I see the posts collapsed by default. It then happens that, when I open one thread and like one of the child posts, there is a small glitch. As we know snac is js free and do a full page reload when I hit like. But also, it redirects me to the anchor which points to the post I liked, and then I can continue my scrolling from there. So far so good, works great. But, when snac is configured to collapse threads and I liked a child post, the anchor does not work because it is inside a collapsed thread. At least tnat is the behavior I see on safari. I'd suggest tnat in this case, the page rendered by the server in response to my like to a child post, should have the corresponding thread open even when I configured snac to collapse by default.

I hope my explanation made sense. Thanks again for the great software!

The Real Grunfink »
@grunfink@comam.es

All that sounds like a very complicated (though unavoidable) setup. Anyway, I'm glad to know that older systems are still being maintained and cared about, and that support on them is improving.

ティージェーグレェ »
@teajaygrey@snac.bsd.cafe

I submitted a Pull Request to update MacPorts' snac to 2.65 here:

https://github.com/macports/macports-ports/pull/26783

GitHub Actions Continuous Integration checks are currently running (two are queued. Hopefully those will go smoothly, but I know at least one of them in particular seems to take an awfully long time recently).

Thanks again to you and other snac contributors for continuing to improve what continues to be my favorite ActivityPub implementation!

Oh, also since this PR was merged: https://github.com/macports/macports-ports/pull/26633 It appears as if snac is now building correctly on older versions of OS X that were throwing up errors in under "Port Health" from https://ports.macports.org/port/snac/details/ I do have older Mac systems, but wasn't testing on much older OS versions, so I kind of turned a blind eye to the errors that IIRC were showing up on OS X High Sierra back through Lion? Those seem to be working now too! (Though again, I haven't tested such systems personally and won't dig through my storage unit to exhume old hardware of mine to do so for the foreseeable short term future).


thedæmon »
@thedaemon@hj.9fs.net

I just donated to snac, you should too if you like it. https://liberapay.com/grunfink/

Shamar »
@Shamar@qoto.org

@grunfink

Nop, I'll add an example in the following days... :-)

As for the CGI+Crontab version, actually it's not that hard to hack something together with minimal changes to existing code and few new source files, but I'm facing a couple of issues that suggests a proper fork:

1. the CGI ends up being larger than 6Mb because of curl & openssl that, as far as I can tell, are not needed because all the CGI has to do is to save the proper queue item on the filesystem
2. no command handle the global queue alone

The second issue is quite easy to solve with minimal changes and could help everybody.

The first however requires a lot of careful reorganization of the code.

On the other hand, I don't like the idea of a fork diverging too much, first because you are doing a great work here so much I think deserves much more visibility.

And yet, technically speaking, a fork would make much sense to keep both code bases clean and focused to their use case.

The Real Grunfink »
@grunfink@comam.es

Hi, author here. There is partial support for this (it's called EmojiReact activity in the ActivityPub protocol jargon). All these reactions are accounted as likes (so it should show as 15 likes), but in the notification page it will show the related emoji. You can't generate emoji reactions, though.

CC: @feb@loma.ml @ruisan@masto.es @justine@snac.smithies.me.uk

crossgolf_rebel - kostenlose Kwalitätsposts »
@crossgolf_rebel@moppels.bar

Hat jemand von euch den Dienst schon mal ausprobiert/getestet?

Ich habe gerade in der Fediverse Instanz Wolke ein seltenes Symbol gesehen und bin da mal drauf

Leider habe ich keinen Screenshot von der Oberfläche gefunden

https://codeberg.org/grunfink/snac2

Liste vieler Fediverse Zugangs Dienste - https://codeberg.org/fediverse/delightful-fediverse-apps#user-content-events-and-meetups

snac.smithies.me.uk

Justine Smithies »
@justine@snac.smithies.me.uk

Yes I'm using over a typical setup and I love it. It's so lightweight and easy to manage. I mainly use it in a browser but it plays well with the Android app Tusky too. I'd recommend you play with it first though just to be sure you like it as it's not everyone's cup of tea.

CC: @crossgolf_rebel@moppels.bar

The Real Grunfink »
@grunfink@comam.es

This is interesting:

Mastodon Follow Pack FAQ 1.0:

What are Follow Packs?

They are just packaged topical lists of up to 35 accounts you can follow from your Mastodon or other Fediverse account. You can follow the entire pack by importing a file. And the entire pack loads into a list, so it becomes a feed for that subject. You can also just browse for accounts you might want to follow individually.

So, they’re like Bluesky Starter Packs?

Yes, but not quite as convenient. It’s not hard, but because Mastodon does not have a one-click way to do this, you need to download a follow pack file and then use Mastodon’s import facility. Instructions are provided in the directory and also below.

These "follow packs" can also be used from pretty easily. To do it, just download the list you are interested in and run the following command for each one:

snac import_list $BASE_DIR $USER_ID /path/to/the/file.csv
The list will be created and the accounts inside followed. After that, you'll find a link to the list at the top of your private timeline. Please, take note that these lists are not automatically populated; they will eventually fill with the new posts from the new accounts, that will also appear in your timeline.

snac's web UI does not allow maintaining these lists, but you can do it with any Mastodon API client or from https://mastodonlistmanager.org (which is, em, also a Mastodon API client).

The Real Grunfink »
@grunfink@comam.es

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

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.

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

If you find useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/


ティージェーグレェ »
@teajaygrey@snac.bsd.cafe

I submitted a Pull Request to update MacPorts' snac to version 2.64 here:

https://github.com/macports/macports-ports/pull/26709

2 out of 3 of the GitHub Actions Continuous Integration checks passed so far, which is a good sign.

I don't have commit access, so it's up to someone else to merge it.

As in the past, thank you and to other snac contributors for the continued improvements!


Shamar »
@Shamar@qoto.org

I have to say that the more I look at the @grunfink's source code, the more I like it.

The Real Grunfink »
@grunfink@comam.es

I'm glad to announce the release of version 2.64 of , the simple, minimalistic instance server written in C. It includes the following changes (mostly bugfixes):

Some tweaks for better integration with https://bsky.brid.gy (the BlueSky bridge by brid.gy).

A corner case bug in the media proxying code has been fixed.

Hashtags can now include underscores.

The server now creates a pidfile inside the data directory.

Mastodon API: fixed a crash in the notification code, fixed autocapitalization in the OAuth login field (contributed by fkooman).

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

If you find useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/

This release has been inspired by the song Take Me To The River by .

1 ★ 1 ↺
mostlypat boosted

pat »
@pat@patpatpat.xyz

neat, snac works pretty great on mothra (just have to add the correct key to factotum)