Home

Awesome

DOStodon

This is the source of DOStodon, a Mastodon client for MS-DOS.

DOStodon is implemented in Javascript and relies on a yet unreleased version of DOjS to run.

Help on this project is very much appreciated, contact me on Mastodon or in the DOjS Discord if you want to help or have questions...

Quick start

Just download the whole repository.

Attention:

Starting with 4.4.x Mastodon seems to have deactivated the "password" oAuth method. The only way to authenticate now (and get a valid token) seems to be via redirection to an HTML page that does the authentication (see here). Naturally DOStodon can not support that. Until there is a solution you will not be able to log into instances that do not support "password" authentication.

Linux version

There is a highly experimental Linux version of DOStodon included. It is based on DOjS v1.12. You can try it at your own risk. You need to compile DOjS yourself, please look at this instruction how to do that. Fullscreen mode does not get keyboard input on WSL2, you can switch to windowed mode by removing the -u option in dostodon.sh.

<img src="https://github.com/SuperIlu/DOStodon/raw/main/images/timeline.png" alt="DOStodon timeline" width="200"> <img src="https://github.com/SuperIlu/DOStodon/raw/main/images/profile.png" alt="DOStodon profile" width="200"> <img src="https://github.com/SuperIlu/DOStodon/raw/main/images/find_user.png" alt="DOStodon find user" width="200"> <img src="https://github.com/SuperIlu/DOStodon/raw/main/images/hashtag.png" alt="DOStodon hashtag" width="200">

Usage

First start

Please run DOStodon <server> <email> <password>

Example: DOStodon mastodon.social jon@somwhere.com 123abcABC

The access tokens are stored in CREDS.JSN if the login is successful.

subsequent starts

Just run DOStodon.

Proxy support

If you want DOStodon to use a proxy you have to set the following ENV variables:

NOISE.SYS

DOStodon supports NOISE.SYS, a MS-DOS random number generator. It can be obtained here: https://github.com/robrwo/noise.sys

Keys

Common

Timelines

Tag timeline

Notifications

Editor

Profile screen

General

Limitations

Hacking/contributions

The source is split into several files right now:

DOStodon is implemented using DOjS native API (no p5js emulation). Network operations block the input processing/rendering.

DOSBox-staging config

I use DOSBox Staging to test this version of DOStodon. A NE2000 packet driver can be found on this page here.

DO NOT use DOSBox-X right now, it has a known bug in file io which creates broken SQLite databases DOSBox-staging has a problem with mouse support, thats why I disabled that in the example config!

My dosbox-staging.conf looks like this:

[sdl]
capture_mouse = nomouse

[dosbox]
memsize = 64

[cpu]
cputype = pentium_slow
cycles  = max

[ethernet]
ne2000  = true
nicbase = 300
nicirq  = 3
macaddr = AC:DE:48:88:99:AA

[autoexec]
mount c E:\_DEVEL\GitHub\DOStodon
PATH=d:;%PATH%
c:
ne2000 0x60 3 0x300

TODO

Changelog

20. October 2024

18. August 2024

14. June 2024

5. April 2024

01. February 2024

26. January 2024

16. January 2024

13. January 2024

06. January 2024

16. Oktober 2023

14. Oktober 2023

11. Oktober 2023

23. august 2023

05. august 2023

19. july 2023

8. july 2023

25. june 2023

21. june 2023

14. may 2023

10. may 2023

7. apr 2023

4. mar 2023

4. feb 2023

14. jan 2023

13. jan 2023

12. jan 2023

8. jan 2023

7. jan 2023

6. jan 2023

1. jan 2023

29. Dec 2022

28. Dec 2022

26. Dec 2022

22. Dec 2022

20. Dec 2022

19. Dec 2022

17. Dec 2022

15. Dec 2022

14. Dec 2022

13. Dec 2022

11. Dec 2022

4. Dec 2022

2. Dec 2022

1. Dec 2022

30. Nov 2022

27. Nov 2022

26. Nov 2022

18. Nov 2022

16. Nov 2022

14. Nov 2022