|
1 | | -# teatype |
2 | | -The accessible TTY with speed and ease |
| 1 | +# Teatype, the accessible TTY with speed and ease, by Seediffusion! |
| 2 | + |
| 3 | +## Introduction |
| 4 | + |
| 5 | +Teatype is a portable, light-weight, powerful SSH client designed with sightless sysadmins in mind. Unlike many SSH clients, such as PuTTY, Bitvise and XTerm, Teatype doesn't run in a terminal. Instead, it features a graphical TTY interface, with one textbox for entering commands and another showing a line-by-line view of command output. This helps to eliminate a lot of the problems screen reader users might face when using standard terminals, such as parts of the output being cut off or announced weirdly or not being able to see all the output of a very long process, even with a maximised window. |
| 6 | + |
| 7 | +## Full disclosure |
| 8 | + |
| 9 | +A large language model (LLM), specifically Google Gemini 2.5 Pro, was used to write this program. However, rest assured that the program has been thurroughly tested to ensure that it is as stable and reliable as possible. |
| 10 | + |
| 11 | +## What is SSH? |
| 12 | + |
| 13 | +SSH stands for Secure Shell. It is a way of interacting with a computer by sending terminal commands over a local network or the internet using a secure, encrypted connection. SSH client and server software is available for all major computer operating systems, including Unix, Linux, MacOS and Windows, with the most popular SSH solution being the free and open source OpenSSH. |
| 14 | +As well as remotely controlling a system via terminal commands, SSH also allows you to view, upload and download files via SFTP, which is the SSH File Transfer Protocol. |
| 15 | + |
| 16 | +## Teatype features |
| 17 | + |
| 18 | +* A simple, minimalist UI. |
| 19 | +* Includes clear screen reader labelling for all UI elements, such as textboxes, buttons, dropdown menus and checkboxes. |
| 20 | +* The program can be controlled entirely via keyboard shortcuts. |
| 21 | +* Includes an easy-to-use graphical TTY interface with one textbox for entering commands and another for viewing command output line by line. Use the Tab key to switch between the fields and the arrow keys to view their contents. |
| 22 | +* Supports the operating system's dark mode setting and adds a dark theme acordingly. |
| 23 | +* Multi-line commands with indentations are supported. |
| 24 | +* Screen readers will automatically read command output by default. |
| 25 | +* Both password and SSH key authentication is supported. |
| 26 | +* Control + C (signal interrupt) and Control + D (end of transmission) are supported. |
| 27 | +* An SFTP file browser and editor is included. |
| 28 | + |
| 29 | +## Download and installation |
| 30 | + |
| 31 | +### From source |
| 32 | + |
| 33 | +Here are the instructions for running Teatype from its source code on Windows. |
| 34 | + |
| 35 | +1. Ensure you have Python installed. |
| 36 | + * [Download Python 3.13 (64-bit)](https://www.python.org/ftp/python/3.13.9/python-3.13.9-amd64.exe) |
| 37 | + * [Download Python 3.13 (32-bit)](https://www.python.org/ftp/python/3.13.9/python-3.13.9.exe) |
| 38 | + * [Download Python 3.8 (64-bit) for Windows 7](https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe) |
| 39 | + * [Download Python 3.8 (32-bit) for Windows 7](https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe) |
| 40 | +2. Download and install Git for Windows. |
| 41 | + * [Download the latest Git for Windows](https://github.com/git-for-windows/git/releases/download/v2.51.2.windows.1/Git-2.51.2-64-bit.exe) |
| 42 | + * [Download Git for Windows 7](GitWindows7.exe) |
| 43 | +3. Press Windows + R, type `cmd`, and hit Enter to open a command prompt. |
| 44 | +4. Clone this repository with git. |
| 45 | + ``` |
| 46 | + git clone https://github.com/seediffusion/Teatype.git |
| 47 | + ``` |
| 48 | +5. Create a virtual environment. This creates a separate workspace for the project's dependencies, isolated from your main Python install. |
| 49 | + ``` |
| 50 | + cd Teatype |
| 51 | + python -m venv venv |
| 52 | + ``` |
| 53 | +6. Activate the virtual environment. |
| 54 | + ``` |
| 55 | + venv\scripts\activate |
| 56 | + ``` |
| 57 | +7. To avoid library installation errors, ensure you have the highest versions of pip, setuptools and wheel. |
| 58 | + ``` |
| 59 | + python -m pip install --upgrade pip setuptools wheel |
| 60 | + ``` |
| 61 | +8. Install the required libraries. |
| 62 | + ``` |
| 63 | + pip install -r requirements.txt |
| 64 | + ``` |
| 65 | +9. Finally, you should now be able to run the program. |
| 66 | + ``` |
| 67 | + python teatype.py |
| 68 | + ``` |
| 69 | +
|
| 70 | +### Compiled |
| 71 | +
|
| 72 | +If you don't wanna mess with all that fancy dev stuff, you can simply [download the latest pre-compiled binary](https://github.com/seediffusion/Teatype/releases/latest/download/teatype.zip). This release works on both 32 and 64-bit versions of Windows 7 and higher. |
| 73 | +Since Teatype is a portable program, everything the program needs to run is stored inside a single folder. all you have to do is extract the Teatype.zip file to a location of your choice using [7-Zip](https://7-zip.org) or your favourite zip archiver. |
| 74 | +To start the program, simply launch the teatype.exe file. If Windows isn't set up to show file extensions, you won't see the .exe part. |
| 75 | +
|
| 76 | +## The server manager |
| 77 | +
|
| 78 | +When you launch Teatype for the first time, you will be greeted with the Server Manager. This is the central hub where all your saved SSH server connections are stored. |
| 79 | +
|
| 80 | +### Adding a server |
| 81 | +
|
| 82 | +1. Click the add button or press Alt + A to bring up the add server dialog. |
| 83 | +2. Enter a memorable name for the server. |
| 84 | +3. Enter the server's hostname or IP address. |
| 85 | +4. Enter the SSH port. The default is 22. |
| 86 | +5. Enter the username for your account on the server. |
| 87 | +6. In the auth method dropdown, choose either password or SSH key. |
| 88 | +7. If you chose password, simply enter your account password. Otherwise, browse to your OpenSSH private key file and enter a passphrase if you have one set for the SSH key. |
| 89 | +8. Check the box to securely store your password or SSH key passphrase. Note: if you use a screen reader and Windows is in dark mode, this checkbox will be seen as a button. |
| 90 | +9. Click the add button to save the server to the list. |
| 91 | +
|
| 92 | +### Connecting to a server |
| 93 | +
|
| 94 | +Press Enter on a server in the list, hit the Connect button or press Alt + C to log into the server and display the graphical TTY. |
| 95 | +
|
| 96 | +### Editing a server |
| 97 | +
|
| 98 | +Click the edit button on a server or press Alt + E. This brings up a dialog similar to the add server dialog, but you can makes changes to a server's details as needed. Hit save when you're done. |
| 99 | +
|
| 100 | +### Deleting a server |
| 101 | +
|
| 102 | +Hit the remove button on a server or press Alt + R, then hit yes to confirm the deletion. |
| 103 | +
|
| 104 | +## The TTY |
| 105 | +
|
| 106 | +Upon connecting and logging into a server, the graphical TTY view will open and you will be focused on the command input text field. Pressing tab in this window will switch between the command input field and the server output log. Simply use your screen reader's standard text reading keys to view the contents of the log. |
| 107 | +
|
| 108 | +* Press Enter to execute a command. |
| 109 | +* Press Shift + Enter to create a new line for long commands that require multiple lines. |
| 110 | +* Press Control + C to send an interrupt signal and stop a running foreground process. |
| 111 | +* Press Control + D to send an end-of-transmission signal. If you're not in any interactive shell sessions, such as an SQL prompt or similar, this will log you out of the server. |
| 112 | +
|
| 113 | +## The file browser |
| 114 | +
|
| 115 | +Clicking the browse files button in the TTY view will open a file browser window. This allows you to view, edit, upload and download files and folders via SFTP. When you arrow up and down through the list, Teatype will show you the name of the item, the item's size, and whether it is a file or a directory (folder). Press Enter to go into a folder, and Backspace to go back to the parent folder. |
| 116 | +
|
| 117 | +### Editing files |
| 118 | +
|
| 119 | +Editing files is as simple as pressing Enter on a file to have it open in a text editor view. From here, you can just use your standard reading keys to view and edit the file like you would in a normal text editor like Notepad. Use Control + S to save the file, Control + F to find, Control + H to find and replace, Control + G to go to a specific line number, and Control + W to close the editor. |
| 120 | +
|
| 121 | +### Uploading files and folders |
| 122 | +
|
| 123 | +There are 2 ways of uploading files and folders to your server. |
| 124 | +
|
| 125 | +* You can copy the file or folder from your local machine and paste it into the file browser in Teatype. |
| 126 | +* You can hit the upload button to browse your local machine for a file to upload. |
| 127 | +
|
| 128 | +### Downloading files and folders |
| 129 | +
|
| 130 | +* Copy the file or folder from the file browser and paste it someone in your local file system. |
| 131 | +* Click the download button and choose where to save the file or folder on your machine. |
| 132 | +
|
| 133 | +## Disabling screen reader feedback |
| 134 | +
|
| 135 | +If you're sighted and don't want to hear server output spoken by a screen reader, both the server manager and TTY windows have a settings bar where you can turn it off. This is also useful in situations where you have a very long process running and you want to do other things without having to hear the screen reader blabbing on. |
| 136 | +
|
| 137 | +## Supporting Seediffusion |
| 138 | +Teatype is completely free of charge, but donations and contributions are appreciated, as they help keep Seediffusion alive and support the development of present and future Seediffusion projects. Here are the ways you can give your support: |
| 139 | +
|
| 140 | +* [Ko-Fi](https://ko-fi.com/seediffusion) |
| 141 | +* [Patreon](https://patreon.com/seediffusion) |
| 142 | +
|
| 143 | +If you can't give financial support, sharing around also helps. :) |
| 144 | +
|
| 145 | +* [Visit the Seediffusion website](https://seediffusion.cc) |
| 146 | +* [Follow Seediffusion on Mastodon](https://vee.seedy.cc/@seediffusion) |
| 147 | +* [Email Seediffusion](mailto:"[email protected]") |
0 commit comments