Skip to content

nitram509/ascii-telnet-server

Repository files navigation

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/
Telnetification & Player coding : Martin W. Kirst
Python3 Update: Ryan Jarvis Dockerfile contributed by: Manuel Eusebio de Paz Carmona

Build Status Build Status

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.txt 

Run 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

Stargazers over time

About

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)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors