Anyterm

kleiner Telnetersatz um über den Webbrowser auf einen Rechner zuzugreifen.
http://anyterm.org/

Installation

apt-get install apache2 libapache2-mod-proxy-html
a2enmod proxy proxy_http 
cd /opt
mkdir anyterm
cd anyterm
wget http://www.borwinius.de/wiki/lib/exe/fetch.php?media=linux:anyterm:anytermd.gz

oder anytermd.gz
oder mit 160 Zeichenbreite: anytermd160.zip

gunzip anytermd.gz
#starten von anyterm
./anytermd -p 7676 --local-only --user nobody
#oder 
./anytermd -p 7676 --local-only --user root -c /bin/login

Konfiguration

in Datei /etc/apache2/sites-enabled/000-Defaults in <VirtualHost> Zeilen einfügen:

ProxyRequests Off
      <Proxy *>
        Order deny,allow
        Allow from all
      </proxy>
      <Location /anyterm>
        ProxyPass http://localhost:7676 ttl=60
        ProxyPassReverse http://localhost:7676
      </Location>

Dann Apache neu starten:

/etc/init.d/apache2 restart

und versuchen auf die Webseite http://meinServer/anyterm zu kommen.
Bei erfolg erhält man eine Konsole mit angemeldetem nobody, von wo aus man per su sich weiterhangeln kann.

Der Zugriff erfolgt zunächst unverschlüsselt(!) und ohne jegliche Webauthentifizierung!!!
Das Programm ist sehr gefährlich. Eine Absicherung ist unbedingt erforderlich.

Anzeigefenster von anyterm vergrößern

Das geht nur per Neukompilation.
Dabei müssen in den Dateien

src/Anyterm.cc Zeilen 43+180+181
browser/anyterm.html Zeile 38

die Einträge für rows und cols abgeändert werden und das ganze Programm anschließend neu kompiliert werden.
nicht vergessen, den alten daemon vor dem ersetzen zu killen.

Daemonscript für debian

Datei nach /etc/init.d/ kopieren und mit update-rc.d anyterm defaults enable starten

anyterm
#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          anyterm
# Required-Start:    $syslog $local_fs $remote_fs
# Required-Stop:     $syslog $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts/stops anyterm
# Description:       starts and stops Anyterm,
#					
### END INIT INFO
 
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
DAEMON=/usr/bin/anytermd
PORT=7676
PIDFILE=/var/run/anytermd.pid
NAME=anyterm
DESC="web based terminal anyterm"
 
if [ $(id -u) != 0 ]; then
  echo "You should run this program as root"
  exit 1
fi
 
[ -x "$DAEMON" ] || exit 0
 
#[ -f "/etc/default/anyterm" ] && . /etc/default/anyterm
 
. /lib/lsb/init-functions
 
case "$1" in
	start)
		log_begin_msg "Starting $DESC:" "$NAME"
		if [ -f $PIDFILE ]; then
			log_action_cont_msg " already running"
			log_end_msg 1
		else
			#start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON  --user root -c /bin/login >/dev/null
			$DAEMON -p $PORT --local-only --user root -c /bin/login
			log_end_msg $?
		fi
	;;
	stop)
		log_begin_msg "Stopping $DESC:" "$NAME"
		start-stop-daemon  --stop --pidfile $PIDFILE
		rm -f $PIDFILE
		log_end_msg $?
	;;
	status)
		status_of_proc -p $PIDFILE $DAEMON anytermd && exit 0 || exit $2
	;;
	restart|force-reload)
		$0 stop
		$0 start
	;;
	*)
		echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
		exit 3
	;;
esac