Mirror of cy384/ssheven@github.com - Mac OS 7-9 SSH client
Go to file
cy384 51c41578e7 screen update improvements 2021-01-23 12:32:17 -05:00
CMakeLists.txt code cleanup/rearrangement 2021-01-09 17:22:40 -05:00
LICENSE init 2020-06-08 12:53:38 -04:00
README.md add build script and update readme 2021-01-09 18:17:24 -05:00
build-ssheven.bash add build script and update readme 2021-01-09 18:17:24 -05:00
ssheven-console.c screen update improvements 2021-01-23 12:32:17 -05:00
ssheven-console.h initial implementation of selection and copying 2021-01-22 19:47:48 -05:00
ssheven-constants.r only send mouse clicks when the console wants them (version->0.8.5) 2021-01-11 17:21:47 -05:00
ssheven-debug.c code cleanup/rearrangement 2021-01-09 17:22:40 -05:00
ssheven-debug.h code cleanup/rearrangement 2021-01-09 17:22:40 -05:00
ssheven-icons.r preferences dialog with color settings 2020-10-04 12:19:49 -04:00
ssheven-net.c code cleanup/rearrangement 2021-01-09 17:22:40 -05:00
ssheven-net.h code cleanup/rearrangement 2021-01-09 17:22:40 -05:00
ssheven.c improve draw speed of the fast draw mode 2021-01-22 21:16:17 -05:00
ssheven.h improve draw speed of the fast draw mode 2021-01-22 21:16:17 -05:00
ssheven.r screen update improvements 2021-01-23 12:32:17 -05:00

README.md

ssheven box

ssheven

A modern SSH client for Mac OS 7/8/9.

Project status: as of 0.8.0 (see github releases), a functional SSH client with color terminal emulation, able to login via key or password. See roadmap below for upcoming work (i.e., things that aren't done yet).

ssheven screenshot

system requirements

  • CPU: Any PPC processor, or at least a 25 MHz 68040/68LC040. Presently, all 68030 and 68020 CPUs are too slow.
  • RAM: 2MB.
  • Disk space: 1MB for the fat binary.
  • System 7.5 or later, possibly earlier System 7 with the Thread Manager extension.
  • Open Transport networking required, latest version possible highly recommended.

feature/bug-fix roadmap

0.9.0

  • clean up network ops (write fn, read safety)
  • fix preferences loading/saving, include key stuff, add known_hosts reset option
  • general ssheven code cleanup
  • text selection + copy

1.0.0 (first "real" release)

  • nicer error presentation for more failure cases
  • read Apple HIG and obsessively optimize placement of all GUI elements
  • license info in an about box type thing
  • finish and upload papercraft box, floppy sticker artwork, icon/logo svg

known bugs

  • initial key exchange is too slow for 68030 and 68020 systems (improve mbedtls_mpi_exp_mod and maybe the assembly BN code?)
  • input latency feels high? related to draw speed/frequency? (maybe try to use an "offscreen graphics world" framebuffer? big refactor)
  • receiving a large amount of data breaks the channel (e.g. cat /dev/zero)
  • hook scrolling into vterm to reduce redraws/blanking

possible upcoming features

  • font face and size options
  • scp file transfer
  • more complete color support (will need to use color quickdraw, currently uses an 8-color hack for traditional quickdraw)
  • keyboard-interactive authentication

build

Uses Retro68 and cmake.

Requires mbedtls, libssh2, and libvterm, see my (cy384's) ports of those libraries for details. Note that you need to build/install each for both platforms (m68k and PPC).

To build a fat binary, edit build-ssheven.bash with the path to your Retro68 build, and then run it.

license

Licensed under the BSD 2 clause license, see LICENSE file.