All Projects → M-griffin → Etherterm

M-griffin / Etherterm

Licence: other
EtherTerm (SDL2) Telnet/SSH Terminal

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Etherterm

iniquity
A re-imagining of the iconic BBS software.
Stars: ✭ 35 (-59.3%)
Mutual labels:  bbs, ansi
sbbs
Mirror of gitlab.synchro.net/sbbs (don't submit pull requests here)
Stars: ✭ 25 (-70.93%)
Mutual labels:  bbs, ansi
ansiart2utf8
Processes legacy BBS-style ANSI art (ACiDDraw, PabloDraw, etc.) to UTF-8. Escape codes and line endings are processed for terminal friendliness.
Stars: ✭ 32 (-62.79%)
Mutual labels:  bbs, ansi
Enigma Bbs
ENiGMA½ BBS Software
Stars: ✭ 294 (+241.86%)
Mutual labels:  bbs, ansi
Kys Cpp
《金庸群侠传》c++复刻版,已完工
Stars: ✭ 1,182 (+1274.42%)
Mutual labels:  sdl2
Tapir
RGSS compatible runtime (namely: emulator for RPG Maker XP, VX, and VX Ace)
Stars: ✭ 60 (-30.23%)
Mutual labels:  sdl2
Ssh Action
GitHub Actions for executing remote ssh commands.
Stars: ✭ 1,095 (+1173.26%)
Mutual labels:  ssh-client
Cataclysm Dda Android
An unofficial Android port of Cataclysm: Dark Days Ahead.
Stars: ✭ 58 (-32.56%)
Mutual labels:  sdl2
Gvcci
color extraction to turn images into 16 color palettes
Stars: ✭ 86 (+0%)
Mutual labels:  ansi
Hybbs2
基于HYPHP MVC框架开发的PHP论坛程序,拥有插件、模板扩展。
Stars: ✭ 77 (-10.47%)
Mutual labels:  bbs
Engine
C++11 and SDL2 lightweight 2d game framework
Stars: ✭ 71 (-17.44%)
Mutual labels:  sdl2
Supertux
SuperTux source code
Stars: ✭ 1,120 (+1202.33%)
Mutual labels:  sdl2
Dungeonrush
👾🐍 A opensource game inspired by Snake, written in pure C with SDL
Stars: ✭ 1,192 (+1286.05%)
Mutual labels:  sdl2
Asciichart
Nice-looking lightweight console ASCII line charts ╭┈╯ for NodeJS, browsers and terminal, no dependencies
Stars: ✭ 1,107 (+1187.21%)
Mutual labels:  ansi
Doomfire
DOOM fire implementation written in rust
Stars: ✭ 80 (-6.98%)
Mutual labels:  sdl2
Tetris Sdl C
🕹️ A toy project implementing a simple tetris clone in C for learning SDL 2.x.
Stars: ✭ 60 (-30.23%)
Mutual labels:  sdl2
Dorothy Ssr
Dorothy Project, Special Super Rare Edition.
Stars: ✭ 70 (-18.6%)
Mutual labels:  sdl2
Bbs Go
基于Golang的开源社区系统。
Stars: ✭ 1,212 (+1309.3%)
Mutual labels:  bbs
Cavestory Sdl2
Reconstructing Cave Story with SDL 2.0 and C++14
Stars: ✭ 69 (-19.77%)
Mutual labels:  sdl2
Cryboy
A Game Boy (Color) emulator written in Crystal
Stars: ✭ 68 (-20.93%)
Mutual labels:  sdl2

.. image:: http://htc.zapto.org:8090/job/EtherTerm/job/master/badge/icon :target: http://htc.zapto.org:8090/job/EtherTerm/job/master

4.0 Demo Branch is now the latest branch work in progress with a rewrite and reintegration of SSH.

You can follow the latest updates and work in the following branches:

  • master - current release branch at 0.4.11-alpha

.. contents:: Table of Contents :depth: 3

Introduction

.. image:: http://i.imgur.com/0BaGSSq.png :alt: Screenshot

EtherTerm is a portable terminal emulator and telnet/ssh client for Windows Linux, BSD, Arm and OSX. It differs from standard terminal emulators such as xterm and PuTTY by providing a common telnet and ssh protocol across platforms, with particular focus on font sets appropriate for connecting to BBS servers using cp437, and Amiga art. UTF-8 Font glyphs are planned for the future.

EtherTerm is comparable to programs such as syncterm_ and netrunner_. Notably: It is an SDL2 graphics program and makes use of full OpenGL/DirectX graphics acceleration. This is not a console application.

.. _syncterm: http://syncterm.bbsdev.net/ .. _netrunner: http://www.mysticbbs.com/downloads.html

Technical Notes

The removal of Boost libs will be replaced with standard C++11 functionally instead. The build and project files are currently in the process of being rewritten and separated in folders by environment/os.

The previous 3.0 Demo branch is a fork and rewrite of the internals for EtherTerm. This version differs a bit as asynchronous sockets were added along with the ability to open several connections in their own windows. Other telnet option fixes and updates to the terminal have also been added along with some pre-testing of file upload/downloads. Still very raw (Dialing Directory is still unfinished. This more of a POC (Proof of concept) rewrite to see what can be done differently. Also some rendering changes were made and are in testing such as recolor blocks using alpha channels for a slight speed up. Note the 3.x branch had some experimental stuff I was testing, right now I've had to roll back several commits and some things are disabled until I get time to fix and re-implement them. Mainly input fields for SSH Connections.

Please keep in mind this is Alpha Software and is very much a work in progress.

Project details

EtherTerm is Open Source Software, (c) 2014-2019 Michael Griffin [email protected]

.. image:: https://imgur.com/H3auoEE.png :alt: Screenshot

Currently, no auto-configure environment is provided, and build targets are limited to Windows, Linux, ARM, FreeBSD and OSX.

EtherTerm is Alpha software. Please report any issues or feature requests as a github issue_. Pull requests and contributions are always welcome.

.. _github issue: https://github.com/M-griffin/EtherTerm/issues

Fonts

Each system can be setup with a default font. Any systems using Syncterm escape sequences_ for font switching will override the default font.

  • VGA-8x16 (CP437)
  • MicroKnightPlus-8x16 (AMIGA)
  • Mo'soul-8x16 (AMIGA)
  • Pot Noodle-8x16 (AMIGA)
  • Topaz Plus-8x16 (AMIGA)

.. _Syncterm escape sequences: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt

Fullscreen

ALT + ENTER cycles between:

  • 1x unscaled window
  • 2x scaled window
  • scaled fullscreen

Key Mapping

Etherterm currently follows the default Windows telnet output keys sequences as used in Syncterm as ANSI, VT100, LINUX and SCO key mappings are also available.

Copy/Paste

Copy and paste is comparable to X11: Left mouse click and drag to select text on the screen, release to copy selected text to the clipboard. Right mouse click to paste text from the clipboard.

Dialing directory

To add new systems or remove, you must edit the assets/dialdirectory.xml file.

Download Windows (Demo Previews)

  • Windows 0.4.11 (Latest) Preview <https://drive.google.com/file/d/1PA09I1TuVIFL5fCh_RBY15Z_gn8_yTZg/view?usp=sharing>_

  • Windows 0.4.10 (Latest) Preview <https://drive.google.com/file/d/1_YJXR0TOjlJi6tm_pOq2DmgwxScC7hI6/view?usp=sharing>_

  • Windows 0.4.6 Preview <https://drive.google.com/file/d/1FT94kn7UY1EZ_qy5ICbTqCj2-Dwm290N/view?usp=sharing>_

  • Windows 0.3.1 Preview <https://drive.google.com/file/d/0ByPPRlSSb7N-dGpGXzV0a3VIN2c/view?usp=sharing>_

  • Windows 0.2.8 Preview <https://drive.google.com/file/d/0ByPPRlSSb7N-V2c2bzFUbnRScDQ/view?usp=sharing>_

For all other systems, you must build from the project folder.

Building (Windows, Linux, BSD, OSX)

Generally, the following libraries must be installed:

  • sdl2
  • libssh (Requires OpenSSL, Zlib)
  • yaml-cpp

As well as a recent version of gnu/gcc providing g++, or clang. GCC/G++ version 5.x and above are required along with -std=c++11

  • I highly reccomend and IDE such as - CodeLite <https://www.codelite.org>_
  • Makefiles generated from Codelite are available in the project folders for building on the commandline.
  • FreeBSD 11 and OSX High Sierra have been tested with latest version of clang LLVM
  • For Windows, mingw32 or 64 is required.

NOTE: EtherTerm will seek an ./assets folder relative to the executable. In this way, it is not (yet) a very "portable" executable. At this stage, a build folder has been created with quick scripts that will copy from the DEBUG folder to the build folder where the assets is now located by default.

TODO

  • "change_scroll_region": csr terminal sequence.
  • "alternate screen" buffer: smcup, rmcup terminal sequence.
  • scrollback buffer.
  • interactively edit the dialing directory.
  • other runtime configuration/setup options.
  • alternative window sizes, currently limited to only 80x25.
  • attempting to reach compliance with terminal type 'xterm-256color'.
  • transfer protocols (x, y, and z-modem).
  • ftp client support.
  • utf-8 encoding.

Acknowledgments and Thanks

  • dingo <https://github.com/jquast>_: Telnet options and general terminal functionality.
  • g00r00 <http://www.mysticbbs.com/>_: Optimization ideas on scrolling pixels faster.
  • SDL Game Development <http://www.amazon.com/SDL-Game-Development-Shaun-Mitchell/dp/1849696829>_.
  • maze <https://github.com/tehmaze>_: Testing and bug reports.
  • Caphood <http://www.reddit.com/user/Caphood>_: Testing and bug reports.
  • IceDevil: Testing and bug reports.
  • haliphax <https://github.com/haliphax>_: Testing and bug reports.
  • hellbeard <https://github.com/ericolito>_: Testing and bug reports.

License

EtherTerm is available under the zlib license : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].