#!/usr/bin/perl -w ############################################################################# # File Name : upserver.pl # System : Linux 7.x / other # Sprache : Perl Script 5.6.1 Build 626 # Verzeichnis : -- # Ersteller : PSE Pennella System Engineering, Antonio Pennella # Datum : 19.01.2002 # Beschreibung : Dieses Programm zeigt viele nützliche Informationen über das # RedHat System an. # Parameter : --- # Inputdatei : upserver_userinfo.txt (ab Version 1.30!) # Externe Url : pse.pointclark.net/downloads/upserver_CC_user.txt # (ab Version 1.31!) # ------------------------------------------------------------------------- # Change-History: # --------------- # Date Ver Typ Discription # ------------------------------------------------------------------------ # 20020119 1.00 ADD Basic version for Linuxserver RedHat 7.2 # # 20020501 1.10 UPD Change stringmanipultation from substr to split # # 20020529 1.11 UPD Change fontssize to small # # 20020609 1.12 UPD Dateformat changed to 24hours (DATE +%T) # Changed layout, new variables for copyright etc. # # ------------------------------------------------------------------------- # 20020629 1.20 UPD Change stringmanipultation from substr to split for UPTIME # ADD Display DiskSpace with command "df" # ADD Show now all connected user # # 20020703 1.21 UPD Problem with Array and uptime. Use function "index" to # locate the right days! # # 20020704 1.22 ADD Display current time and date (input from Andy!) # # 20020704 1.23 ADD Check if user are log on or not. Show message # ADD URL link www.pse on the bottom # # 20020706 1.24 ADD E-Mail, URL etc. von PSE, Toni Pennella on bottom # ADD View sourcecode and download programm # # 20020713 1.25 ADD URL link to other CC users # UPD Title with variable length # ADD Michi link http://morgenstern.pointclark.net # # 20020717 1.26 UPD Check Redhat version with cat /proc/version # 20020812 ADD Check Clarkconnect Version /etc/clarkconnect/release # # 20020901 1.27 ADD Andy Streuli link http://streuli.pointclark.net # 20020915 ADD Reto Rothmayr http://rothmayr.pointclark.net # 20021001 ADD Segmueller and add "Date since" in link # 20021005 UPD Version 1.27 released # # ------------------------------------------------------------------------- # 20021025 1.30 ADD additional information with owner, location etc. # update file upserver_userinfo.txt for user info # 20021103 UPD Version 1.30 released # # 20021109 1.31 ADD import external table for all url user upserver_CC_user.txt # 20021110 b-1 UPD display wrong RedHat version (Bug) # 20021110 b-2 UPD display short external and internal ip address # 20021110 b-3 UPD modify all comment lines # 20021115 UPD Version 1.31 released # # 20021119 1.32 ADD on the title of Internet Explorer add ownername # 20021119 b-2 ADD first link test on top of page # 20030101 UPD Version 1.32 released # # 20030107 1.33 ADD change df-m to df -h # 20030213 b-2 ADD proctype, etc. -> cat /proc/cpuinfo /proc/meminfo # 20030219 b-3 ADD $ENV like Apacheversion, Client-IP, Browsertype etc. # reorder all output formats, add new quicklinks # 20030223 B-4 ADD typ of processor and cache size # 20030601 UPD Version 1.33 released # # ------------------------------------------------------------------------- # 20030614 2.00 UPD CC changed the path for CC version # 20030808 UPD Version 2.00 released # # 20040218 2.1 UPD Fix problem with ADSL WAN address # 20040301 b-2 UPD Change UrlDB from pse.pointclark.net to the extern # address www.pse.ch/downloads/upserver (link is faster!) # UPD Bugfix if this script is installed on CC 1.x version # /etc/release -> CC 2.x / etc/clarkconnect/release -> CC 1.x # b-3 ADD Counter on Upserver # b-4 DEL delete own counter function. use external webcounter # b-5 ADD Memory usage and Swap info # 20040518 b-6 ADD Display Memory and swap usages in % # 20040519 b-7 ADD try alternate path for db access # 20040520 2.10 UPD Version 2.10 released # -------------------------------------------------------------------------- # 20040821 2.20 UPD delete unused codes # b-1 # -------------------------------------------------------------------------- # 20050130 3.00 UPD changed /proc/nic to lspci because system is Fedora Core 2 # b-1 first tests with CC 3.0 beta1 to beta4 # b-2 changed /proc/meminfo to free # b-3 problem with special character öäü -> change to ae, oe # 20050203 3.00 UPD Version 3.00 released # 20060122 b-1 bugfix of memory and cpu # b-2 add bogomips value # 20061230 b-3 check language by ADSL settings # display MTU Size on WAN interface # 20071115 3.10 UPD Version 3.10 released # -------------------------------------------------------------------------- # # # # for future Releases: # -------------------- # Date From Typ Discription # ------------------------------------------------------------------------ # open: # 2005xxxx Toni ADD # # done: # 20021110 Toni ADD on top add a linkline for quick jump -> impl at 1.32 # 20030217 Toni ADD additional Server- and Clientinformation with $ENV ->1.33 # 20030220 Toni ADD Counter on upserver -> impl. at 2.1 # 20040520 Toni ADD display (ADSL) or (briged) at IP Address -> 2.1 # 20040520 Toni ADD on memory usage display in % -> 2.10 # # Tipps: # Ersetze: $Text =~ s/[a-z]| //gi; # ############################################################################# # # Installationsanleitung via SSH Connection # ----------------------------------------- # # login as root # cd /tmp # wget -O upserver-install.sh -P /tmp http://pse.pointclark.net/downloads/upserver/upserver-install.sh # sh upserver-install.sh # # testen von upserver.pl via Browser (z.b. http://pse.pointclark.net/cgi-bin/upserver.pl) # # ------------------------------------------------------------------------- # # Installationsanleitung Manuel # ----------------------------- # # 1. copy Perl-Programm UPSERVER.PL und UPSERVER_USERINFO.TXT ins # Verzeichnis /var/www/cgi-bin # Befehl: cp /home/shared/upserver.pl /var/www/cgi-bin/ # Befehl: cp /home/shared/upserver_userinfo.txt /var/www/cgi-bin/ # # 2. dem Script upserver.pl die nötigen Ausführungsrechte geben # Befehl: chmod 755 /var/www/cgi-bin/upserver.pl # # 3. editiere das File upserver_userinfo.txt fuer persoenliche Userinfo # Befehl: nano /var/www/cgi-bin/upserver_userinfo.txt # Nano Tipps: (Speichern mit Ctrl-O, Exit mit Ctrl-X) # # 4. Test des Perlscript via http://mydomain.pointclark.net/cgi-bin/upserver.pl # (mydomain durch eigene Domainnamen/Clakconnectnamen ersetzen) # ############################################################################# use Socket; use FileHandle; # Uebergabe des Wertes # -------------------- #12345678901234567890123456789012345678901234567890123456789012345678901234567890 # 10 20 30 40 50 60 70 80 #9:46pm up 42 days, 2:56, 4 users, load average: 0.18, 0.14, 0.08 #Linux gw-pse-01 2.4.9-13 #1 Tue Oct 30 20:05:14 EST 2001 i586 unknown ############################################################################# # Copyright, Version und Programmierer # ------------------------------------ $copyright = 'PSE Pennella System Engineering, 8544 Sulz, Switzerland ' ; $ver = 'V3.10 (Build: 15.11.2007)' ; $verFree = 'V3.10 (Build: 15.11.2007)' ; $pgmname = 'upserver.pl (Perl-Script)' ; $owner = 'Antonio Pennella' ; $ownerUrl = 'www.pse.ch' ; $mailto = 'mailto:antonio.pennella@pse.ch' ; $httpUrl = 'http://www.pse.ch' ; $UrlDB = 'http://pse.pointclark.net/downloads/upserver/upserver_CC_user.txt' ; $UrlDB2 = 'http://www.pse.ch/downloads/upserver/upserver_CC_user.txt' ; # Liest upserver_userinfo.txt Datei ein # ------------------------------------- &read_userinfo ; # Liest die Datei upserver_CC_user.txt vom zentralem Server www.pse.ch ein # ------------------------------------------------------------------------ $rcUrl = getURL($UrlDB , 'dummy.txt' ); if( $rcUrl eq 1 ) { # falls Url nicht gefunden wurde $rcUrl = getURL($UrlDB2 , 'dummy.txt' ); # versuch mit der alternativen URL if( $rcUrl eq 1 ) { @url_result = "
"; print "" ; # Link (Anker) zu Top Seite print "$title1 $title2
"; print "$title_u
"; print "Programm-Name : $pgmname / Version: $ver
\n"; # Quick-Links anzeigen print "Quick-Links : UserInfo - Server-Info - Client-Info - andere CC User - CC Doku - Download" ; print "--------------------------------------------------------------------------
\n"; print "CC Version : $cc_ver
"; print "Server laeuft seit: $up Tagen und $time_new Stunden
\n"; print "Akt. Datum / Zeit : $sdate / $stime
"; print "Angemeldete User : $who
"; # Anker/Textmarke setzten print "" ; # Link (Anker) zu Userinfo print "Top
" ; print "----------------- User Informationen -------------------------------------
\n"; print "@lines
"; # Anker/Textmarke setzten print "" ; # Link (Anker) zu Userinfo print "Top
" ; print "----------------- Server Systeminformationen -----------------------------
\n"; print "Server Name : $srvname
\n"; print "Linux Version : $redhat
"; print "Kernel Version : $kernel generiert am $kerneld
\n"; print "Externe IP (Wan) : $ifconfExt"; print "
MTU Size (Wan) : $ifconfMTU\n"; print "
\n"; print "Interne IP (Lan) : $ifconfInt
"; print "Server CPU/MEM : Processor = $cpuinfo MHz / Typ: $cputyp / Cache: $cpucache
" ; print ": Memory = $meminfo MB
"; print ": BogoMIPS = $mips (Millionen Instruktionen pro Sekunde)
\n"; print "Memoryauslastung :
$meminfo2NIC-Karten :
$nicinfo \n"; print "Disk Platz :
$df\n"; # Anker/Textmarke setzten print "" ; # Link (Anker) zu Userinfo print "Top
" ; print "----------------- Client Informationen -----------------------------------
"; print "\nDeine IP-Adresse : $env_1
"; print "\nDein Browsertyp : $env_2
"; print "\nZugriff via : $env_3
\n"; print "--------------------------------------------------------------------------
\n"; # Anker/Textmarke setzten print "" ; # Link (Anker) zu andere Users print "Top
" ; print "Diese Informationen werden von einer zentralen Datenbank eingelesen: @url_result
" ; print "--------------------------------------------------------------------------"; print "
Counter: @counter
" ; # Fusszeile generieren # -------------------- # Anker/Textmarke setzten #print "Top
" ; print "" ; # Link (Anker) zu Doku print "Copyright: $copyright
"; print "Internet : $ownerUrl
" ; print "E-Mail : $owner
" ; print "" ; # Anker/Textmarke setzten print "Top
" ; print "" ; # Link (Anker) zu Download # Downloadzeilen erstellen # ------------------------ print "Download von Upserver.pl Programm:
Source : Anzeigen Sourcecode
" ; print "Download : Download Programm UpServer.zip
" ; print "Download : Download Programm UpServer-Beta.zip
$" ; print "Version : $verFree
" ; print ""; print ""; ######################################################################################################## ## S U B R O U T I N E N ######################################################################################################## # Liest Userinformationen aus der Datei upserver_userinfo.txt fuer Clarkconnet ein # -------------------------------------------------------------------------------- sub read_userinfo { $file = "upserver_userinfo.txt"; # Userinformationen $rc = open(OUTFILE, $file); # File einlesen if( not defined( $rc )) { # falls Datei nicht vorhanden ist @lines = "Datei -> upserver_userinfo.txt <- konnte nicht gefunden werden. Bitte unter /var/www/cgi-bin/ die Datei anlegen. Besten Dank!" ; $zeile1_2 = "* DATEI nicht vorhanden ! *" ; return() } @lines =