I've published Macstodon, my silly little Mastodon client for Classic Mac OS to GitHub: https://github.com/smallsco/macstodon

I'm not providing any support or planning any serious development or maintenance of this, it's just a fun little hack project. Please fork and extend :)

Some Gotchas:
- You need MacPython 1.5.2 installed to run it, because my Mac crashes when I try to compile it into a standalone app.
- You need some kind of SSL stripping proxy running on another machine, I recommend WebOne: https://github.com/atauenis/webone
- It only posts plain text toots and doesn't have any other features
- There's no error handling. Expect crashes!

GitHub - smallsco/macstodon: A basic Mastodon client for Classic Mac OS

A basic Mastodon client for Classic Mac OS. Contribute to smallsco/macstodon development by creating an account on GitHub.

GitHub
@smallsco definitely giving this a look when I get home.
@smallsco well, from the screenshots you provided, it reminds me of a similar project I made a long time ago that allowed a Linux user to interact with the birdsite via the Nautilus file manager: https://store.kde.org/p/1007617
NauTwitter

NauTwitter is a Nautilus Script based Twitter client. It features all the basic functions a Twitter client needs: tweeting/retweeting, follow/unfollow, direct messaging, timeline and...

@smallsco @splorp I misread that as โ€œthereโ€™s no error handling *except* crashes,โ€ and can say thatโ€™s relatable.

@smallsco Thanks for the heads up regarding WebOne, this was one of the missing pieces to strip out the SSL from web traffic. I managed to find a docker image to make the hold process easier https://github.com/way5/docker-webone

Now to download MacPython.

GitHub - way5/docker-webone: WebOne HTTP1.X Proxy

WebOne HTTP1.X Proxy. Contribute to way5/docker-webone development by creating an account on GitHub.

GitHub

@apt I'm running the WebOne Docker container as well :)

Note that you might need to add mas.to to the ForceHTTPS section of the WebOne config in order for POST requests to work - I had to do it for oldbytes.space (but not for another instance I tested with).

@smallsco you had me at "there is no error handling"! Thank you for making this available!
@smallsco As longs as you make it sound deliberate then handling errors by crashing is a feature.

@hamishwilliams There is _some_ error handling where I catch a few exceptions and log it to the console. Perhaps it would be better to say that there is no error _recovery_ , because it means the app ends up in an unknown state.

I don't intend to make a serious development effort out of this though - I do programming in my day job as well, so, I don't want to spend a whole lot of time outside of work _also_ doing it. I'm hoping that others will want to contribute, or fork and extend it - open source is a great model!

@smallsco @hamishwilliams ok so first attempt failed as it doesnโ€™t seem to like it if you have TFA enabled, once you enter the TFA code it tired ti load the web archive of the request URL which sounds like itโ€™s timing out somewhere.
@apt That sounds like an issue with WebOne, it will try to load pages from the Internet Archive if the request times out. Try adding your instance's domain (mas.to) to the ForceHTTPS section of your WebOne config file, and restarting it.