https://github.com/nitram509/ascii-telnet-server
Can stream an ~20 minutes ASCII movie via Telnet emulation as stand alone server or via xinetd daemon. Using famous ASCII art animation from www.asciimation.co.nz (Star ASCIIMATION Wars)
https://github.com/nitram509/ascii-telnet-server
ascii ascii-art ascii-graphics asciinema nerd nerd-tool python xinetd
Last synced: 2 months ago
JSON representation
Can stream an ~20 minutes ASCII movie via Telnet emulation as stand alone server or via xinetd daemon. Using famous ASCII art animation from www.asciimation.co.nz (Star ASCIIMATION Wars)
- Host: GitHub
- URL: https://github.com/nitram509/ascii-telnet-server
- Owner: nitram509
- License: bsd-2-clause
- Created: 2012-01-03T21:43:37.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2021-04-16T20:14:21.000Z (about 4 years ago)
- Last Synced: 2025-03-31T12:04:47.900Z (2 months ago)
- Topics: ascii, ascii-art, ascii-graphics, asciinema, nerd, nerd-tool, python, xinetd
- Language: Python
- Homepage:
- Size: 1.4 MB
- Stars: 282
- Watchers: 15
- Forks: 72
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ASCII art movie Telnet player
=============================Can stream an ~20 minutes ASCII movie via Telnet emulation
as stand alone server or via xinetd daemon.Screenshot:
Wanna see it in action? Just watch http://asciinema.org/a/3132
Tested with Python 2.6+, Python 3.5+
Original art work : Simon Jansen [http://www.asciimation.co.nz/](http://www.asciimation.co.nz/)
Telnetification & Player coding : Martin W. Kirst
Python3 Update: Ryan Jarvis
Dockerfile contributed by: Manuel Eusebio de Paz CarmonaBuild Status [](https://travis-ci.org/nitram509/ascii-telnet-server)
Command line parameters
-----------------------See program output:
$ python ascii_telnet_server.py --help
Usage: ascii_telnet_server.py [options]
Options:
-h, --help show this help message and exit
--standalone Run as stand alone multi threaded TCP server (default)
--stdout Run with STDIN and STDOUT, for example in XINETD
instead of stand alone TCP server. Use with python
option '-u' for unbuffered STDIN STDOUT communication
-f FILE, --file=FILE Text file containing the ASCII movie
-i INTERFACE, --interface=INTERFACE
Bind to this interface (default '0.0.0.0', all
interfaces)
-p PORT, --port=PORT Bind to this port (default 23, Telnet)
-v, --verbose Verbose (default for TCP server)
-q, --quiet Quiet! (default for STDIN STDOUT server)Run as stand alone server
-------------------------Simple call this Python script by using the sample movie file:
$> python ascii_telnet_server.py --standalone -f ../sample_movies/sw1.txt
Running TCP server on 0.0.0.0:23
Playing movie sw1.txtRun as docker container
-----------------------Simply build & run the container and use the movie file as environment parameter the sample movie file:
# Build image:
$> docker build -t ascii-art-movie-telnet-player .
# MODE STDOUT: Run as local player
# with the default movie
$> docker run -it --rm -e mode=stdout ascii-art-movie-telnet-player
# with a custom movie file.txt (absolute path to file it's required):
$> docker run -it --rm -v $(pwd)/your_movie.txt:/app/input_file.txt -e input_file=input_file.txt ascii-art-movie-telnet-player
# MODE STANDALONE: Run as local telnet server
# To test, open a telnet client in other terminal/session i.e. $> telnet localhost 23
# with the default movie
$> docker run -it --rm -p 23:23 -e mode=standalone ascii-art-movie-telnet-player
# Run with custon input_file.txt movie
$> docker run -it --rm -v $(pwd)/your_movie.txt:/app/input_file.txt -p 23:23 -e mode=standalone -e input_file=input_file.txt ascii-art-movie-telnet-player
Run as xinetd program
---------------------place this configuration into `/etc/xinetd.d/telnet`:
# default: on
# description: An telnet service playing an ASCII movie, Star Wars Episode 4
service telnet
{
disable = no
socket_type = stream
protocol = tcp
port = 23
user = root
wait = no
instances = 10
log_type = FILE /var/log/asciiplayer
log_on_success += PID HOST DURATION
log_on_failure = HOST
server = /usr/bin/python
server_args = -u -OO /opt/asciiplayer/ascii_telnet_server.py -f /opt/asciiplayer/sw1.txt --stdout
}## Stargazers over time
[](https://starchart.cc/nitram509/ascii-telnet-server)