diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2020-04-14 15:52:11 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2020-04-14 15:52:11 +0200 |
commit | 8013b1b037fc05230773b2de20f10e395f9b7f6b (patch) | |
tree | 809564405cba9c07db5860e95b5e1b782cf6e289 | |
parent | 5a094a332a83c8338d56c0e45a7da463a62abe0a (diff) |
removed unused stuff
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rwxr-xr-x | check_ssh_geoip.sh | 60 | ||||
-rwxr-xr-x | docker-gitlab-full.sh | 39 | ||||
-rwxr-xr-x | freebsd_update.sh | 85 | ||||
-rw-r--r-- | minjd-java/org/jdownloader/extensions/minjd/minjdConfig.java | 7 | ||||
-rw-r--r-- | minjd-java/org/jdownloader/extensions/minjd/minjdExtension.java | 116 | ||||
-rw-r--r-- | patches/grub_minimal_text.patch | 83 | ||||
-rw-r--r-- | patches/lighttpd_mod_rewrite.patch | 11 | ||||
-rw-r--r-- | patches/pam_login_access.patch | 20 | ||||
-rw-r--r-- | patches/xterm_copynpaste_hack.patch | 29 | ||||
-rwxr-xr-x | portalcheck.py | 213 | ||||
-rwxr-xr-x | powersaver.sh | 124 | ||||
-rwxr-xr-x | temperature.sh | 26 |
12 files changed, 0 insertions, 813 deletions
diff --git a/check_ssh_geoip.sh b/check_ssh_geoip.sh deleted file mode 100755 index 05a77ac..0000000 --- a/check_ssh_geoip.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -if [ x"${BASH_VERSINFO}" = x ]; then - echo "BASH_VERSINFO not found. Is \`/bin/bash\` a valid bash interpreter?" - exit 1 -fi -if [ "${BASH_VERSINFO}" -lt 4 ]; then - echo "Bash version >= 4 required for declaring/using arrays/dicts." - exit 1 -fi - -export DESTHOST="host.lan" -export DESTUSER="someuser" - -if [ x"$1" != x ]; then - DEST="$1" -else - DEST="${DESTUSER}@${DESTHOST}" -fi - -if [ x"$2" != x ]; then - LOGCMD="$2" -else - LOGCMD="logread" -fi - -if [ x"$3" != x ]; then - LOGREP="$3" -else - LOGREP="dropbear" -fi - -LINE="-------------------------" -IFS=' '; -OUT=$(ssh -o LogLevel=Error ${DEST} ${LOGCMD} | \ - sed -ne 's/.*'"${LOGREP}"'.*\s\+\([0-9\.]\+\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p' | \ - uniq | tr '\n' ' ') -declare -A ORIGINS -for host in ${OUT}; do \ - echo "${host}" | grep -qoE '(192.168.|10.10.|172.)' - [ $? -eq 0 ] && continue - echo "${LINE}" - echo "HOST: ${host}" - GEOIP=$(geoiplookup "${host}") - if [ x"${ORIGINS["${GEOIP}"]}" != x ]; then - ORIGINS["${GEOIP}"]=$(expr ${ORIGINS["${GEOIP}"]} + 1) - else - ORIGINS["${GEOIP}"]=1 - fi - echo "${GEOIP}" -done - -echo "${LINE}" -echo -e "${LINE}\nEOF" -echo "${LINE}" - -echo "COUNTRY STATS" -for origin in "${!ORIGINS[@]}"; do - echo "${origin} -> ${ORIGINS["${origin}"]}" -done diff --git a/docker-gitlab-full.sh b/docker-gitlab-full.sh deleted file mode 100755 index 79906de..0000000 --- a/docker-gitlab-full.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -x - -STARTDATE=$(date '+%Y-%m-%dT%H:%M:%S') -docker stop gitlab-master gitlab-runner -docker container rm gitlab-runner - -docker container start gitlab-master - -set +x -echo -n 'Waiting for instance ' -while (`true`); do - if docker logs gitlab-master --since ${STARTDATE} --tail 100 2>&1 | grep -oE 'listening on addr=127\.0\.0\.1:8080' >/dev/null; then - echo -n ' READY' - break - fi - sleep 1 - echo -n '.' -done -echo -set -x - -docker run -t -i \ - -v /var/run/docker.sock:/var/run/docker.sock \ - --name gitlab-runner gitlab/gitlab-runner register \ - \ - --executor "docker" \ - --docker-image debian:stable \ - --url "http://172.17.0.2/" \ - --registration-token "eU9pNHed42Tam1MAQFP4" \ - --description "docker-builder" \ - --tag-list "builder,debian" \ - --run-untagged \ - --locked="false" -docker container start gitlab-runner -sleep 1 -docker container exec -t -i gitlab-runner /entrypoint verify -docker container exec -t -i gitlab-runner /entrypoint start diff --git a/freebsd_update.sh b/freebsd_update.sh deleted file mode 100755 index a934a97..0000000 --- a/freebsd_update.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -f - -##################################################### -# DESC: Freebsd update script (host+jails) # -# using portupgrade,portsnap and portaudit # -# VERSION: 0.1a # -# AUTHOR: Toni U. # -# EMAIL: matzeton@googlemail.com # -##################################################### - - -portupg="/usr/local/sbin/portupgrade" -portsnp="/usr/sbin/portsnap" -portaud="/usr/local/sbin/portaudit" -fupdate="/usr/sbin/freebsd-update" -logdir="/root" -dt=`date +%d%m_%H%M` - -if [ -r /etc/defaults/periodic.conf ]; then - . /etc/defaults/periodic.conf - source_periodic_confs -fi - -if [ "$1" = "check" ]; then - checkonly=1 - else - checkonly=0 -fi - -. /etc/rc.conf - - rc=0 - case "${daily_status_security_jailportaudit_enable:-YES}" in - [Nn][Oo]) - ;; - *) - test -x "$fupdate" || { echo "\tmissing $fupdate"; exit 1; } - $fupdate fetch - $fupdate install - test -x "$portsnp" || { echo "\tmissing $portsnp"; exit 1; } - $portsnp fetch update - test -x "$portaud" || { echo "\tmissing $portaud"; exit 1; } - $portaud -F - echo - - tmpdir=`mktemp -d /tmp/jailportaudit.XXXXXXXX` - cd $tmpdir - - echo "Checking pkg's in /" - rm $logdir/rupd_error.log 2>/dev/null - ls -1 /var/db/pkg > $tmpdir/root.paf - APKG=`$portaud -f $tmpdir/root.paf | grep "Affected package:" | cut -d ' ' -f 3` - for pkg in `echo "$APKG"`; do - echo "* UPDATING $pkg ..."; - $portupg -fur $pkg 2>> "/root/rupd_error.log" - done - - for jail in $jail_list; do - rm $logdir/jupd_$jail_error.log 2>/dev/null - eval jaildir=\"\$jail_${jail}_rootdir\" - echo "" - - if [ ! -d $jaildir/usr/ports ]; then - mkdir $jaildir/usr/ports; - echo "* Creating $jaildir/usr/ports"; - else - echo "* $jaildir/usr/ports exists! fine." - fi - echo "* mounting /usr/ports to $jaildir/usr/ports" - mount_nullfs /usr/ports $jaildir/usr/ports - echo "* checking for portupgrade" - test -x "$jaildir/$portupg" || { echo "missing $jaildir/$portupg"; jexec $(jls | grep "$jail" | tr -s ' ' ' ' | cut -f 2 -d ' ') /bin/sh -c "cd /usr/ports/ports-mgmt/portupgrade; make install;"; } - echo "* checking for packages with security vulnerabilities in jail \"$jail\":" - echo -e "\t-> $jaildir\n" - ls -1 $jaildir/var/db/pkg > $tmpdir/$jail.paf - APKG=`$portaud -f $tmpdir/$jail.paf | grep "Affected package:" | cut -d ' ' -f 3` - if [ $checkonly -eq 0 ]; then - for pkg in `echo "$APKG"`; do echo "* UPDATING $pkg ..."; jexec $(jls | grep "$jail" | tr -s ' ' ' ' | cut -f 2 -d ' ') /bin/sh -c "$portupg -fur $pkg" 2>> "$logdir/jupd_$jail_error.log"; done - fi - rm $tmpdir/$jail.paf - umount $jaildir/usr/ports - done - ;; - esac -exit "$rc" diff --git a/minjd-java/org/jdownloader/extensions/minjd/minjdConfig.java b/minjd-java/org/jdownloader/extensions/minjd/minjdConfig.java deleted file mode 100644 index 46a8f58..0000000 --- a/minjd-java/org/jdownloader/extensions/minjd/minjdConfig.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.jdownloader.extensions.minjd; - -import jd.plugins.ExtensionConfigInterface; - -public interface minjdConfig extends ExtensionConfigInterface { - -} diff --git a/minjd-java/org/jdownloader/extensions/minjd/minjdExtension.java b/minjd-java/org/jdownloader/extensions/minjd/minjdExtension.java deleted file mode 100644 index e72e4d7..0000000 --- a/minjd-java/org/jdownloader/extensions/minjd/minjdExtension.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.jdownloader.extensions.minjd; - -import java.awt.Toolkit; -import java.io.File; -import java.io.FilenameFilter; - -import jd.controlling.JSonWrapper; -import jd.controlling.downloadcontroller.DownloadWatchDog; -import jd.gui.swing.jdgui.JDGui; -import jd.plugins.AddonPanel; -import org.jdownloader.extensions.AbstractExtension; -import org.jdownloader.extensions.ExtensionConfigPanel; -import org.jdownloader.extensions.StartException; -import org.jdownloader.extensions.StopException; - -public class minjdExtension extends AbstractExtension<minjdConfig> { - - public static final String EXTENSION_NAME = "MinJD"; - public static final String CONFIG_ID = "minjd"; - public static final String AUTHOR_NAME = "dev0"; - public static final String DESC = "minimal JD Gui"; - - public minjdExtension() { - super(EXTENSION_NAME); - } - - public void cleanPartFiles() { - String dest = JSonWrapper.get( - "org.jdownloader.settings.GeneralSettings").getStringProperty( - "defaultdownloadfolder"); - File dir = new File(dest); - String[] partfiles = dir.list(new FilenameFilter() { - public boolean accept(File d, String name) { - return name.endsWith(".part"); - } - }); - - for (String s : partfiles) { - if(!new File(dest + "/" + s).delete()) logger.info(EXTENSION_NAME + ": can not delete file: " + s); - } - } - - @Override - protected void stop() throws StopException { - logger.info("MinJD STOPPED!"); - } - - @Override - protected void start() throws StartException { - logger.info("MinJD OK"); - jd.gui.swing.jdgui.menu.PremiumMenu.getInstance().setEnabled(false); - jd.gui.swing.jdgui.menu.AddonsMenu.getInstance().setEnabled(false); - jd.gui.swing.jdgui.menu.WindowMenu.getInstance().setEnabled(false); - jd.gui.swing.SwingGui.getInstance().getMainFrame().getJMenuBar() - .setVisible(false); - jd.gui.swing.jdgui.components.premiumbar.PremiumStatus.getInstance() - .setEnabled(false); - jd.gui.swing.jdgui.components.premiumbar.PremiumStatus.getInstance() - .setVisible(false); - jd.gui.swing.jdgui.components.toolbar.MainToolBar.getInstance() - .setList( - new String[] { - "toolbar.control.start", - "toolbar.control.stop", - "toolbar.separator", - // "action.settings", - "toolbar.quickconfig.clipboardoberserver", - "toolbar.control.stopmark", - "toolbar.separator", - "toolbar.interaction.update" }); - JDGui.getInstance().getMainTabbedPane().removeTabAt(2); - - JDGui.getInstance().getMainFrame().setLocation(0, 0); - JDGui.getInstance().getMainFrame() - .setSize(Toolkit.getDefaultToolkit().getScreenSize()); - - cleanPartFiles(); - DownloadWatchDog.getInstance().startDownloads(); - } - - @Override - protected void initExtension() throws StartException { - logger.info("MinJD INIT"); - } - - @Override - public ExtensionConfigPanel<minjdExtension> getConfigPanel() { - return null; - } - - @Override - public boolean hasConfigPanel() { - return false; - } - - @Override - public String getConfigID() { - return CONFIG_ID; - } - - @Override - public String getAuthor() { - return AUTHOR_NAME; - } - - @Override - public String getDescription() { - return DESC; - } - - @Override - public AddonPanel<minjdExtension> getGUI() { - return null; - } - -} diff --git a/patches/grub_minimal_text.patch b/patches/grub_minimal_text.patch deleted file mode 100644 index 47b162f..0000000 --- a/patches/grub_minimal_text.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/grub-core/normal/menu_text.c -+++ b/grub-core/normal/menu_text.c -@@ -136,63 +136,6 @@ - + GRUB_TERM_MARGIN + 1)); - } - --static int --print_message (int nested, int edit, struct grub_term_output *term, int dry_run) --{ -- int ret = 0; -- grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL); -- -- if (edit) -- { -- if(dry_run) -- ret++; -- else -- grub_putcode ('\n', term); -- ret += grub_print_message_indented_real (_("Minimum Emacs-like screen editing is \ --supported. TAB lists completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for a \ --command-line or ESC to discard edits and return to the GRUB menu."), -- STANDARD_MARGIN, STANDARD_MARGIN, -- term, dry_run); -- } -- else -- { -- const char *msg = _("Use the %C and %C keys to select which " -- "entry is highlighted.\n"); -- char *msg_translated; -- -- msg_translated = grub_xasprintf (msg, GRUB_UNICODE_UPARROW, -- GRUB_UNICODE_DOWNARROW); -- if (!msg_translated) -- return 0; -- if(dry_run) -- ret++; -- else -- grub_putcode ('\n', term); -- ret += grub_print_message_indented_real (msg_translated, STANDARD_MARGIN, -- STANDARD_MARGIN, term, dry_run); -- -- grub_free (msg_translated); -- -- if (nested) -- { -- ret += grub_print_message_indented_real -- (_("Press enter to boot the selected OS, " -- "\'e\' to edit the commands before booting " -- "or \'c\' for a command-line. ESC to return previous menu.\n"), -- STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run); -- } -- else -- { -- ret += grub_print_message_indented_real -- (_("Press enter to boot the selected OS, " -- "\'e\' to edit the commands before booting " -- "or \'c\' for a command-line.\n"), -- STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run); -- } -- } -- return ret; --} -- - static void - print_entry (int y, int highlight, grub_menu_entry_t entry, - struct grub_term_output *term) -@@ -337,7 +280,7 @@ - - /* 3 lines for timeout message and bottom margin. 2 lines for the border. */ - *num_entries = grub_term_height (term) - GRUB_TERM_TOP_BORDER_Y -- - (print_message (nested, edit, term, 1) + 3) - 2; -+ - 2; - - grub_term_getcolor (term, &old_color_normal, &old_color_highlight); - -@@ -355,7 +298,6 @@ - grub_term_setcolor (term, grub_color_menu_normal, grub_color_menu_highlight); - draw_border (term, *num_entries); - grub_term_setcolor (term, old_color_normal, old_color_highlight); -- print_message (nested, edit, term, 0); - } - - static void diff --git a/patches/lighttpd_mod_rewrite.patch b/patches/lighttpd_mod_rewrite.patch deleted file mode 100644 index 4a2d31c..0000000 --- a/patches/lighttpd_mod_rewrite.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/mod_rewrite.c 2011-07-04 01:02:38.000000000 +0200 -+++ mod_rewrite.c 2011-07-04 01:03:41.000000000 +0200 -@@ -461,7 +461,7 @@ - /* skip if physical.path is a regular file */ - sce = NULL; - if (HANDLER_ERROR != stat_cache_get_entry(srv, con, con->physical.path, &sce)) { -- if (S_ISREG(sce->st.st_mode)) return HANDLER_GO_ON; -+ if (S_ISREG(sce->st.st_mode) || S_ISDIR(sce->st.st_mode)) return HANDLER_GO_ON; - } - - switch(r = process_rewrite_rules(srv, con, p, p->conf.rewrite_NF)) { diff --git a/patches/pam_login_access.patch b/patches/pam_login_access.patch deleted file mode 100644 index 6b3b9ce..0000000 --- a/patches/pam_login_access.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- /usr/src/lib/libpam/modules/pam_login_access/pam_login_access.c 2009-10-25 02:10:29.000000000 +0100 -+++ pam_login_access.c 2011-06-13 13:59:16.000000000 +0200 -@@ -84,15 +84,13 @@ - (const char *)user, (const char *)tty); - if (login_access(user, tty) != 0) - return (PAM_SUCCESS); -- PAM_VERBOSE_ERROR("%s is not allowed to log in on %s", -- user, tty); -+ pam_info(pamh,"Permission denied for %s",(const char *)user); - } else { - PAM_LOG("Checking login.access for user %s from host %s", - (const char *)user, (const char *)rhost); - if (login_access(user, rhost) != 0) - return (PAM_SUCCESS); -- PAM_VERBOSE_ERROR("%s is not allowed to log in from %s", -- user, rhost); -+ pam_info(pamh,"Sorry."); - } - - return (PAM_AUTH_ERR); diff --git a/patches/xterm_copynpaste_hack.patch b/patches/xterm_copynpaste_hack.patch deleted file mode 100644 index b301142..0000000 --- a/patches/xterm_copynpaste_hack.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/charproc.c -+++ b/charproc.c -@@ -9049,6 +9049,8 @@ - Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\ - Shift <KeyPress> Select:select-cursor-start() select-cursor-end(SELECT, CUT_BUFFER0) \n\ - Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\ -+ Shift <KeyPress> Select:select-cursor-start() select-cursor-end(PRIMARY, CLIPBOARD, CUT_BUFFER0) \n\ -+ Shift <KeyPress> Insert:insert-selection(PRIMARY, CLIPBOARD, CUT_BUFFER0) \n\ - " - }, - #if OPT_MAXIMIZE -@@ -9099,7 +9101,7 @@ - ! @Num_Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ - ~Ctrl ~Meta <Btn2Down>:ignore() \n\ - Meta <Btn2Down>:clear-saved-lines() \n\ -- ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0) \n\ -+ ~Ctrl ~Meta <Btn2Up>:insert-selection(PRIMARY, CLIPBOARD, CUT_BUFFER0) \n\ - !Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ - !Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ - !Lock Ctrl @Num_Lock <Btn3Down>:popup-menu(fontMenu) \n\ -@@ -9128,7 +9130,7 @@ - False, - "default", - "\ -- <BtnUp>:select-end(SELECT, CUT_BUFFER0) \n\ -+ <BtnUp>:select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0) \n\ - <BtnDown>:ignore() \ - " - } diff --git a/portalcheck.py b/portalcheck.py deleted file mode 100755 index 1d2d7ff..0000000 --- a/portalcheck.py +++ /dev/null @@ -1,213 +0,0 @@ -#!/usr/bin/env python - -import sys, os.path -import urllib, shelve -import time, datetime - -from string import rjust - - -CONFIG_USER = 'portalcheck' -CONFIG_NAME = 'portal' -CONFIG_DBFILE = '/var/lib/portalcheck/shelvedb' -CONFIG_CHECKURL = 'https://portal.imn.htwk-leipzig.de' -CONFIG_DICTMAX = 10 - -CONFIG_MAIL_FROM = 'toni.uhlig@stud.htwk-leipzig.de' -CONFIG_MAIL_TO = 'toni.uhlig@stud.htwk-leipzig.de' -CONFIG_MAIL_CC = [ 'toni.uhlig@stud.htwk-leipzig.de' ] -CONFIG_MAIL_HOST = 'localhost' - -CONFIG_MAIL_SUBJ = 'Portal state changed: %s' -CONFIG_MAIL_OFF = ''+ \ - 'Dies ist eine automatisch generierte E-Mail.\n\n'+ \ - 'Die URI %s ist seit dem %s nicht mehr erreichbar.\n'+ \ - 'Letzter HTTP response code: %s\n\n'+ \ - 'Sie werden benachrichtigt, wenn das Portal wieder erreichbar ist.\n' -CONFIG_MAIL_ON = ''+ \ - 'Dies ist eine automatisch generierte E-Mail.\n\n'+ \ - 'Die URI %s ist seit %s wieder erreichbar.\n'+ \ - 'Offline Dauer: %s\n' - -TYPE_ONLINE = 0 -TYPE_ONLINE_AGAIN = 1 -TYPE_OFFLINE = 2 -TYPE_OFFLINE_AGAIN = 3 - - -def dbg(dbgstr): - if sys.flags.debug: - print('>>> pcheck: ' + str(dbgstr)) - - -class PortalObject(object): - def __init__(self, timestamp, httpresp, errstr=None): - self.timestamp = float(timestamp) - self.httpresp = int(httpresp) - self.errstr = str(errstr) - - -class PortalCheck(object): - DATETIME_FMT = '%02d.%02d.%04d - %02d:%02d:%02d' - DICT_LAST = 'last' - DICT_CURRENT_TYPE = 'cur_type' - DICT_CURRENT_INDEX = 'cur_index' - - def __init__(self, uri, dbpath): - self.uri = uri - dbpath += '-' + CONFIG_NAME - try: - self.dbfilename = dbpath - self.shelvedb = shelve.open(self.dbfilename) - except: - self.dbfilename = './' + os.path.basename(dbpath) - self.shelvedb = shelve.open(self.dbfilename) - try: - po = self.shelvedb[self.DICT_LAST] - except KeyError: - dbg('Init shelvedb') - self.shelvedb[self.DICT_LAST] = PortalObject(time.time(), 200) - self.shelvedb[self.DICT_CURRENT_TYPE] = TYPE_ONLINE - self.shelvedb[self.DICT_CURRENT_INDEX] = 0 - dbg('Open ' + self.dbfilename) - - def cleanup(self): - self.shelvedb.close() - - def doTimeFormat(self, tm): - lt = time.localtime(tm); - return '%02d.%02d.%04d - %02d:%02d:%02d' % (lt.tm_mday, lt.tm_mon, lt.tm_year, lt.tm_hour, lt.tm_min, lt.tm_sec) - - def sendMail(self): - typ = self.loadType() - typstr = 'UNKNOWN' - mailcon = 'EMPTY' - last = self.loadLast() - tdstr = self.doTimeFormat(last.timestamp) - if typ == TYPE_ONLINE or typ == TYPE_ONLINE_AGAIN: - typstr = 'ONLINE' - ind = self.loadIndex() - forelast = self.loadObject(ind - 1) - offdays = divmod(last.timestamp - forelast.timestamp, 86400) - offhrs = divmod(offdays[1], 3600) - offmins = divmod(offhrs[1], 60) - offsecs = offmins[1] - offstr = '%d Tag%c, %d Stunde%c, %d Minute%c, %d Sekunde%c' % \ - (offdays[0], 'e' if offdays[0] != 1 else ' ', \ - offhrs[0], 'n' if offhrs[0] != 1 else ' ', \ - offmins[0], 'n' if offmins[0] != 1 else ' ', \ - offsecs, 'n' if offsecs != 1 else ' ') - mailcon = CONFIG_MAIL_ON % (self.uri, tdstr, offstr) - elif typ == TYPE_OFFLINE or typ == TYPE_OFFLINE_AGAIN: - typstr = 'OFFLINE' - httpresp = str(last.httpresp) if last.httpresp != -1 else 'connection error (' + str(last.errstr) + ')' - mailcon = CONFIG_MAIL_OFF % (self.uri, tdstr, httpresp) - else: - return - subj = CONFIG_MAIL_SUBJ % (typstr) - dbg(str(subj)) - dbg(str(mailcon)) - import smtplib - from email.mime.text import MIMEText - msg = MIMEText(str(mailcon)) - msg['Subject'] = str(subj) - msg['From'] = CONFIG_MAIL_FROM - msg['To'] = CONFIG_MAIL_TO - msg['Cc'] = ', '.join(CONFIG_MAIL_CC) - s = smtplib.SMTP(CONFIG_MAIL_HOST) - s.sendmail(CONFIG_MAIL_FROM, [CONFIG_MAIL_TO]+CONFIG_MAIL_CC, msg.as_string()) - - def doCheck(self): - sock = urllib.urlopen(str(self.uri)) - resp = sock.getcode() - sock.close() - return resp - - def loadLast(self): - return self.shelvedb[self.DICT_LAST] - def storeLast(self, portalObject): - self.shelvedb[self.DICT_LAST] = portalObject - - def loadObject(self, index): - return self.shelvedb[str( (int(index) % CONFIG_DICTMAX) )] - def storeObject(self, portalObject): - ind = self.loadIndex() - self.shelvedb[str(ind)] = portalObject - ind = (ind + 1) % CONFIG_DICTMAX - self.storeIndex(ind) - - def loadType(self): - return int(self.shelvedb[self.DICT_CURRENT_TYPE]) - def storeType(self, onlineType): - self.shelvedb[self.DICT_CURRENT_TYPE] = int(onlineType) - - def loadIndex(self): - return int(self.shelvedb[self.DICT_CURRENT_INDEX] % CONFIG_DICTMAX) - def storeIndex(self, index): - self.shelvedb[self.DICT_CURRENT_INDEX] = (index % CONFIG_DICTMAX) - - def listObjects(self): - for (key, value) in sorted(self.shelvedb.iteritems()): - if type(value) == PortalObject: - outdate = self.doTimeFormat(value.timestamp) - outval = outdate + ' ' + rjust(str(value.httpresp), 3, ' ') - else: - outval = str(value) - print('Key: [%s] | Value: [%s]' % ( rjust(key, 9, ' '), rjust(outval, 25, ' ') )) - - def doPortalCheck(self): - errstr = None - try: - httpresp = self.doCheck() - except IOError as err: - httpresp = -1 - errstr = str(err) - curtime = time.time() - po = PortalObject(curtime, httpresp, errstr) - ct = self.loadType() - if httpresp is 200: - dbg('Ok') - if ct == TYPE_ONLINE: - self.storeType(TYPE_ONLINE_AGAIN) - elif ct != TYPE_ONLINE_AGAIN: - self.storeType(TYPE_ONLINE) - last = self.loadLast() - self.storeObject(last) - self.storeLast(po) - self.sendMail() - self.shelvedb.sync() - else: - dbgstr = str() - dbgstr += ' (' + errstr + ')' if errstr is not None else '' - dbg('Err ' + str(httpresp) + dbgstr) - if ct == TYPE_OFFLINE: - self.storeType(TYPE_OFFLINE_AGAIN) - elif ct != TYPE_OFFLINE_AGAIN: - self.storeType(TYPE_OFFLINE) - last = self.loadLast() - self.storeObject(last) - self.storeLast(po) - self.sendMail() - - -if __name__ == '__main__': - os.umask(0117) - if os.getuid() == 0: - oldmask = os.umask(0) - try: - os.mkdir(os.path.dirname(CONFIG_DBFILE), 0755) - except: - pass - os.umask(oldmask) - pc = PortalCheck(CONFIG_CHECKURL, CONFIG_DBFILE) - dbg('dropping root privileges') - import pwd - pwd = pwd.getpwnam(CONFIG_USER) - os.chown(pc.dbfilename, 0, pwd.pw_gid) - else: - pc = PortalCheck(CONFIG_CHECKURL, CONFIG_DBFILE) - - pc.doPortalCheck() - if sys.flags.debug: - pc.listObjects() - pc.cleanup() diff --git a/powersaver.sh b/powersaver.sh deleted file mode 100755 index f25ee0c..0000000 --- a/powersaver.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/bash -# -# (cc:by-sa) 2007 Marco Gabriel, http://www.marcogabriel.com/ -# modified by Toni U. (matzeton@googlemail.com) -# This Script uses nmap && vnstat! -# Powersaver.sh - -### -# CONFIG -### - -# filename of the statusfiles -STATUSFILE="/tmp/powersaver-status" -POWERFILE="/tmp/powersaver-active" -# nmap patch -NMAPCMD="/usr/bin/nmap" -# vnstat path -VNSTATCMD="/usr/bin/vnstat" -# network interface -VNSTAT_IF="eth0" - -# which ip range should be checked? -# this example looks in "192.168.1.10 to 192.168.1.30" -# and "192.168.178.10 to 192.168.178.30" -RANGE="192.168.0.20-100" -# how many clients are always on (other servers, routers, etc) -MINCLIENTS=0 -# shutdown after how many retries? -RETRIES=3 - -### -# END CONFIG -### - -function isAble() { -test -f $STATUSFILE || echo "COUNT=$RETRIES" > $STATUSFILE -test -f $POWERFILE || echo "" > $POWERFILE -if [ -w $POWERFILE ]; then - return 0 -else - return 1 -fi -} - -function getTraffic() { -VNST=`"$VNSTATCMD" -tr -i "$VNSTAT_IF" | tr -s '[:blank:]' '\t'` -TX=`echo "$VNST" | grep "tx"` -RX=`echo "$VNST" | grep "rx"` -NTX=`echo "$TX" | cut -f 3 | tr '.' '\t' | cut -f 1` -NRX=`echo "$RX" | cut -f 3 | tr '.' '\t' | cut -f 1` -TX_UNIT=`echo "$TX" | cut -f 4` -RX_UNIT=`echo "$RX" | cut -f 4` -if [ "$RX_UNIT" == "kbit/s" ] && - [ "$NRX" == "0" ]; then - return 1 -else - return 0 -fi -} - -case "$1" in -check) -if [ "`whoami`" != "root" ]; then - echo "Only root can do this!" - exit 1 -fi -test -f "$POWERFILE" || (touch "$POWERFILE"; chmod 664 "$POWERFILE"; chown root:staff "$POWERFILE") -test -f "$STATUSFILE" || (touch "$STATUSFILE"; chmod 644 "$STATUSFILE"; chown root:staff "$STATUSFILE") -test `users | wc -w` -le 0 || exit 0 -test "`cat $POWERFILE`" = "false" && exit 0 -NUMCLIENTS=`$NMAPCMD -sP $RANGE -oG --open | grep "^Host" | wc -l` -if [ $NUMCLIENTS -le $MINCLIENTS ]; then - if [ ! -f "$STATUSFILE" ]; then - echo "COUNT=$RETRIES" > $STATUSFILE - fi - . $STATUSFILE - if [ $COUNT -le $MINCLIENTS ] && - [ `users|wc -w` -le 0 ]; then - getTraffic - if [ $? -eq 1 ]; then - echo "Shutdown..." - echo "COUNT=$RETRIES" > $STATUSFILE - shutdown -h now; - fi - else - let COUNT=$COUNT-1 - echo "COUNT=$COUNT" > $STATUSFILE - fi; - else - echo "COUNT=$RETRIES" > $STATUSFILE -fi -;; -on) - isAble - if [ $? -eq 0 ]; then - echo "" > $POWERFILE - else - echo "Ihnen fehlen die Rechte." - fi -;; -off) - isAble - if [ $? -eq 0 ]; then - echo "false" > $POWERFILE - else - echo "Ihnen fehlen die Rechte." - fi -;; -status) - echo -ne "Status\t: " - if [ -r "$POWERFILE" ] && - [ "`cat "$POWERFILE"`" == "false" ]; then - echo "Deaktiviert" - else - echo "Aktiv" - fi - test -r "$STATUSFILE" && (. $STATUSFILE; echo -e "WDH.\t: $COUNT") -;; - *) echo "Usage: powersaver.sh [status|on|off]" -;; -esac - -return 0 - diff --git a/temperature.sh b/temperature.sh deleted file mode 100755 index 1ce8ca8..0000000 --- a/temperature.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -NAME=`basename $0` -CHIP= -WARN_TEMP=65 -SHUT_TEMP=75 -MAIL_USER="root" - -CMD=`sensors $CHIP | grep -E '°C' | awk '{ print +$3 }'` - -i=0 -for temp in $CMD; do - if [ $temp -ge $WARN_TEMP ] && [ $temp -lt $SHUT_TEMP ]; then - echo "$0: WARNING: CPU Core heat ($temp C)" | mail -s "CPU Core WARN" $MAIL_USER - echo "TEMP$i HEAT ($temp C)" | logger -p user.crit -t $NAME - fi - - if [ $temp -ge $SHUT_TEMP ]; then - echo "$0: EMERGENCY: CPU Core Meltdown! I'm going sleep .. ($temp C)" | mail -s "CPU Core EMERGENCY" $MAIL_USER - echo "TEMP$i HEAT CRITICAL -> SHUTDOWN ($temp C)" | logger -p user.emerg -t $NAME - /sbin/init 0 - fi - - i=`expr $i + 1` -done - |