Entries filed under Programmvorstellungen

DynDNS auf OpenWrt mit updatedd

Posted on 24. Juli 2011 Comments

Nachdem ich mir irgendwie LuCI und Webif² zerschossen habe auf meinem WRT54GL und mein DynDNS nicht mehr funktionierte, musste ich das ja irgendwie über SSH wieder anstellen. Es hat mich einige Zeit gekostet das passende Programm zu finden. Auf einer Website fand ich den Hinweis, dass es sich hierbei um updatedd handelt, einfach mal eingetippt bekam ich die folgende Meldung:

root@router:/usr/bin# updatedd --help

Usage: updatedd [OPTION]... SERVICE -- ...

Please use `updatedd-wrapper' instead of updatedd.

Options:
-L        list installed plugins (services) and exit
-Y        use syslog
--help    print help and exit
--version    print version information and exit

Report bugs to <updatedd@philipp-benner.de>.

Mit updatedd -L bekommt man zu sehen, welcher Service installiert ist.

root@router:/usr/bin# updatedd -L

Services:
dyndns

Die Zugangsdaten für den DynDNS Account liegen in /etc/config/updatedd:

config 'updatedd'
	option 'service' 'dyndns'
	option 'username' 'alice'
	option 'password' 'secret'
	option 'host' 'bob.dyndns.org'
	option 'update' '1'

Denke mal der Aufbau ist selbsterklärend. Wenn man sich ein bisschen umguckt, findet man auch noch die Datei /etc/init.d/updatedd, die man, entgegen des Hinweises von updatedd, updatedd-wrapper zu benutzen, startet, den Service zu updaten:

root@router:/# /etc/init.d/updatedd start
Connecting to checkip.dyndns.org (1.2.3.4:80)
updatedd_ip_check    100% |*******************************|   104  --:--:-- ETA

bzw.

/etc/init.d/updatedd enable

für den Autostart.

Flattr this!

XMPP/Jabber, VoIP(jingle), Webcam und Remote Desktop auf Dockstar

Posted on 30. April 2011 Comments

Wenn man sich die anderen Beiträge hier anguckt, merkt man, dass ich mich in letzter Zeit ziemlich viel mit XMPP/Jabber, Verschlüsselung und VoIP beschäftige. Leider gab es lange Zeit keine gute Alternative zu Skype aber nach ein paar Stunden testen, meine ich tatsächlich eine Lösung gefunden zu haben: jitsi. Wer das schon länger verfolgt, kennt das Programm vielleicht noch unter dem Namen SIP-Communicator. Inzwischen ist es ein vollwertiger Instant Messenger, der auch ICQ, Windows Live(MSN) und weitere Messenger unterstützt. Mit der Implementierung von jingle gehen jetzt auch Voice Calls und Webcam, grade unter Windows 7 zu Windows XP und Ubuntu 10.04 getestet.

Nun ist man natürlich immer noch abhängig vom Anbieter des XMPP-Servers, allerdings nicht mehr von Red5, welches in Java geschrieben ist und somit wohl eher nicht auf z.B. der Dockstar (->Openfire) läuft. Mit der ebenfalls Webcam und Audio möglich war, s. jabber-server.de/red5 über Spark(Client) und Openfire (Server). Hier also mal eine kleine Auflistung von öffentlichen Jabber-Servern:

Für optimale Privacy kann man natürlich auch einen eigenen Jabber-Server, z.B. ejabberd aufsetzen. Das funktioniert auch mit einer 1GHz ARMEL CPU auf der Dockstar (!)

Ein sehr geiles Feature, nach dem ich überhaupt nicht überhaupt gesucht hatte, ist die Remote-Desktop Funkionlität. Sonst habe ich das immer über das proprietäre logmein.com/hamachi gemacht, aber das gefällt mir natürlich besser:) OTR für’s chatten ist eingebaut und funktioniert auch out-of-the-box mit Pidgin auf der Gegenseite( und damit wohl auch Adium)

update: Die Gespräche sind über ZRTP verschlüsselt

Flattr this!

Pidgin und OTR in einer Datei

Posted on 28. April 2011 Comments

Bei einer Diskussion beim Easterhegg 2011 kamen wir auf die Idee, dass die Leute vielleicht einfacher dazu bewegen wären, Pidgin mit OTR-Verschlüsselung zu installieren, wenn es einfach nur eine Installationsdatei geben würde und man nicht, wie auch z.B. in meinem Blog(engl.), man eine Anleitung dazu schreiben muss. Diese hier ist einfach:

1. Download

2. Draufklicken

  • Pidgin Version: 2.7.11
  • pidgin-otr Version: 3.2.0-1

(Sowohl Pidgin als auch pidgin-otr sind freie Software unter der GPL.)

//edit: Alternativ lohnt sich auch Jitsi, das auch noch Skype(Audio/Webcam) und Remote-Desktop Programme ersetzen kann.

Flattr this!

Establish secure instant messaging connections via jabber and OTR

Posted on 12. April 2011 Comments

//update: even easier: My installer for both messenger and encryption

Instant Messaging is what most of you might know as ICQ, AIM, YIM, Windows Live Messenger(or „MSN“), Skype, Google Talk, etc.

What I’m going to show you is how to install the instant-messenger Pidgin, the encryption extension OTR and create a jabber-account with a provider of your choice. But don’t worry, this is not getting very technical, in fact, it probably takes you less than 5 minutes(!). At the end of the article you’ll find some more explanations and backgrounds, if you’re interested.

Step by step

1. Download Pidgin at http://www.pidgin.im/download (Link for Windows)

2. Download the OTR Pidgin plugin at http://www.cypherpunks.ca/otr/ (Link for Windows)

3. Install Pidgin, just doubleclick on the icon and press next every time you’re asked something. Then install the OTR plugin, same procedure.

4. Create a jabber account, for the beginning https://register.jabber.org/ will do. Just choose a nickname, that might be your real name, a nickname or some letter-number-chaos, just remember it and the password too.

5. Open Pidgin, you’re gonna be asked to create an profile/account. Choose XMPP as protocol. Username is the part in front of @jabber.org at your new jabber-address, so the nickname you chose before. Domain is jabber.org. Leave recource free and enter your password. Click Save.

7. Your buddy-list opens, as you might know it from ICQ or Skype. You can now add buddys via the main menu.

8. Enable OTR by clicking Tools/Plugins in the main menu, then scroll down, until you find Off-the-Records Messaging, make sure it’s checked.

9. As soon as you chat with someome who also has OTR installed, Pidgin creates a pair of keys(only for the first time). As from now on the connection is encrypted. Just make sure, the person you’re talking to, is really the person you think it is.

10. That’s what the verifying function is about. On the right side of a chat window, there is a button with encrypted but not authorized button, click on it and authorize your chat buddy via passphrase, question and answer or by compairing digital fingerprints over a secure connection, e.g. mobile phone or by standing next to each other.

 

Extra Information

Pidgin is a multi platform chat client. This means you can use whatever chat provider you want to, such as ICQ, Windows Live(MSN) or Skype and use just one programm for all of them. Also, OTR works with all of them, but to be completly independent on commercial providers, I chose jabber.

Jabber works a bit like e-mail (decentralized, that is). You have to choose a provider, just like you would choose hotmail.com, googlemail.com, yahoo.com etc for e-mail. There a quite a few providers, for example the Chaos Computer Club in Germany or even German Universities. Since most jabber software is free software you might even want set up your very own jabber server in your basement like me.

OTR has a pretty good encryption. The big advantage is the encryption from end to end, so unless the attacker is in control over your computer, no one can see what you’re writing. Plus, it’s plausible deniable, see Plausible Deniability at wikipedia

Jabber, or rather the protocol XMPP is used by various big companies such as Google(google talk) or Facebook(facebook chat). You just hardly ever get to know what’s behind a system.

Flattr this!

Open Source Social Bookmarking: Scuttle

Posted on 9. März 2011 Comments

Seit Facebook abgestellt hat, dass man eine Liste seiner eigenen Links sehen kann, und ich keine Lust habe durch hunderte meiner Statusnachrichten zu scrollen um einen Link von vor ein paar Monaten zu finden, geschweige denn die Profile von anderen Leuten zu durchsuchen, wollte ich mir einen Social Bookmarking Account zulegen und dann halt immer wenn ich etwas auf Facebook oder Twitter poste oder finde, gleich es dort mit eintragen, weil man die meisten ja verbinden kann. Wikipedia sagt zu Social Bookmarking

"Es gibt eine Reihe von Open-Source Lösungen für Social Bookmarks, die auf dem eigenen Server
 installiert werden können, z. B. Unalo, Connotea, Scuttl oder Pligg."

Gleich dem drittbesten, also scuttle, hinterher gegoogelt und stellte sich heraus, dass es zwar nicht besonders Admin-freundlich ist(kein Admin-Panel!), man aber mit wenig Hintergrundwissen auch überhaupt keins braucht, höchstens für das Verwalten mehrerer User, dafür aber simpel und User-freundlich. Was mir fehlt ist jetzt natürlich eine Twitter/Facebook integration, da kann man aber auch nochmal reinschauen, allzu schwer dürfte das ja nicht sein(?). Sonst geht es auch über RSS-Feed

Die Installation sah folgendermaßen aus:

1. Mit PHPMyAdmin einloggen

2. Datenbank erstellen(muss keine neue sein, in dem Fall dann Datenbankname merken)

3. Datenbank Name/Username/Password in die config.inc.php.example eintragen und evtl. Einstellungen vornehmen.

4. config.inc.php.example in config.inc.php umbenennen

5. In PHPMyAdmin die Datei tables.sql importieren

6. Account erstellen und loslegen.

Es scheint ein Problem mit Spam Bots zu geben, deshalb hier der Tip von B2 Performance:

 

"Dazu habe ich in /templates/toolbar.inc.php den Register-Link enfernt und die register.php entfernt."

Ich hab die jetzt nicht entfernt, auch wenn man ohne weiteres über PHPMyAdmin User anlegen könnte, allerdings umbenannt und per FTP Client alle Rechte genommen. Alternativ gibt es noch die Weiterentwicklung namens Semantic Scuttle, die eine Anti-Spam Registrierung und noch einige Funktionen mehr hat. Sehr dubios erscheint mir das Angebot von Scuttle Plus, einem Admin Interface für ~$70, lieber nicht ausprobieren 😉

Meine Scuttle Installation findet ihr übrigens unter http://repat.de/scuttle

update: Was mir noch eingefallen ist: man kann ja neuerdings seine facebook-Daten runterladen und dann in den .html-Dateien nach einem bestimmten Link suchen. Jenachdem wie lange man bei facebook ist und wieviel man postet ist das Durchsuchen per Konsole aber eventuell praktischer, weil der Browser bei ein paar Megabyte großen Dateien schonmal abstürzt.

Flattr this!

IPv6 Privacy extensions Ubuntu 10.04

Posted on 15. Januar 2011 Comments

If not already happened, add the following to /etc/udev/rules.d/70-persistent-net.rules:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*",
RUN+="sysctl net.ipv6.conf.%k.use_tempaddr=2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*",
RUN+="sysctl net.ipv6.conf.%k.use_tempaddr=2"

Usually this happens when installing miredo or similar IPv6 tunneling software, but you might want to double-check it. Also, check if the eth* and wlan* fit your ethernet/wifi devices.

btw, unfortunately Android and I-Phone Devices don’t have this, which causes quite a bit privacy concerns, see heise.de on IPv6 on Smartphones for more information (German)

Flattr this!

iodine – free wifi hotspots mit IPv4 ueber DNS und Dockstar

Posted on 5. Dezember 2010 Comments

Jeder kennt das Problem, das man am Gate am Flughafen sitzt oder im ICE und es gibt einen W-LAN Hotspot, nur leider muss man dafür zahlen…In Australien gab es an jeder Ecke Paid HotSpots(häufig Global Gossip), zu horrenden Preisen und mit einer unverschämt langsamen Verbindung.

Nun hab ich grade eine Lösung für solche bzw. die meisten solcher unangenehmen Anbieter gefunden: iodine

Dieses kleine Programm sendet alle Pakete über Port 53, also DNS, welches die meisten Firewalls durchlassen, testen kann man das mit folgendem Befehl oder mit dig:

$ ping repat.de
PING repat.de (212.12.54.159) 56(84) bytes of data.

Wenn sich also der Name in eine IP-Adresse auflöst, dann sollte das hier prinzipiell möglich sein.

Eine kleine Anleitung, da ich hier nicht alles aufschreiben kann, was gemacht wurde: Als erstes muss eine Subdomain eingerichtet und DNS richtig konfiguriert werden für die Domain, dazu braucht man vollen Zugriff. Es ist mit einer dyndns Adresse unseres Wissens nicht möglich, s. dazu das README .

Dann kann man auf der Dockstar, einem kleinen Homeserver, oder auch auf jedem beliegen Server, auf den man Root-Zugriff hat, den iodine-server starten :

iodined -P password 192.168.3.123 meine.dyndns.tld

Auf dem Client jetzt die /etc/default/iodine anpassen:

# Default settings for iodine. This file is sourced from
# /etc/init.d/iodined
START_IODINED="false"
IODINED_ARGS="192.168.3 tunnel.domain.tld"
IODINED_PASSWORD="Passwd"

Falls man die Dockstar benutzt, muss man nur noch Port 53 auf die Dockstar IP im Router forwarden und den Client starten:

sudo iodine -f tunnel.domain.tld

tunnel.domain.tld ist die subdomain, die von der Domain für meine dyndns Adresse eingerichtet ist.

Voila, kostenloses Internet überall:)

//update

Geschwindigkeitsoptimierer:

  • Bilder ausstellen
  • Einen User-Agent von mobilen Geräten/Smartphones benutzen(z.B. mit User Agent Switcher als Firefox-Plugin)
  • Opera Turbo aktivieren beim Opera Browser(Website wird von Opera Servern angefragt, komprimiert, dir zugesendet und dort wieder entpackt, also quasi ein Proxy)
  • lynx als textbasierten Browser

Es gibt auch noch eine ICMP Version: ICMPTX

Flattr this!

Skype Alternative: XMPP/jabber mit jingle

Posted on 20. November 2010 Comments

Es wird nicht gerade wenig Energie darauf verwendet, Skye nicht reverse engineerbar zu gestalten. Niemand weiß also, was da eigentlich passiert.

Zum Glück gibt es (schon seit einiger Zeit) eine freie Alternative zu Instant Messaging Programmen: Jabber bzw. das Protokoll XMPP. Das wird übrigens auch von Google Talk, Facebook Chat, einigen Android Anwendungen und vielen mehr verwendet. Um Sprache zu übertragen braucht der Jabber Client zusätzlich noch die sog. jingle – Erweiterung.

gajim, jabbin und empathy unter Linux haben beide diese Funktionalität und es klappt auch wunderbar, das habe ich grade mit meinem eigenen dockstar jabber server ausprobiert, allerdings stürzte empathy noch ab, gajim funktionierte einwandfrei. Jetzt muss man nur noch seine Freunde davon überzeugen, sich einen Jabber Account zuzulegen, z.B. bei jabber.org oder jabber.ccc.de

Flattr this!

Jabber Server mit Debian Dockstar

Posted on 3. November 2010 Comments

Nach einigem Nachdenken, was ich nun(neben FTP/HTTP) mit dem Teil eigl anstellen will, kam mir die Idee eines eigenen Jabber Servers.
Im Ubuntu Wiki findet sich eine ziemlich gute Anleitung zu „ejabberd“, einem sowohl populären als auch einfachen Jabber-Server.

# apt-get install ejabberd
# dpkg-reconfigure ejabberd

Als Hostname habe ich da meinen schon vorhandenen DynDNS Namen genommen. Dann wurde ein Admin erstellt, Ports gemappt und es klapppt eigentlich auch schon. Evtl. bzw. je nach Wunsch kann/sollte man dann noch die Registrierung für neue User ausstellen.

Blöd nur, dass die DynDNS Adresse ja vom LAN aus nicht erreichbar ist. Ich habe da folgende Workarounds gefunden.

1. Kann man in den Einstellungen in den meisten Clienten den Server eingeben, bei dem man sich einloggen möchte, hier hab ich die lokale IP eingeben und bei Hostname trotzdem den DynDNS Namen(Screenshot)

2. Kann man in der Datei /etc/hosts einfach mit

IP DynDNS

also z.B.

192.168.1.3 homeserver.dyndns.org

eingeben und man wird automatisch weitergeleitet, das führt auch zu keinen Schwierigkeiten beim Zertifikat, Pidgin zumindest hat nochmal nachgefragt.

Vorteil an 1. Variante ist, dass man sich 2 Accounts erstellt, jenachdem wo man ist(nützlich bei Laptop) nimmt man eben einen anderen Account. Bei Desktop PCs ist es dann ziemlich egal was man nimmt, da geht 2. genauso gut, ich wollte nur beides erwähnen, weil mir die /etc/hosts als erstes einfiel.

Was natürlich auch noch geht, ist Proxys bzw. TOR nutzen und sich dann über fremde Server wieder zuhause einwählen um dann wieder in die weite Welt hinauszutelefonieren. Quark also;)

Vielleicht kommt ja in nächster Zeit noch was, meine nächste Idee wäre OpenID…mal sehen ob das klappt….z.B. für identi.ca

update:

Hab’s geschafft: OpenID auf meiner Dockstar

Flattr this!

Diaspora on Dockstar with Debian Lenny

Posted on 13. Oktober 2010 Comments

I’ll write this in English because more people might want to read it;)

Diaspora, programmed by 4 young hackers in NYC, is „The privacy aware, personally controlled, do-it-all, open source social network“(joindiaspora.com). Some say it’s gonna be a facebook killer, some say it’s gonna fail for various reasons. Basically, the idea is to create your own server – seed – which „speaks“ to other servers on the diaspora network, so a decentralized network instead a central server(farm) like facebook or several others. The main reason to do this is that your data stays in your own hands. Therefore everybody would have to install their own servers, which 99,9% of all internet users wouldn’t, simply because they wouldn’t know how.

Unfortunately they decided to write the whole thing in ruby(on rails), which I don’t know and most of the paid-hosters don’t support by default(unlike http/php/mysql/perl). As the database system they chose MongoDB, unusual as well.

My idea would have been, to install Diaspora on a mini server like the Sheeva Plug or Dockstar(3-5 Watt), with a debian/gentoo system on a USB Stick. It’s not to hard, there are a lot of tutorials on the internet. All the packages, like ruby/rake are supported. But would have? Yes, because obviously MongoDB doesn’t support ARM(Debian Lenny on a Dockstar with all dependencies installed):

In file included from db/../bson/bsoninlines.h:21,
from db/jsobj.h:43,
from db/jsobj.cpp:21:
db/../bson/util/atomic_int.h:96:4: error: #error "unsupported compiler or platform"
scons: *** [db/jsobj.o] Error 1
scons: building terminated because of errors.

So unless you want to keep your HomePC running 24/7(effect on environment? energy cost?), there’s no chance to host your own Diaspora seed at home. Therefore you have to pay a hoster to do so, and nearly nobodie’s gonna do that, because facebook is for free. I don’t think Diaspora will change their database system, so this goes out to all MongoDB developers: Please add support for ARM! According to this post on in a google group it can’t be too hard, but I really can’t tell:/ As I found out while googling I obviously wasn’t the only person who thought this might be a good idea:)

I’ll try to keep you uptodate, if anybody finds a solution, please post a comment:)

update: I just tried to use the same code for ARM as for i386 and – of course – got an error:

/tmp/ccEB7sgz.s: Assembler messages:
/tmp/ccEB7sgz.s:7236: Error: bad instruction `lock'
/tmp/ccEB7sgz.s:7237: Error: bad instruction `xadd r3,[r2,#0]'

Unfortunately I don’t know any ARM ASM, but maybe someone can translate?

update: In the code(/bson/util/atomic_int.h) it said

#elif defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
// this is in GCC >= 4.1

So I just added || defined(__arm__) because my dockstars gcc said:

# gcc -v
Using built-in specs.
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1'
 --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,
objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib
 --without-included-gettext --enable-threads=posix --enable-nls
 --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu
 --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libssp --disable-sjlj-exceptions
 --enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi --target=arm-linux-gnueabi
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1) 

I thought this might work. Then it compiled for about 3 hours and I got this error:

db/jsobj.o: In function `mongo::AtomicUInt::operator++(int)':
/root/mongo/db/../bson/util/atomic_int.h:60: undefined reference to `__sync_fetch_and_add_4'
util/message.o: In function `mongo::AtomicUInt::operator++(int)':
/root/mongo/util/../util/../db/../bson/util/atomic_int.h:60: undefined reference to `__sync_fetch_and_add_4'
db/stats/counters.o: In function `mongo::AtomicUInt::operator++(int)':
/root/mongo/db/stats/../../bson/util/atomic_int.h:60: undefined reference to `__sync_fetch_and_add_4'
/root/mongo/db/stats/../../bson/util/atomic_int.h:29: undefined reference to `__sync_fetch_and_add_4'
/root/mongo/db/stats/../../bson/util/atomic_int.h:29: undefined reference to `__sync_fetch_and_add_4'
db/stats/counters.o:/root/mongo/db/stats/../../bson/util/atomic_int.h:29: more undefined references to `__sync_fetch_and_add_4' follow
s/chunk.o: In function `mongo::AtomicUInt::operator++()':
/root/mongo/s/../client/../util/../util/../db/../bson/util/atomic_int.h:57: undefined reference to `__sync_add_and_fetch_4'
/root/mongo/s/../client/../util/../util/../db/../bson/util/atomic_int.h:57: undefined reference to `__sync_add_and_fetch_4'
/root/mongo/s/../client/../util/../util/../db/../bson/util/atomic_int.h:57: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
scons: *** [mongodump] Error 1
scons: building terminated because of errors.

Any ideas? Seems like gcc has to be >= 4.4.0. Might be a good idea to install squeeze instead of lenny but it’s nearly 5am and I can’t be bothered now;)

Update: at the MongoDB Bugtracker the user Eliot Horowitz stated:

„Unfortunately compiling is only a small portion of the issue.
The bigger problem is endianness – which is fixable, just a fair amount of work.“

I guess we’ll just have to wait-.-

Update: Great news! Looks like somebody finally did it:

Although they did not really write a tutorial… I can’t seem to find that many differences in the code but it’s definitly right, that ARM is bi-endian(didn’t know that until my professor told me this semester). Might work with the newser gcc version. Anyway, if I find some free time, I’ll test it.

 

Related:

 

Flattr this!