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 😵
@prologic@twtxt.net Web Key Directory: a way to self host your public key. instead of using a central system like pgp.mit.net or OpenPGP.org you have your key on a server you own.
it takes an email@address.com hashes the part before the @ and turns it into [openpgpkey.]address.com/.well-known/openpgpkey[/address.com]/<hash>
@xuu@txt.sour.is With SRV you can set what hostname to be used (and port/priority/etc)
@xuu@txt.sour.is Not too happy with WKD’s use of CNAME over SRV for discovery of openpgpkey.. That breaks using SNI pretty quick. I suppose it was setup as a temporary workaround anyhow in the RFC..
My twtxt feed is now also part of https://github.com/jointwt/we-are-twtxt :-)
@prologic@twtxt.net also :)
@adi @prologic@twtxt.net One reservation about using it with a small community would be the expectation that the discussions at some level stay within the circle as opposed to the internet at large.
@prologic@twtxt.net @twtxt@txt.sour.is I have noticed that I will get some duplicate web mention notifications. some kind of dedup would be helpful.
Trying out twtxt..
WEBMENTION: @xuu@txt.sour.is on https://twtxt.net/twt/c7g6dpq
@prologic@twtxt.net (#gqg3gea) ha yeah. COVID makes for a timey-wimey mish-mash. Worked on some WKD and fought with my XMPP client a bit.
@prologic@twtxt.net Herro! 👋
@prologic@twtxt.net well nice chat. it’s off to bed for me.
@prologic@twtxt.net do you think twt will ever add ActivityPub integration?
@prologic@twtxt.net Yep! installed it yesterday. I like the simplicity of twt. I am quite happy with how little memory the pod seems to use. Mastodon and the “lightweight” Pleroma don’t work well in small VMs.
That way at least we can form some kind of cryptographic “identity” without having to involve the users that much, it just works™
i like some of the work that keys.pub is doing with ed25519 crypto keys with something like that.
@prologic@twtxt.net huh.. true.. the email is md5/sha256 before storing.. if twtxt acted as provider you would store that hash and point the SRV record to the pod. .. to act as a client it would need to store the hash and the server that hosts the image.
@xuu@txt.sour.is @prologic@twtxt.net something that would be interesting would be libravatar for the user image. i made one that does the same for a profile cover image.