@prologic@twtxt.net sounds about right. I tend to try to build my own before pulling in libs. learn more that way. I was looking at using it as a way to build my twt mirroring idea. and testing the lex parser with a wide ranging corpus to find edge cases. (the pgp signed feeds for one)
@prologic@twtxt.net the add function just scans recursivley everything.. but the idea is to just add and any new mentions then have a cron to update all known feeds
@prologic@twtxt.net yeah it reads a seed file. I’m using mine. it scans for any mention links and then scans them recursively. it reads from http/s or gopher. i don’t have much of a db yet.. it just writes to disk the feed and checks modified dates.. but I will add a db that has hashs/mentions/subjects and such.
@prologic@twtxt.netd It is pretty basic, and depends on some local changes i am still working out on my branch.. https://gist.github.com/JonLundy/dc19028ec81eb4ad6af74c50255e7cee
@lyse@lyse.isobeef.org @prologic@twtxt.net very curious… i worked on a very similar track. i built a spider that will trace off any follows =
comments and mentions from other users and came up with:
twters: 744
total: 52073
curl https://raw.githubusercontent.com/jointwt/we-are-twtxt/master/we-are-twtxt.txt | grep -v '^niplav ' | field 2 | xargs curl ^/dev/null | grep niplav
here we go
@prologic@twtxt.net “What the hell does cartesianly mean?! 😳” Me inventing a new adjective for “there is only a one-way flow of information” ^^
Maybe I could write a script that trawls the we-are-twtxt list and notifies me when I’m mentioned–the name should be unique enough.
Disadvantage of twtxt: less incentives to reply to people since it’s not certain they’ll ever see it. My current solution to that is to follow everybody on the we-are-twtxt and only unfollow if they twt a lot of stuff I’m not interested in
@felixp7@twtxt.net “Yo, crypto-heads. Encrypted communication doesn’t protect your privacy. Laws …” I guess crypto-heads are often happy with acknowledging this, but also arguing that e.g. deniable crypto is a useful way out here (and, of course, just doing illegal stuff if it gets really rough).
FOLLOW: @xuu@txt.sour.is from @niplav@niplav.github.io using txtnish/0.2
Following with interest the developer activity regarding the twtxt spec at twtxt.net
@prologic@twtxt.net I am trying to cut costs, so I deleted all my Digital Ocean droplets. For a month I will be using a free s390x VPS, so I needed to adapt some of my Docker images, scripts and configurations for that architecture. Also took another chance with Traefik Proxy, I ditched it long ago for nginx-proxy, but this time I made it work. #h5nn5tq
@prologic@twtxt.net that I do. lol. I am xuu on hackint.org and freenode
@prologic@twtxt.net sure. I don’t use signal much because I have to disclose my personal phone. Telegram? https://www.t.me/xypheri
go run ./cmd/stats https://twtxt.net/user/prologic/twtxt.txt
@xuu@txt.sour.is @prologic@twtxt.net Your feed was great for catching edge cases ;)
@prologic@twtxt.net https://github.com/JonLundy/twtxt/tree/xuu/integrate-lextwt I made a stats command for the new parser that extracts a bunch of info about a twtxt file. run like: go run ./cmd/stats https://twtxt.net/user/prologic/twtxt.txt
FOLLOW: @xuu@txt.sour.is from @lyse@lyse.isobeef.org using twtxt/1.2.3
@prologic@twtxt.net yep!some of the lexer is directly copied from monkey-lang. love that book series.
@prologic@twtxt.net ah I need to add an edge case for naked urls with fragments.
@prologic@twtxt.net yep. it actually extracts everything at parse time. like mentions/tags/links/media. so they can be accessed and manipulated without additional parsing. it can then be output as MarkDown
@adi@twtxt.net @prologic@twtxt.net using regex. which can be a rather inexact science ;)
@prologic@twtxt.net kinda.. It can parse the twts into an AST.. but most of the formatting out expects a string to do regex over rather then the parsed AST. thats what i am working out next.
@prologic@twtxt.net as promised! https://github.com/JonLundy/twtxt/blob/xuu/integrate-lextwt/types/lextwt/lextwt_test.go#
the lexer is nearing completion.. the tough part left is rooting out all the formatting code.
the !zet I have written for my wiki is probably going to end up replacing what I’ve been using twtxt for these past few months. this means less spam here. you’re welcome.
@prologic@twtxt.netdd ooh I am adding that to my test suite
@prologic@twtxt.net @gareppa Tis fake.. that is the name of the tower in Die Hard. A movie that takes place on Christmas Eve. The actual name of the Nakatomi Plaza is the FOX Plaza.
@prologic@twtxt.net I agree, should have asked for help. Neither the bridge network nor any other bridge-based custom network allowed the containers to contact external servers, it might have been an iptables issue. #twflvza
@prologic@twtxt.net went over to watch this one in my home town last night. https://youtu.be/kUZB0_Jx3iE
@oevl@twtxt.net @prologic@twtxt.net (#) for the most part a subject is just the content in the perens. Usually it’s a tag. It appears near the start after any mentions. It can also contain text like (re: subjects)
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/pcqworq
@xuu@txt.sour.is yikes the style sheet for blogs needs help.
@prologic@twtxt.net (#5jqioeq) Wrote up a blog post here: https://txt.sour.is/blog/xuu/2020/12/21/twtxt-auto-discovery
New Blog Post Twtxt Auto Discovery by @xuu@txt.sour.is 📝
@deadguy @prologic@twtxt.net been stewing on a discovery proto for twtxt. support for defining multiple ways to host/mirror a twtxt file. while being low tech enough to still be scriptable with basic Unix commands.
@adi @prologic@twtxt.net I’ll give it a spin first thing in the AM
Yes @prologic@twtxt.net, I will be cross-posting to twtxt.net, following the POSSE principle https://indieweb.org/POSSE . #vjdyupq
that’s it. I’m finding another twtxt client.
Atelophobia by @hecanjog@hecanjog.com [[https://hecanjog.bandcamp.com/album/atelophobia]] #links #bandcamp
@prologic@twtxt.net when its ready.. this is still in beta.
@prologic@twtxt.net It did, posting from txtnish, nice to know. #utwnv7q
@prologic@twtxt.net Testing if this will be added to the thread just adding the hashtag. #utwnv7q
@prologic@twtxt.net Txtnish adds a 28 character timestamp to the message, so in Bash: tweet=tail -1 the current twtxt.txt file and then pipe echo body=${tweet:28} to twt.
Using twt as a post_tweet_hook for txtnish to re-post to a twtxt “pod” https://github.com/jointwt/twtxt
Seems like twtxt-el does not retrieve a timeline. #emacs
Testing twtxt-el by posting this status message.
@prologic@twtxt.net yeah it would replace rice. best part is that it’s in the go build step so you don’t need to do any prep work with make.
@prologic@twtxt.net after stewing on it. I really like the idea of a wiki. throw it on the roadmap after DMs 😆
@prologic@twtxt.net (#keh22ka) maybe a custom linking method on a pod level? like can pass a template that gets translated. ex https://{domain}/wiki/{nick}/{tag}
+ !somepage
-> https://sour.is/wiki/xuu/somepage
@prologic@twtxt.net found it!
2020-07-25T00:52:27.000000Z a new twtxt/weewiki feature: any word starting with ‘!’ will translate to an internal weewiki reference in my HTML renderer. Example: here is my !wiki_index
@prologic@twtxt.net I see them is why I ask. like here #cwqmygq they use both hashtag and bangtag?
@prologic@twtxt.net 😁 that is me testing locally. does it notify you somehow when I follow?
@prologic@twtxt.net do you have any info on how the ‘!’ tags are supposed to work? are they just a different kind of hash tag?
Setting up txtnish on the Linux side of one of my computers that runs CloudReady. #twtxt #txtnish #chromeos
@prologic@twtxt.net one.. kinda sorta option would be to tailor a workflow for each of the archs.. see https://github.com/JonLundy/twtxt/runs/1568071072?check_suite_focus=true
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/rxjzdwa
@xuu@txt.sour.is @prologic@twtxt.net oh.. you are.. maybe i don’t understand the issue with building?
@prologic@twtxt.net have you tried using the macos github build environment? looks like they have a windows one too.
@prologic@twtxt.net you think its time the version to get bumped? :)
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/wyoav2q
@xuu@txt.sour.is @prologic@twtxt.net had to up my twt size a bit.
-----BEGIN CRYPTUTIL ENCRYPTED MESSAGE-----
l0GwFAQpx3ed+bZlcQ+pexbynFzZOm8EI/FivGbWQ16whyTkToVv8S2GSAjrsJoT
37MdaBDpoitli/f/aP130b6O6SnK/LdHHJ1DTvWgxB14sq9b4mRtk7HvYzA=
-----END CRYPTUTIL ENCRYPTED MESSAGE-----
@xuu@txt.sour.is @prologic@twtxt.net This? Fingerprint: 161c614f08e4ed4d1c8e5410f8c457e6878574dbab7c9ac25d474de67db1bdad
@prologic@twtxt.net I use https://key.sour.is/id/me@sour.is
I would need an out-of-band way to verify your public key’s fingerprint though 🤣
@prologic@twtxt.net Ok.. so using NaCL boxes. yeah its just a combo of using secretbox with a generated key/nonce. and then using the pubkey box to encrypt the key/nonce for each device.
Can we not have clients sign their own public keys before listing them on their Pod’s account?
Yeah.. we probably could. when they setup an account they create a master key that signs any subsequent keys. or chain of signatures like keybase does.
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/raylsra
@prologic@twtxt.net def would be a wider discussion on preventing the pod from adding its own key to a users device list. Or using device keys to authenticate instead of user/pass.
@prologic@twtxt.net pod should probably track revocation of device keys and delete the encryptedkeys that are paired with revoked keys
@prologic@twtxt.net device gets the cypertext and uses it’s device key to decrypt one of the keys and then decrypts the cypertext.
@prologic@twtxt.net sender generates an AES key encrypts message. gets the device list for user and encrypts key for each device. sends the encryptedkeys+cypertext.
@prologic@twtxt.net for encryption. we can have browser/app generate ec25519 keypair. store the private on device and add pub to list of devices for the user on pod.
@prologic@twtxt.net 👋 I can take a stab at it when I am done with the changes I am working on.
@prologic@twtxt.net my bad.. my next one is more fun.
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/xkpbn6a
@prologic@twtxt.net I see.. so using an ec25519 key as identity? and some kind of certificate to define the location of a feed? or maybe a DHT like Kademlia? TwTorrent ;)
@prologic@twtxt.net kinda like how MX records work.
@prologic@twtxt.net My thoughts on it being if they switched from a different way of hosting the file or multiple locations for redundancy..
I have an idea of using something like SRV records where they can define weighted url endpoints to reach.
@prologic@twtxt.net just an off the wall question about hashes. why not use the time+message as it was in the original twtxt.txt file? is it because it’s just not store anyplace?
also how set in stone is using user+url? vs user@domain? the latter would mean the url could change without invalidating the hash.
@prologic@twtxt.net when i get the code up to a shareable level ill ping with what i have.
@prologic@twtxt.netd so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.
type Twt interface {
Twter() Twter
Text() string
MarkdownText() string
Created() time.Time
...
}
@prologic@twtxt.net yeah I do.
It seems a bit wonky that it imports from your packages in some places. I’m guessing that’s some legacy bits that need updates?
@prologic@twtxt.net I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for ParseFile
Kinda wish types.Twt was an interface. it’s sooo close.
@lyxal@twtxt.net @prologic@twtxt.net yah. the service can have a flag for allowing non-TLS for development. but by default ignores.
are there some users that use alternative protos for twtxt? like ftp/gopher/dnsfs 🤔
My latest work over the last few days. a twtxt parser. so far looking promising. Faster and less memory than the regex version. 😁
@prologic@twtxt.net @lyxal@twtxt.net blocking http would be a good start
@admin @lyxal@twtxt.net hax?
with some scripting, I could probably use my upcoming !weewiki !zettelkasten as a drop-in replacement for !twtxt, and then generate the twtxt file. however, I think I am going to keep them separate for the time being. let them both grow to serve different purposes.
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/nuwjdna
@prologic@twtxt.net an added benefit of the avatar:
would be the user could put their gravatar/libravatar image url like https://key.sour.is/avatar/01bc6186d015218c23dec55447e502e669ca4c61c7566dfcaa1cac256108dff0
@prologic@twtxt.net Could the config be embeded into the head comment of the twtxt.txt file and parsed out? If it also had an avatar:
field that pointed to where the avatar image is located it can be almost all self contained.
New Blog Post Test Blog by @xuu@txt.sour.is 📝
FOLLOW: @xuu@txt.sour.is from @vain@www.uninformativ.de using twtrd/latest
@hecanjog@hecanjog.com has a twtxt feed yay
@lyxal@twtxt.net @prologic@twtxt.net if we edit the txt file does it update on web?
@prologic@twtxt.net the HKP is http keyserver protocol. it’s what happens when you do gpg --send-keys
makes a POST to the keyserver with your pubkey.
@prologic@twtxt.net looking through the drafts it looks like it actually used SRV records as recently as 2018 😵