All Projects → nitram509 → Ascii Telnet Server

nitram509 / Ascii Telnet Server

Licence: bsd-2-clause
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)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ascii Telnet Server

Asciipy
translate images, videos and text to Ascii arts easy
Stars: ✭ 52 (-72.49%)
Mutual labels:  ascii, ascii-art
Ascii Generator.site
Django website for generating ASCII-arts out of images or text 🎨
Stars: ✭ 77 (-59.26%)
Mutual labels:  ascii, ascii-art
Clad Ascii
An ASCII art music video animated with JavaScript
Stars: ✭ 63 (-66.67%)
Mutual labels:  ascii, ascii-art
Android Img2ascii
Convert image to ascii.
Stars: ✭ 30 (-84.13%)
Mutual labels:  ascii, ascii-art
Blockzone
A faithful recreation of the original DOS font.
Stars: ✭ 100 (-47.09%)
Mutual labels:  ascii, ascii-art
Image To Ascii
Convert images to ASCII art.
Stars: ✭ 35 (-81.48%)
Mutual labels:  ascii, ascii-art
Vim Boxdraw
An ASCII box drawing plugin for Vim
Stars: ✭ 122 (-35.45%)
Mutual labels:  ascii, ascii-art
Ascii Generator
ASCII generator (image to text, image to image, video to video)
Stars: ✭ 939 (+396.83%)
Mutual labels:  ascii, ascii-art
Retrotxt
RetroTxt is the WebExtension that turns ANSI, ASCII, NFO text into in-browser HTML
Stars: ✭ 93 (-50.79%)
Mutual labels:  ascii, ascii-art
Lehar
Visualize data using relative ordering
Stars: ✭ 81 (-57.14%)
Mutual labels:  ascii, ascii-art
Asciiplayer
📺 ASCII gif/video player write in golang
Stars: ✭ 130 (-31.22%)
Mutual labels:  ascii, ascii-art
Java Ascii Render
ASCII renderer in pure java with no external dependencies
Stars: ✭ 112 (-40.74%)
Mutual labels:  ascii, ascii-art
Ascii Doughnut
Animated spinning doughnut in ASCII
Stars: ✭ 29 (-84.66%)
Mutual labels:  ascii, ascii-art
Art
🎨 ASCII art library for Python
Stars: ✭ 1,026 (+442.86%)
Mutual labels:  ascii, ascii-art
Ascii canvas
ASCII canvas for drawing in console
Stars: ✭ 11 (-94.18%)
Mutual labels:  ascii, ascii-art
Qr Ascii
A small library to generate QR codes with ascii
Stars: ✭ 63 (-66.67%)
Mutual labels:  ascii, ascii-art
Diagram
CLI app to convert ASCII arts into hand drawn diagrams.
Stars: ✭ 642 (+239.68%)
Mutual labels:  ascii, ascii-art
Cfonts
Sexy fonts for the console
Stars: ✭ 789 (+317.46%)
Mutual labels:  ascii, ascii-art
Pic2ascii
Converts a picture and video to ascii art
Stars: ✭ 79 (-58.2%)
Mutual labels:  ascii, ascii-art
Laptop.css
laptop CSS for the modern world
Stars: ✭ 106 (-43.92%)
Mutual labels:  ascii, ascii-art

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

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