# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 19
# self = https://watcher.sour.is/conv/txaztua
Has anyone heard of https://ipfs.io? Basically it’s a giant decentralized file system that has an http interface. I was thinking that it might be an interesting way to self host twtxt.txt from a raspberry pi in my house. I’m wondering if anyone has done this already.
@brasshopper You can literally host a twtxt.txt feed anywhere! I used to host my feed on GitHub pages before I built Yarn.social and it’s software components 👌
@brasshopper You can literally host a twtxt.txt feed anywhere! I used to host my feed on GitHub pages before I built Yarn.social and it’s software components 👌
@prologic For sure, I was just wondering if there was any prior work to take it further. IPFS is a decentralized FS. It’s but it is also more, like is a decentralized pubsub. I remember thinking when I first was learning about it that it could probably be used to make a Twitter-like thing. I was busy with other things at the time but seeing twtxt makes me wonder how much of yarnsocial-like functionality could be built using it.
@brasshopper @prologic one of the benefits being that you could pretty easily cache your friends’ feeds on your machine(s) making them available to others but people could verify that you haven’t tampered with them.
> one of the benefits being that you could pretty easily cache your friends’ feeds on your machine(s) making them available to others but people could verify that you haven’t tampered with them.

We already do that, yarnd hashes every incoming Twt it ingests. This has a wonderful wide-effect of conversations that occur across multiple "pods" (_as we call them_) are identically mirrored. To date (_although I've lost count_) we have at least half a dozen independent pods that others run, some that are single-user pods, some that have small communities like my own here.
> one of the benefits being that you could pretty easily cache your friends’ feeds on your machine(s) making them available to others but people could verify that you haven’t tampered with them.

We already do that, yarnd hashes every incoming Twt it ingests. This has a wonderful wide-effect of conversations that occur across multiple "pods" (_as we call them_) are identically mirrored. To date (_although I've lost count_) we have at least half a dozen independent pods that others run, some that are single-user pods, some that have small communities like my own here.
> one of the benefits being that you could pretty easily cache your friends’ feeds on your machine(s) making them available to others but people could verify that you haven’t tampered with them.\n\nWe already do that, yarnd hashes every incoming Twt it ingests. This has a wonderful wide-effect of conversations that occur across multiple "pods" (_as we call them_) are identically mirrored. To date (_although I've lost count_) we have at least half a dozen independent pods that others run, some that are single-user pods, some that have small communities like my own here.
@brasshopper It's _probably_worthwhile reading the extensions we created around Twtxt that are backwards compatible and completely client-implementation and change nothing of the spec here => https://git.mills.io/yarnsocial/yarn/src/branch/master/docs/_posts that make a lot of what you see here possible. The simplest thing you can do if you just host a twtxt.txt file somewhere is also host an avatar.png next to it. Many in the twtxt network at large now do this 👌_=
@brasshopper It's _probably_worthwhile reading the extensions we created around Twtxt that are backwards compatible and completely client-implementation and change nothing of the spec here => https://git.mills.io/yarnsocial/yarn/src/branch/master/docs/_posts that make a lot of what you see here possible. The simplest thing you can do if you just host a twtxt.txt file somewhere is also host an avatar.png next to it. Many in the twtxt network at large now do this 👌_=
@prologic oooh those are good to know (extensions and hashing). I’ll definitely keep those things in mind when experimenting. I’m gonna be busy this weekend but I definitely want to explore this more when I get a chance.
@brasshopper If you manage to have some level of success please feel free contribute to yarnd at https://git.mills.io/yarnsocial/yarn and add support for feeds over IPFS. There is already an issue (_I'll build it soon_) for adding native Gopher support at https://git.mills.io/yarnsocial/yarn/issues/436 👌
@brasshopper If you manage to have some level of success please feel free contribute to yarnd at https://git.mills.io/yarnsocial/yarn and add support for feeds over IPFS. There is already an issue (_I'll build it soon_) for adding native Gopher support at https://git.mills.io/yarnsocial/yarn/issues/436 👌
That's a great idea! As I'm thinking about it more, I remembered that @lohn has his website on IPFS. It looks like his twtxt.txt is also on IPFS. However, from looking at his profile, it looks like he's also running yarnsocial too. Perhaps, @lohn has some input?
@prologic @brasshopper Just for information. I already have my twtxt.txt file accessible thru IPFS.\nEvery hour and every push my CI updates webmentions/facepile, rebuilds the site, copy the twtxt.txt from yarn to the root of the site... >>
@lohn @prologic @brasshopper >>> publish on the static server, to Hyperdrive, and to IPFS. One of the problems of IPFS is that every change creates a new address, so it publishes it to DNS so it can be accessible by IPNS (note the N). >>>
@lohn @prologic @brasshopper You can access my feed in many ways:\n- https://lohn.in/twtxt.txt\n- ipns://lohn.in/twtxt.txt\n- hyper://0c9b71c051daf2d166bc1a90e3b0b06f4664eb3f129e41917927aabcfd95ebad/twtxt.txt
@lohn @prologic @brasshopper Oh, I forgot tor too:\nhttp://lohninszhiczeimrev7sknx7zyjldv5crslvbxo3tb4o7lil4jk6ihid.onion/twtxt.txt\nAnd soon Gemini and Gopher.
@lohn @prologic Thank's for the info, lohn! I was also worried about DNS propagation issues. I was thinking that I could use this ipns flow which I think would allow me to keep my DNS records stable. Have you happened to try that approach?