blob: ebeb30330e6ccb34c7db9daf2900e8d384206210 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/env python
import SocketServer
from subprocess import Popen, PIPE
from telnetsrvlib import TelnetHandler
class TNS(SocketServer.TCPServer):
allow_reuse_address = True
class TNH(TelnetHandler):
def handle(self):
print self.TERM
p = Popen(["./nyancat"], shell=False, stdout=PIPE, stdin=PIPE, bufsize=0)
if (self.TERM.lower().find("xterm") != -1):
p.stdin.write("1\n")
elif (self.TERM.lower().find("linux") != -1):
p.stdin.write("3\n")
elif (self.TERM.lower().find("fallback") != -1):
p.stdin.write("4\n")
else:
p.stdin.write("2\n")
while 1:
s = p.stdout.read(1)
try:
self.write(s)
except:
p.kill()
return
tns = TNS(("0.0.0.0", 23), TNH)
tns.serve_forever()
|