IcyTERM is a BBS terminal program with allows you to connect to BBSes. Visit https://www.telnetbbsguide.com/ for a start to enter the BBS world.
Features supported so far:
- Platforms: Linux, macOs, Windows
- Telnet, SSH, Websockets and Raw connections.
- Ansi BBS, Avatar, PETSCII, ATASCII and Viewdata emulation
- File transfer X/Y/Z Modem and variants (1k/1k-G/8k)
- Rich set of ansi features
- Modern engine with extended colors, 24bit fonts, ice support
- Sixels, loadable fonts, ansi macros, osc8 www links
- ANSI music
- Misc features
- 3D accelerated rendering engine
- IEMSI autologin
- Baud emulation
- Exporting buffer to disk & capture session
- Copy & Paste
- And many more. If something is missing open a feature request :)
Get the latest release here: https://github.com/mkrueger/icy_term/releases/latest
Code page 437 (aka "DOS") support:
Petscii screenshot:
Atascii screenshot:
Viewdata screenshot:
I had an own BBS back in the 90'. When I started rust I searched a project and some days earlier I spoke with my wife about the good old days, PCBoard and then I got the idea to improve the PPL decompiler we used these days. That was my first project and it was successful (https://github.com/mkrueger/PPLEngine). Around that time I learned that there are still BBSes in the internet and I started to update my old ansi drawing tool (MysticDraw) however I lost a bit track because of the gtk4 bindings. It's very difficult to write even a mid sized UI application with these.
First I tried to ressurect my old ansi drawing tool (Mystic Draw) using gtk4 bindings. But they didn't really suit my needs. Tried Druid/Egui/Iced and decided to do a smaller project that relies on an ansi engine too.
So I decided to do a terminal program. After a first implementation with iced (cool library, can recommend) I switched to egui because I needed an opengl control and the support in iced for that was lacking at that point of time.
So this was more of a test project for the ansi engine & writing rust UI apps but it got a bit larger than I thought and now IcyTerm is a fully featured terminal app for BBSes.
- Install rust toolchain: https://www.rust-lang.org/tools/install
- On linux you need "sudo apt-get install build-essential libgtk-3-dev libasound2-dev libxcb-shape0-dev libxcb-xfixes0-dev"
- Then you're ready to go "cargo run"