39118b985d
Django 5.0 dropped support for serializing sessions with PickleSerializer. brutaldon depended on this because the default JSON serializer does not support datetime objects. This commit adds a simple wrapper using the datetime and decimal handler in django.core.serializers.DjangoJSONEncoder. Brutaldon also saved user information in the session. Mastodon.py returns API data as dictionaries wrapped by a class that adds read-only attributes for every key, to allow dotted access, and brutaldon saved some of these directly to the session. A trip through the JSONSerializer turns them back into normal dictionaries. For compatibility, this commit pulls in the python-box package as a dependency to restore dotted access as used in views.py. |
||
---|---|---|
brutaldon | ||
docs/screenshots | ||
.gitignore | ||
.gitlab-ci.yml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
INSTALL.md | ||
LICENSE | ||
Pipfile | ||
README.md | ||
manage.py | ||
package.json |
README.md
Brutaldon
Note: If you are seeing this on Github, this repo is a mirror that may not be up-to-date. Please go to https://gitlab.com/brutaldon/brutaldon for the latest code.
Brutaldon is a brutalist, Web 1.0 web interface for Mastodon and Pleroma. It is not a Mastodon-compatible social networking server; rather, it is just a client, like the Android or iOS client for Mastodon you may already be using, but it runs in a web server, and is accessed through a web browser. It works great in text-mode browsers such as Lynx, w3m, or elinks, and also in more heavy-weight graphical browsers, such as Firefox. It works completely without JavaScript, but if JavaScript is available and enabled, it will be used to unobtrusively enhance the user experience.
There is a hosted instance at brutaldon.org which you can use to log in to any instance. However, you are also encouraged to run your own, either locally or on a public server.
Brutaldon is ready for day to day use. It is still missing some features you might want, like lists, filters, and editing your own profile. Please see the issues tracker.
Screenshots
People love screenshots, whatever the project, so here we are. These screenshots are relatively old.
Roadmap
- Single user read-only access; log in and read home timeline
- Fix edge cases of toot display (CW, media, boosts)
- Multi-user, multi-instance support
- Add support for reading local and federated timelines, notifications, favorites, threads
- Add support for tag timelines
- Add support for viewing profiles
- Add support for posting.
- Add support for posting media.
- Add support for favoriting and boosting toots.
- Add support for following, blocking, and muting users.
Aesthetic
No automatic page updates: refresh the page to see new toots. No endless scroll: there's a "next page" link. No autocompletion of anything: use another lynx process in another screen window to look things up. UTF8 clean.