Bernhard Häussner
Tags: Artikel mit dem Tag «App» durchstöbern

Cyberguide 3

31.12.2008, 17:35
Cyberguide 3

Cyberguide 3

Da Bookmarks zu unübersichtlich sind und zu lange brauchen um gefunden zu werden und da diese ganzen Speed Dial und wie sie heißen zu wenig anzeigen und in jedem Browser konfiguriert werden wollen, benutze ich fast seit ich HTML kann eine Browser-Startseite mit allen wichtigen Links und Suchfunktionen. Diese geht nun in die 3. Runde und ist ab sofort verfügbar: Cyberguide 3.

Wen die ganze Geschichte interessiert, der lese hier nach. Sie hat folgende neue Festures:

  • regelmäßige, floatende Linkboxen
  • überarbeitete Links
  • auf diesen Host migriert, vielleicht wird sie irgendwann dynamisch.

Besonders empfehlenswert ist die Firefox-Erweiterung NewTabURL mit der man die Cyberguide automatisch in neuen Tabs öffnen kann.

Kommentare: keine

MySQL von außen via SSH-Tunnel (und KDE GUI)

28.12.2008, 17:04
Lokaler MySQL-Client 
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
MySQL-Server

Als Web-Administrator braucht man oft Zugang zu einem MySQL-Server. Das kann man mit phpMyAdmin machen, doch das ist kaum so sicher und weniger komfortabel wie remote-Zugriff über einen SSH-Tunnel.

Was kann der SSH-Tunnel und wie geht das?

En SSH-Tunnel macht, dass, wenn auf den eigenen Rechner von einem Port zugegriffen wird, dann die Packete über die verschlüsselte SSH-Verbindung von dem Verbundenen Rechner (Gateway) aus wieder an einen Rechner weitergeleitet werden. Der Befehl sieht so aus:

ssh -L lokalerport:zielrechner:zielport sshgatewaylogin@gateway

Siehe auch das Diagramm:

Irgendwer 
    |
    |
(Lokaler Port)
    |
    v
Mein Computer
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
Gateway, eingeloggt als SSH-Gateway-Login
    |
    |
(Zielport)
    |
    v
Zielrechner

Im Fall MySQL greife nur ich über irgendeinen Port auf meinen Computer zu. Der Gateway-Rechner und Zielrechner sind der MySQL-Server und der greift auf sich selbst zu und zwar über den MySQL-Port (Standard: 3066). Dann sieht das ungefähr so aus:

ssh -L 7777:127.0.0.1:3306 me@mysqlserver -N -f

In Verbindung mit MySQL am besten immer 127.0.0.1 verwenden, das vermeidet Ärger. Das praktische ist nun, dass man MySQL-Clients auf den eigenen Rechner nun mit der Datenbank auf dem Server verwenden kann. Solche Clients sind z.B. der MySQL-Abfrage-Browser oder der MySQL-Administrator oder sogar ein PHP-Skript, das auf dem eigenen Rechner läuft. Man kann damit also nicht nur die Datenbank mit einem schönen GUI verwalten, sondern auch PHP-Skripte, Templates o.ä. auf dem eigenen Rechner testen, nur eben mit der Datenbank auf dem Server. Das ist besonders praktisch, wenn man in einem nicht-lokalen Team zusammenarbeitet, da dann alle auf eine zentrale (Development-)Datenbank zugreifen und nicht jeder ständig seine Datenbank synchronisieren muss. (Außerdem muss nicht jeder einen MySQL-Server installieren. )

Wie man das verwendet ist auf tsunamihost.ch sehr gut beschrieben, für Windows und unixoide Systeme. Es findet sich sogar ein kleines Script für init.d um den Tunnel bei jedem Systemstart zu aktivieren.

(Update 2010-11-21) Um zum Beispiel ein MySQL-Dump über den SSH-Tunnel auf einen entfernten Datenbankserver aufzuspielen genügt dann dieser Befehl:

cat local_path/to/dump.sql | \
   mysql -u db_user -p -P 7777 -h 127.0.0.1 db_schema

Es ist hier wichtig als Host 127.0.0.1 anzugeben, da sonst eine lokale Socket-Verbindung genutzt wird. Und natürlich den Port, über den der Tunnel läuft. (/Update)

Ich will mir keine Befehle und Ports merken und habe KDE

Dann habe ich noch ein kleines Script im Angebot: Es lässt sich z.B. im Startmenü verknüpfen und wenn man es anklickt öffnet sich ein Dialog, der fragt, ob der MySQL-Tunnel benötigt wird. Ein klick auf „Ja“ und der Tunnel wird gestartet bzw. läuft weiter oder ein Klick auf "Nein" und der Tunnel wird, sollte er laufen, gestoppt. Einfacher geht es nicht, oder? Das Sktipt braucht KDE, da es kdialog verwendet und steht hier zum Download bereit:

Kurz die Konfiguration bearbeiten und in den Ordner ~/bin verschieben und der Tunnel kann jederzeit gestartet werden.

Da das Tunnel Aufbauen von meiner Server Management Software YaSvenT erledigt wird, benutze ich inzischen das Sktipt allerdings fast nicht mehr

Kommentare: keine

Servicemenüs für Konqueror und Dolphin

22.12.2008, 17:30

Tipp: Lesen Sie einen neuen Artikel zum Thema: Servicemenüs für Dolphin (neu).

Einer der Hauptvorteile von Linux für mich ist, dass es von Programmieren für Programmieren gemacht ist. Das hat den Nebeneffekt, das man sich teilweise auskennen muss, aber den immensen Vorteil, dass, kennt man sich ein bisschen aus, man schon recht nette Dinge anstellen kann. Zum Beispiel kann man Scripts via Mausklick mit Dateien füttern, indem man die Servicemenüs von Konqueror bzw. Dolphin benutzt. Wie das geht hier.

Zuerst einmal brauchen wir ein Programm, dass Dateien will. Als Beispiel md5sum. Mich hat es immer genervt, nur um mal eben eine Datei zu prüfen in der Konsole zumzufummeln. Deshalb erstellen wir ein Servicemenü:

[Desktop Entry]
ServiceTypes=all/allfiles
X-KDE-Submenu=Check...
Actions=md5sum;sha1sum;sha512sum

[Desktop Action md5sum]
Name=md5-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox"`md5sum %U`"

[Desktop Action sha1sum]
Name=sha1-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox "`sha1sum %U`"

[Desktop Action sha512sum]
Name=sha512-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox "`sha512sum %U`"

Zuerst ein Desktop Entry, der den Ordner für die Prüfsummen-Aktionen einstellt. Wir wollen alle Dateien prüfen, deshalb ServiceTypes=all/allfiles, hier könnten wir auch andere Bezeichener einsetzten, nämlich die, die im KDE-Kontrollzentrum unter KDE-Komponenten bei Dateizuordnungen zu finden sind. Es wäre also auch etwas wie image/jpg denkbar.

Dann folgen die Aktionen. Die Namen von den Aktionen werden auch unter Actions eingetragen. Sie bestehen aus einem Icon, der über den Namen des Icons im Aktuellen Iconset definiert wird, einem Anzeigenamen und dem Auszuführenden Programm. Hier wird es wieder etwas interessanter:

Anstatt einfach nur md5sum einzugeben öffnen wir einen kdialog und übergeben ihm die Ausgebe von md5sum. Das geschieht mit den seltsamen Anführungszeichen die man meist irgendwo auf der Taste neben Back Space findet. Da wo %U steht kommt dann der Dateiname hin.

Das ganze kommt dann in eine iwas.desktop Datei und in einen Servicemenü Ordner. Der findet sich normalerweise an einer dieser Positionen:

~/.kde4/share/apps/dolphin/servicemenus
~/.kde/share/apps/konqueror/servicemenus
~/.kde/share/apps/dolphin/servicemenus

Edit: Auf neueren KDE4 Versionen muss man noch dieses Skript nach dem Verschieben in den konqueror-Ordner laufen lassen:

http://www.kde-apps.org/content/show.php/KDE4-servicemenus?content=80131

Wenn alles glatt läuft kann man sie sofort verwenden.

Ein Servicemenü wollte ich noch veröffentlichen. Um Dateien über Instant Messenger und IRC oder große Dateien per Mail bedient man sich gerne einer Dateiupload-Seite, wie z.B. senduit. Diese kann man natürlich in ein Servicemenü integrieren. Das folgende Python-Script im ~/bin-Ordner als ausführbar markieren und das Servicemenü installieren und schon kann es los gehen.

Ein wirkliches muss ist das KDE Image Menu, kurz KIM, mit dem sich Bilder umwandlen, komprimieren, drehen, spiegel und verkleinern lassen. Es ist verfügbar auf kde-apps.org und erspart sehr viel GIMP-Öffnen.

Kommentare: keine

Pyramid.php

31.10.2008, 19:07

Nachdem ich neulich bei Wikipedia von der „Obfuscation“ bei Perl gelesen habe, habe ich mir gedacht ich mache so etwas auch mal mit PHP. Das Ergebnis ist schon sehenswert:

function x($c){$x=21;return
y(array(1,7,$c[1],14,5,9,$c[3],8,++$x,11),$c).$c[2].y(array(--$x,++
$x),$c);}$c=array('md','s','o','_','PG','MQ','IA','Iw','n',);$x=9;$a=dechex(15);function
f($x,$y,$c){$z=x($c);$r='';for($i=0;$i<$x;$i++){$r.=$z($y);}return
$r;}$y=$a($x,$c[5].$a(12,4,$c),$c);function
y($x,$c){$b=$c[0];$b.=5;$r='';$z=$b($c[8]);foreach($x as
$y){if(!is_numeric($y)){$r.=$y;}else{$r.=$z[$y];}}return
$r;}list($y,$z)=d($y);for($i=0;$i<$z;$i++){print($a($x-$y[$i],$c[6].$a(sqrt(9),
$c[4],$c),$c).$a($y[$i]*sqrt(4)-1,$c[7].$a(12,4,$c),$c)."\n");}function
d($x){$x*=$x;return array((string)$x,strlen($x));}
Download: pyramid (622 Bytes)

Wer sich traut, kann das Programm ja mal laufen lassen, und sehen, was passiert. Am besten in der Kommandozeile mit php5 pyramid.php. Leider sieht man im Gegensatz zu den Perl-Script noch einige Codewörter.

Tags:
Kommentare: keine
« Vorherige Seite [ Seite 1 2 3 ]
 
Χρόνογραφ
© 2008-2017 by Bernhard Häussner - Impressum - Login
Kurz-Link zur Homepage: http://1.co.de/