2.3 KiB
ssheven
A modern SSH client for Mac OS 7/8/9.
Project status: as of 0.6.0 (see github releases), a functional SSH client with decent terminal emulation, with login via key or password, and is able to run programs like htop
and nano
. See "to do" section below for upcoming work.
system requirements
- CPU: Any PPC processor, or a 33 MHz 68040/68LC040 (maybe 25 MHz). Presently, all 68030/68020 CPUs are too slow.
- RAM: 2MB
- Disk space: 1MB for the fat binary
- System 7.5 recommended, earlier System 7 versions possible with the Thread Manager extension installed
- Open Transport networking required, version 1.1.1 or later recommended
to do
- preferences file
- saving/loading connection settings as a filetype
- check server keys/known hosts/keys
- clean up libssh2 network ops
- nicer error presentation for more failure cases
- read Apple HIG and obsessively optimize placement of all GUI elements
- hook scrolling into vterm
- figure out retro68 mcpu issue
- improve 68k connection performance (rewrite
mbedtls_mpi_exp_mod
in assembly) - improve draw speed (big refactor, need to use an "offscreen graphics world" framebuffer)
- font size options
- text selection + copy
- color
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).
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/powerpc-apple-macos/cmake/retroppc.toolchain.cmake
orcmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
make
Use Rez to build the fat binary: join the data fork from the PPC version and the resource fork from the m68k version.
I have some build scripts that I'll clean up and publish with the 1.0.0 release.
note to self: binary resources can be extracted in MPW via: DeRez "Macintosh HD:whatever" -skip "'CODE'" -skip "'DATA'" -skip "'RELA'" -skip "'SIZE'"
etc., this is especially useful for icons
license
Licensed under the BSD 2 clause license, see LICENSE file.