@grunfink@comam.es avatar

grunfink

@grunfink@comam.es

Author of the #snac #ActivityPub instance server and other pieces of singular software. They/their. Not a real Grünfink. #fedi22

This profile is from a federated server and may be incomplete. Browse more on the original instance.

grunfink, (edited ) to fediverse
@grunfink@comam.es avatar

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

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.

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

If you find 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.

iwojima, to random

hurray! federation within hidden networks included into snac!
thank you @grunfink for your great work!

https://codeberg.org/grunfink/snac2/commit/040c43fb08fb4c9c00240c53515432f5f83454c9

grunfink,
@grunfink@comam.es avatar

Thanks to you for your help!

firefly, to random
@firefly@neon.nightbulb.net avatar

I notice that when viewing a snac profile from another instance all instances show zero followers and zero followees. What do I need to configure for the snac server to report the correct numbers?

@grunfink

grunfink,
@grunfink@comam.es avatar

This is intentional and by design. I consider using metrics like follower counts as misleading and toxic.

More about this:

https://comam.es/snac/grunfink/p/1711178049.868524

klopo, to random
@klopo@opbsd.rintik.xyz avatar

Hi @grunfink

How do you delete user header image (banner) ?

grunfink,
@grunfink@comam.es avatar

I'm afraid it's not possible by now from the web UI, you can only replace it with another one. I'll think of a way to implement it.

Meanwhile, as a workaround, you can edit the user.json file and replace the header field to the empty string "".

klopo, to random
@klopo@opbsd.rintik.xyz avatar

Modifikasi tema berdasarkan tema Paper buatan @voron
merubah background menjadi terang dan beberapa detil kecil lainnya. Untuk font pakai Source Serif 4 dari Google Fonts. https://fonts.google.com/specimen/Source+Serif+4

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap');<br></br><br></br>*,<br></br>*:before,<br></br>*:after {<br></br>  box-sizing: border-box;<br></br>}<br></br>body {<br></br>  max-width: 48em;<br></br>  margin: 0 auto;<br></br>  line-height: 1.5;<br></br>  padding: 0.5rem 1rem;<br></br>  word-wrap: break-word;<br></br>  height: 100%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=292929" rel="tag">#292929</a>;<br></br>  font-weight: 400;<br></br>  font-size: 16px;<br></br>  font-family: 'Source Serif 4', Georgia, serif;<br></br>  line-height: 1.725;<br></br>  text-rendering: geometricPrecision;<br></br>  display: flex;<br></br>  flex-direction: column;<br></br>  overflow-wrap: break-word;<br></br>}<br></br>blockquote { font-style: italic; border-left: 5px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=e85d04" rel="tag">#e85d04</a>; border-radius: 0.4em; padding: 0rem 0 0rem 0.5rem }<br></br>video {<br></br>    aspect-ratio: 16 / 9;<br></br>}<br></br>sup {<br></br>  padding: 0 2px;<br></br>  border-radius: 5px;<br></br>  line-height: 99%;<br></br>  left: 4px;<br></br>  position: relative;<br></br>  bottom: 4px;<br></br>}<br></br>a {<br></br>  text-decoration: none;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=023e8a" rel="tag">#023e8a</a>;<br></br>}<br></br><br></br>.snac-content a:hover {<br></br>    text-decoration: underline;<br></br>}<br></br><br></br>pre {<br></br>    padding: 1em;<br></br>    border-radius: 6px;<br></br>    overflow: auto;<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eee" rel="tag">#eee</a>;<br></br>    margin: 1em 0;<br></br>    tab-size: 1rem<br></br>}<br></br>pre, code {<br></br>    font-family: 'SF Mono', monospace, Consolas, Courier New;<br></br>    font-size: 90%;<br></br>}<br></br>p code, div code {<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eee" rel="tag">#eee</a>;<br></br>    border-radius: 3px;<br></br>    font-size: 85%;<br></br>    padding: 1px 2px;<br></br>}<br></br>input[type="file"] {<br></br>  margin-bottom: 1rem;<br></br>  width: 100%;<br></br>}<br></br>select,<br></br>input[type=file]::file-selector-button {<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.3rem;<br></br>}<br></br>select:hover,<br></br>input[type=file]::file-selector-button:hover {<br></br>  background: rgb(201, 201, 203);<br></br>}<br></br>input[type="text"] {<br></br>  height: auto;<br></br>  font-size: inherit;<br></br>  width: 100%;<br></br>  color: inherit;<br></br>  border-radius: 4px;<br></br>  border: inherit;<br></br>}<br></br>input[class^="snac-btn-"] {<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.3rem;<br></br>  font-size: 85%;<br></br>}<br></br>input[class^="snac-btn-"]:hover {<br></br>  background: rgb(201, 201, 203);<br></br>}<br></br>input[name="telegram_bot"] {<br></br>  margin-bottom: 0.5rem;<br></br>}<br></br>.snac-note input[value="Post"],<br></br>.snac-top-controls input[value="Post"],<br></br>.snac-top-controls input[value="Follow"],<br></br>.snac-top-controls input[value="Boost"],<br></br>.snac-top-controls input[value="Update user info"] {<br></br>  background: rgb(100, 149, 237, 0.2);<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=6495ed" rel="tag">#6495ED</a>;<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.5rem 1rem;<br></br>  font-weight: 700;<br></br>}<br></br>.snac-note input[value="Post"]:hover,<br></br>.snac-top-controls input[value="Post"]:hover,<br></br>.snac-top-controls input[value="Follow"]:hover,<br></br>.snac-top-controls input[value="Boost"]:hover,<br></br>.snac-top-controls input[value="Update user info"]:hover {<br></br>  background: rgb(100, 149, 237, 0.3);<br></br>}<br></br>.snac-top-controls input[value="Follow"],<br></br>.snac-top-controls input[value="Boost"] {<br></br>  margin-top: 0.5rem;<br></br>}<br></br>.snac-top-controls > div > details > summary::marker {<br></br>  content: "✏️ ";<br></br>}<br></br>.snac-top-controls <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=new_post_form" rel="tag">#new_post_form</a> details:first-of-type summary::marker {<br></br>  content: "📎 ";<br></br>}<br></br>.snac-top-controls <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=new_post_form" rel="tag">#new_post_form</a> details:last-of-type summary::marker {<br></br>  content: "📊 ";<br></br>}<br></br>.snac-top-controls > details:first-of-type summary::marker {<br></br>  content: "🗃️ ";<br></br>}<br></br>.snac-top-controls > details:last-of-type summary::marker {<br></br>  content: "⚙️ ";<br></br>}<br></br>form[id$=_reply_form] details:first-of-type summary::marker {<br></br>  content: "📎 ";<br></br>}<br></br>.snac-controls details:first-of-type summary::marker {<br></br>  content: "🗨️ ";<br></br>}<br></br>.hashtag, .hashtag span { color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=ef233c" rel="tag">#ef233c</a>; font-weight: 600;}<br></br>h2::before {<br></br>  position: absolute;<br></br>  left: -1.2rem;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=6495ed" rel="tag">#6495ED</a>;<br></br>  content: "<a class="mention hashtag" href="https://opbsd.rintik.xyz?t="" rel="tag">#"</a>;;<br></br>  font-size: 1.5rem;<br></br>}<br></br>h2 {<br></br>  position: relative;<br></br>  display: block;<br></br>  margin-left: 1rem;<br></br>}<br></br>textarea,<br></br>input {<br></br>  outline: none;<br></br>  padding: 0.3rem;<br></br>  background: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=dedcd9" rel="tag">#dedcd9</a>;<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>}<br></br>textarea[name="bio"],<br></br>textarea[name="metadata"] {<br></br>  width: 100%;<br></br>}<br></br>textarea:focus,<br></br>input:focus {<br></br>  background: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eae9e7" rel="tag">#eae9e7</a>;<br></br>}<br></br>summary {<br></br>   border-radius: 4px;<br></br>   padding: 0.1rem 0.2rem;<br></br>   width: fit-content;<br></br>}<br></br>summary:hover {<br></br>  cursor: pointer;<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>}<br></br>.snac-content-attachments img {<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=ccc" rel="tag">#ccc</a>;<br></br>    border-radius: 8px;<br></br>}<br></br>.snac-embedded-video,<br></br>img {<br></br>  max-width: 100%;<br></br>  border-radius: 4px;<br></br>}<br></br>.snac-origin {<br></br>  font-size: 85%;<br></br>  font-family: system-ui, sans-serif;<br></br>  color: limegreen;<br></br>  margin-top: 0.3rem;<br></br>}<br></br>.snac-origin>a {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>}<br></br>.snac-score {<br></br>  float: right;<br></br>  font-size: 85%;<br></br>  margin-left: 0.5rem;<br></br>}<br></br>.snac-metadata {<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-top-user-name {<br></br>  font-size: 150%;<br></br>  font-family: system-ui, sans-serif;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=444" rel="tag">#444</a>;<br></br>  margin-bottom: -1.1rem;<br></br>  margin-top: 0.5rem;<br></br>}<br></br>.snac-top-user-id {<br></br>  font-size: 110%;<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-top-user-bio {<br></br>    margin-bottom: 1em;<br></br>}<br></br>.snac-top-user-bio br {<br></br>    display: none;<br></br>}<br></br>.snac-top-nav {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=e2e0de" rel="tag">#e2e0de</a>;<br></br>  display: flex;<br></br>  align-items: center;<br></br>  justify-content: end;<br></br>}<br></br>.snac-top-nav > a {<br></br>  text-transform: capitalize;<br></br>  border-left: 1px solid;<br></br>  padding-left: 0.6rem;<br></br>  line-height: 1em;<br></br>}<br></br>.snac-top-nav > a:first-of-type {<br></br>  padding-left: 0;<br></br>  border-left: 0;<br></br>}<br></br>.snac-top-nav>a:hover {<br></br>  text-decoration: underline;<br></br>}<br></br>.snac-top-nav>.snac-avatar {<br></br>  margin-right: auto;<br></br>}<br></br>.snac-avatar {<br></br>  float: left;<br></br>  height: 2.5rem;<br></br>  aspect-ratio: 1 / 1;<br></br>  margin-right: 0.5rem;<br></br>  border-radius: 8px;<br></br>}<br></br>.snac-author {<br></br>  font-size: 95%;<br></br>  text-decoration: none;<br></br>  font-weight: 700;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>}<br></br>.snac-author-tag {<br></br>  font-size: 90%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>  text-decoration: none;<br></br>}<br></br>.snac-pubdate {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=a0a0a0" rel="tag">#a0a0a0</a>;<br></br>  font-size: 90%;<br></br>  float: right;<br></br>}<br></br>.snac-top-controls {<br></br>  padding-bottom: 1.5em;<br></br>}<br></br>.e-content summary {<br></br>  margin-bottom: 1rem;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1121f" rel="tag">#c1121f</a>;<br></br>}<br></br>.snac-post {<br></br>  border-top: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1c1c1" rel="tag">#c1c1c1</a>;<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-post-header {<br></br>  line-height: 1.3;<br></br>}<br></br>.snac-children {<br></br>  padding-left: 1.5em;<br></br>  border-left: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1c1c1" rel="tag">#c1c1c1</a>;<br></br>}<br></br>.snac-textarea {<br></br>  font-family: inherit;<br></br>  width: 100%;<br></br>  color: inherit;<br></br>  border-radius: 4px;<br></br>  border: inherit;<br></br>}<br></br>.snac-history {<br></br>  display: none;<br></br>}<br></br>.snac-btn-mute {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unmute {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-follow {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unfollow {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-hide {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-delete {<br></br>  float: right;<br></br>  margin-left: 0.5em<br></br>}<br></br>.snac-btn-limit {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unlimit {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-footer {<br></br>  margin-top: 2em;<br></br>  font-size: 75%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=666" rel="tag">#666</a>;<br></br>}<br></br>.snac-poll-result {<br></br>  margin-left: auto;<br></br>  margin-right: auto;<br></br>}<br></br>@media (max-width: 500px) {<br></br>  body {<br></br>    font-size: 14px;<br></br>  }<br></br>  sup {<br></br>    left: 2px;<br></br>  }<br></br>  .snac-children {<br></br>    padding-left: 1em;<br></br>  }<br></br>  input[class^="snac-btn-"] {<br></br>    font-size: 80%;<br></br>  }<br></br>  .snac-pubdate {<br></br>    font-size: 80%;<br></br>  }<br></br>  h2::before {<br></br>    top: -0.2rem;<br></br>  }<br></br>  .snac-top-nav > a {<br></br>    padding-left: 0.2rem;<br></br>    margin: -0.2rem;<br></br>  }<br></br>}<br></br>
grunfink,
@grunfink@comam.es avatar

Snac does not treat the code wrapper specially, only to wrap it as an HTML "pre". All text prefixed by a # symbol is treated as a hashtag, wherever it is.

dfdx, to mastodon
@dfdx@pub.dfdx.io avatar

After unsuccessfully trying to get , , , and working on , I installed and configured relatively easily.

What a nice surprise. Thanks @grunfink

grunfink,
@grunfink@comam.es avatar

You're welcome! Enjoy your experience.

yonle, to random
@yonle@yonle.lecturify.net avatar

@grunfink hey. you could also link my openbsd snac guide: https://wiki.ircnow.org/index.php?n=Openbsd.Snac

grunfink,
@grunfink@comam.es avatar

Of course. Done.

antics, to random Swedish
@antics@mastodon.nu avatar

Guide: Install snac on (without relayd)

https://chai.guru/pub/openbsd/snac.html

grunfink,
@grunfink@comam.es avatar

Thank you very much. I've just added your guide to the README file.

grunfink,
@grunfink@comam.es avatar

do you by any chance know how to start snac in chroot with rcctl, or if it is even necessary to do that?

Sorry, I have no idea. I'm boosting you question, just in case somebody knows the answer.

tetra, to random
@tetra@meowcity.club avatar

@grunfink Are notifications supposed to work on SNAC 2.51?
Bc I haven't been recieving notifications since I set up this instance

grunfink,
@grunfink@comam.es avatar

Unless something unexpected has broken, they should (I've received a notification from this same message of yours, and you should receive one about this reply).

grunfink, to fediverse
@grunfink@comam.es avatar

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

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.

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

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

This release has been inspired by the album Eternal Embers by .

grunfink,
@grunfink@comam.es avatar

Oh, what a surprise! Glad you also like sutter.

You're welcome!

CC: @stefano

grunfink,
@grunfink@comam.es avatar

I haven't forgot about your work; I've just been a bit too busy these last two weeks.

I made some quick tests with it and noticed some rejections from remote servers, but I'm not completely sure if they were from your patch or from some network outages I suffered these days.

I have real interest in applying it to the trunk, I hope I'll have time to test it again real soon.

grunfink,
@grunfink@comam.es avatar

Thanks for your continued work on helping snac being available to Mac users.

firefly, (edited ) to random
@firefly@neon.nightbulb.net avatar

Is there a way (via cli or by calling a snac function from a script) to poll and auto-accept follows to a certain profile, and then auto-boost all posts that mention that profile address?

The idea is to function like a group on the local server so that all followers will be able to see all toots addressed to the profile.

So user Bob is following user @boost. User Alice posts a status mentioning @boost. The account @boost automatically boosts the post from Alice. Then user Bob eventually can see the boosted post in the timeline.

If there is a way to hack or cobble this I'd probably rather go that route rather than trying to author C code for it. I haven't even tried to write C code for like 20 years, and even then I was not proficient at it. A hackety solution is just as good for my purpose, if anyone can suggest any.

I know I can emulate this behavior by scripting a mastodon client to do it with a cron job. But if there is a way to use snac commands or a config hack I would prefer it.

@grunfink

grunfink,
@grunfink@comam.es avatar

Hi. I'm afraid there is no easy way to automate what you want just using 's command-line interface. As you say, doing it via the Mastodon API could be feasible. I don't know of an already written tool that does this, but it may exist out there.

The 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, to random
@grunfink@comam.es avatar

So it seems that, now that Threads is federating, the most popular person in the fediverse is... Mark Zuckerberg:

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 does not propagate how many followers nor likes a person have.

grunfink,
@grunfink@comam.es avatar

That would be evil 😉

Or even returning zuck.followers + 1000 😆

liaizon, to fediverse
@liaizon@wake.st avatar

Working on a page for my SVG icons. Anyone want to help make this page better? My CSS and HTML abilities are lacking...

The page is live at https://fediverse.wake.st

I have a @Codeberg repo here up here https://codeberg.org/FediverseX/pages

grunfink,
@grunfink@comam.es avatar

@liaizon, I miss Susie, the logo of ...

grunfink,
@grunfink@comam.es avatar

Sorry, no SVG, just this raster image.

grunfink,
@grunfink@comam.es avatar

Cool!

grunfink,
@grunfink@comam.es avatar

Fantastic!

I'm stunned that there are (at least!) 90 pieces of software related to the Fediverse...

grunfink, to fediverse
@grunfink@comam.es avatar

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

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

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

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

This release has been inspired by the song The Raven by .

grunfink,
@grunfink@comam.es avatar

Thanks for the nice words.

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

grunfink,
@grunfink@comam.es avatar

It seems like you don't have libcurl installed in your system (that, and openssl, are the only external dependencies snac requires).

In the README.md file you have instructions on how to install it on several systems.

grunfink,
@grunfink@comam.es avatar

No, it needs the library (not the command-line tool).

grunfink,
@grunfink@comam.es avatar

No; if you want fedi.ofplayers.net (i.e. use the full domain for snac), just set that as the server and don't set a prefix. Your URL will be https://fedi.ofplayers.net/millions .

If you want to use ofplayers.net for other things, and have your snac instance hanging in a subdirectory, then set ofplayers.net as the host and fedi (or the subdirectory you like) as the prefix. Your URL will then be https://ofplayers.net/fedi/millions .

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • kavyap
  • cisconetworking
  • thenastyranch
  • magazineikmin
  • hgfsjryuu7
  • DreamBathrooms
  • InstantRegret
  • Youngstown
  • slotface
  • PowerRangers
  • Durango
  • everett
  • rosin
  • normalnudes
  • vwfavf
  • modclub
  • ethstaker
  • khanakhh
  • tacticalgear
  • ngwrru68w68
  • osvaldo12
  • mdbf
  • tester
  • cubers
  • Leos
  • GTA5RPClips
  • provamag3
  • All magazines