Der Code-Schnippsel-Thread

  • Code
    (echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | xxd | awk '{print $2$3$4$5}' | sed -r 's/([^$]{4})/\1:/g' | tr -d '\n'; echo :


    Generiert ein Präfix für eine Unique Local Address.
    Man kann auch gleich noch die Addresse für ein Netzwerkinterface generieren:

    Code
    linux% ipv6calc --quiet --in prefix+mac  $((echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | xxd | awk '{print $2$3$4$5}' | sed -r 's/([^$]{4})/\1:/g' | tr -d '\n'; echo :) $(ip addr show dev $INTERFACE | grep "link/ether" | awk '{print $2}')
    
    
    bsd% ipv6calc --quiet --in prefix+mac  $((echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | xxd | awk '{print $2$3$4$5}' | sed -r 's/([^$]{4})/\1:/g' | tr -d '\n'; echo :) $(ifconfig $INTERFACE | grep $EUDA | awk '{print $2}') ### OpenBSD: $EUDA==lladdr; FreeBSD: $EUDA==ether; $NetBSD: $EUDA==address:


    Allerdings ist gandro für den Großteil dieses "Codes" verantwortlich :D

    Hier noch die alte Variante die nur auf Big-Endian-Architekturen funktioniert:

    Spoiler anzeigen
    Code
    (echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | hexdump -e '"%x"' | sed -r 's/([^$]{4})/\1:/g'; echo :


    OpenBSD:

    Code
    ipv6calc --quiet --in prefix+mac  $((echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | hexdump -e '"%x"' | sed -r 's/([^$]{4})/\1:/g'; echo :) $(ifconfig $INTERFACE | grep lladdr | awk '{print $2}')


    Linux:

    Code
    ipv6calc --quiet --in prefix+mac  $((echo -ne '\xfd'; dd if=/dev/random bs=1 count=5 2>/dev/null; echo -ne "\xaf\xfe") | hexdump -e '"%x"' | sed -r 's/([^$]{4})/\1:/g'; echo :) $(ip addr show dev $INTERFACE | grep "link/ether" | awk '{print $2}')

    PGP-Key E384 009D 3B54 DCD3 21BF  9532 95EE 94A4 3258 3DB1 | S/MIME-Key 0x1A33706DAD44DA
    G d-@ s+:- a--- C+++ UB+L++ P--- L++@ E-@>++ W+ N o? K? w>++ !O !M !V PS+++ PE-- Y+>++ PGP++>+++ !t 5? X? !R tv b+++>++++ DI !D G>+ e>+++ h !r>++ !z
    „Die Aachener gelten als Erfinder des 4. Hauptsatzes der Thermodynamik: ‚Thermo schreibt man zweimal.“‘
    “Saying that Java is good because it works on all platforms is like saying oral sex is good because it works on all sexes.”
    „Es gibt 10 Sorten von Leuten: Die einen verstehen das Binärsystem, die anderen nicht.“
    „Manche Männer lieben Männer, Manche Frauen eben Frauen; Da gibt's nix zu bedauern und nichts zu staunen; Das ist genau so normal wie Kaugummi kauen; Doch die meisten werden sich das niemals trauen“

    Einmal editiert, zuletzt von thosch97 (8. August 2012 um 13:25)

  • Bash
    #!/bin/sh
    PROFILE=`netcfg current`
    ROUTER=`ip route show | grep "default via" | awk '{print $3}'`
    while true; do
    	if ! ping -c 1 $ROUTER ; then
    		netcfg -d $PROFILE
    		netcfg $PROFILE
    	fi
    	sleep 60
    done

    Weil der Broadcom-Treiber unter Linux nach wie vor Müll ist und wpa_supplicant allein keine toten Verbindungen erkennt.

  • Visual Studio-Package-Hauptklasse mit deutscher Übersetzung (und aufgeräumt)


  • Weil der Broadcom-Treiber unter Linux nach wie vor Müll ist und wpa_supplicant allein keine toten Verbindungen erkennt.

    Leicht verbesserte Variante:

    Bash
    #!/bin/sh
    INTERFACE=wlan0
    ROUTER=`ip route show | grep ^default | awk '{print $3}'`
    while true; do
    	ping -c 1 $ROUTER >/dev/null || netcfg -R $INTERFACE
    	sleep 60
    done

  • Macht das der network-manager nicht schon so?

    Das würde ein Netzwerk-Daemon mit ziemlicher Sicherheit für mich erledigen, wenn ich denn einen laufen hätte. :D Nutze aber seit mehr als zwei Jahren noch immer nur blankes netcfg hier und kam damit bis zuletzt recht gut aus.


  • Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (10. September 2012 um 20:59)

  • Supereinfaches Uploadskript mit Prozentanzeige (dank gandro :)) - geht eher um's Prinzip, falls einer mal mit Uploads basteln will.
    Schmeisst alle Dateien mit ihrem Originalnamen in ./uploads (tut also nix gegen gleiche Dateinamen und der Ordner sollte schreibbar sein).

    index.html


    upload.php

    PHP
    <?php
       $uploads = 'uploads';
       $file = $_FILES['fileSelector'];
    
    
       if($file['error'] == UPLOAD_ERR_OK) {
         move_uploaded_file($file['tmp_name'], "$uploads/" . $file['name']);
       }
    ?>
  • Code
    #! bin/sh
    SUFFIX="tar"
    Backup="Homebackup.$SUFFIX" 
    echo -n "Pfad zum Homeverzeichnis: "
    read home
    echo -n "Pfad zum Backupverzeichnis: "
    read Destination
    # cp -r $home $Destination 
    # cd $Destination
    tar czfv $Backup $home


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

  • Mein allseits bekanntes gallery-Script. Einfach in einem Verzeichnis mit Fotos starten und schon wird eine schöne HTML-Galerie mit Vorschaubildchen generiert.

  • Das kann man mit Sicherheit auch in Batch machen. Imagemagick ist ja auch für Windows verfügbar, also ist durchaus machbar. Bau mal :)

  • Anleitung zum Selbermachen:

    • Erste Zeile durch @echo off ersetzen. :D
    • Alle Kommentare mit rem formulieren.
    • touch kannst du weglassen, da die erste nicht-anhängende Ausgabeumleitung (> index.html) ohnehin die Datei anlegt, falls nicht vorhanden. Ansonsten durch copy nul index.html ersetzen.
    • Zum Setzen von Variablen brauchst du das Stichwort set: set THUMBHOEHE=320
    • Variablen werden als %VARIABLE% statt $VARIABLE notiert.
    • %USERNAME% ist ein brauchbarer Ersatz für `whoami`.
    • echo macht automagisch genau die Leerzeichen, die du eingegeben hast. Entferne die Anführungszeichen.
    • Die for-Schleife macht man unter WinNT so (Prozentzeichen muss man in Batchdateien escapen, da besonderes Symbol):

      Code
      for %%datei in (*.jpg *.png *.gif *.xpm *.bmp) do (
      ...
      )
    • read kann man mit set /p ersetzen.
    • exit entfernen. ;)


    Schon klar wie das zu machen ist. Trotzdem danke^^

    War auch eher an mrshadowtux gerichtet.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!