Blumenstreifen am Feldrand Burgtiefe/Fehmarn

Gestern nachmittag bin ich wie üblich mit meinem Schwiegerpappi an den Südstrand zum Schwimmen gefahren. Dabei fährt man über ein kurzes Stück Landstrasse zwischen Burg und Burgtiefe. Linkerhand befindet sich ein Getreidefeld und was ich am Rand des Feldes erspäht habe ist unglaublich. Da hat doch tatsächlich mal ein Bauer auf die Mahnungen des BUND Naturschutz gehört und einen etwa 3m breiten Blumenstreifen gesät, über die ganze Länge des Feldes (sicher 2km)! Ich bin völlig begeistert. Wenn das noch ein paar mehr machen würden, sind die Bienen und Hummeln - zumindest auf Fehmarn - schonmal gerettet.

Wer auch immer der Bauer ist - Vielen Dank für Ihr Herz für die Natur und fürs Mitdenken!

Hier die Beweisfotos:

Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]







Ello.co protects your privacy! - not

So I've read more about ello.co. They protect privacy (so they say), don't sell user data and allow fakes. My call.

However, there's a pitfall:

Received: from o167893375.outbound-mail.sendgrid.net (o167893375.outbound-mail.sendgrid.net [167.89.33.75])
        (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
        (No client certificate requested)
        by mx.daemon.de (Postfix) with ESMTPS id C395612397F
        for ; Fri, 26 Jun 2015 14:58:57 +0200 (CEST)
..
From: Ello <do-not-reply@ello.co>

As you can see, the registration email came from sendgrid.me. Not from Ello. Now sendgrid.me knows the email address I've solely dedicated for my Ello account.

And the email contains a couple of links which look like this:

https://u1094968.ct.sendgrid.net/wf/click?upn=cd5DGnr7a[..]

So much about privacy.








Ubuntu WTF

So today I stumbled upon a dns config problem on my new XPS 13: I had a typo in a url and came up on navigationshilfe.t-online.de, which is being operated by Telekom. They intercept non-resolving dns queries and redirect them to some kind of search page. Very annoying and also I don't like being monitored like this.

So I wanted to change dns servers, opened up /etc/resolv.conf only to see, that one shall now modify the file directly. So I googled how to change it. Yes, really! I googled how to change dns servers on my notebook. But that's not the weird thing I wanted to tell. This is:

Askubuntu: How do I add a DNS server via resolv.conf?

There's not just 1 way to do it, there are multiple ways and people didn't even agree which one would be the best. What had I let myself in for? 








Chelonium Freigehege für unsere Barties - Updated 06.06.2015 19:06

Wir haben heute ein Freigehege für unsere Bartagamen aufgebaut. Klasse Teil. Wurde von Chelonium geliefert.  Im grossen und ganzen muss man die ganzen Teile nur zusammenstecken. War am Anfang etwas schwierig zu begreifen, aber wenn man den Dreh raus hatte ging es. Das schwierigste war das Fundament (welches im Lieferumfang war). Das muss präzise waagerecht und rechtwinkling versenkt werden. Keine leichte Aufgabe, wenn man ein geneigtes Bodenniveau hat wie wir.

Ansonsten bin ich von dem Gehege begeistert. Der Deckel hat so einen wärmegesteuerten automatischen Öffnungsmechanismus (mit Wachs), zwischen dem geschlossenen Hinterteil und dem offenen Vorderteil befindet sich eine kleine Klapptür. Einzige Änderung von  mir: ich habe im Vorderteil die Grassoden entfernt und Sand eingebracht. Damit die Tiere den Rand in Ruhe lassen wenn sie graben, habe ich rundrum Steine eingebracht (sieht man auf den letzten beiden Bildern).

Ich kann das also nur empfehlen. Und im Frühling kann ich es als Frühbeet benutzen.

Also hier ein paar Bilder vom Aufbau:

Bild: Der Graben für das Fundament
Der Graben für das Fundament (June 5, 2015, 8:15 p.m.)
[Tags: freigehege terra2013 ] [Album: Terrarium ]
Bild: Rechts das Fundament for dem Einsetzen
Rechts das Fundament for dem Einsetzen (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Beim Einsetzen und Auspassen
Beim Einsetzen und Auspassen (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fundament ist gesetzt
Fundament ist gesetzt (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Erster Teil ist aufgebaut
Erster Teil ist aufgebaut (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Anbringen des Deckels
Anbringen des Deckels (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Vorderteil wird montiert
Vorderteil wird montiert (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fertiges Gehege von der Seite
Fertiges Gehege von der Seite (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fertiges Gehege von vorn
Fertiges Gehege von vorn (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]


Update 06.06.2015 19:06:

Heute habe ich den Rahmen und Deckel mit dem Gitter für den Vorderteil fertig gebaut. Der Rahmen ist direkt auf dem Freigehege angeschraubt. Im Rahmen von den Teilen befinden sich Metallteile mit einem M8 Gewinde. Normalerweise soll man die nach unten aufbauen, um sie irgendwie am Boden festzuschrauben (was ich allerdings nicht ganz verstanden habe, wie das gehen soll). Jedenfalls habe ich sie nach oben gesetzt und konnte so den Rahmen montieren. Der Deckel sitzt dann mit einem Türscharnier auf dem Rahmen, so dass man ihn jederzeit leicht abnehmen kann. Wie üblich ein paar Bilder:

Bild: Verschraubung des Rahmens am Freigehege
Verschraubung des Rahmens am Freigehege (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Scharnier offen
Scharnier offen (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Scharnier geschlossen, Deckel eingerastet
Scharnier geschlossen, Deckel eingerastet (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Deckel geöffnet
Deckel geöffnet (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Nochmal, von weiter weg
Nochmal, von weiter weg (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Deckel geschlossen
Deckel geschlossen (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]







Xmonad on Dell XPS13 Developer Edition with Ubuntu

While my old notebook, an IBM Thinkpad T400, still works, it has a couple of problems: the battery lasts only 30 minutes, it's slow, it's too heavy  and the bsd install on it is a mess. So I decided to purchase a new one. After weeks and weeks of reading reviews Dell's XPS 13 Developer Edition finally made it. It comes pre-installed with Ubuntu 14.04. Ok, I hate linux, but you know what? Fuck it. I don't have the time to fiddle with every single bit of the notebook under FreeBSD anymore. It should just work.

Ok then, how is it? In short: i love it. Everything works, wifi, setting brightness, sound etc. It's fast as hell (boot time 1 or 2 seconds), suspend works, resume as well. I don't miss anything. There were of course a couple of things I needed to tweak:

First of all, the FN Keys. There are a couple of FN Keys on the top of the keyboard (for brightness, sound settings etc). They are enabled by default. So if you press F2 to switch to desktop 2 it mutes the sound instead. In order to get the original F2 function, you need to press the FN key. That's pretty annoying. But fortunately this can be reversed in the bios.

Then I'm a xmonad user, so I wanted to have it on the XPS13 as well. Getting it to work was a mess. It's easy to install (just apt-get install xmonad), but many things in my config didn't work. I also use xmobar as the status bar - same problems, see below. Another problem was my .xprofile file. I couldn't use it because then Uniti and XFCE didn't work anymore, to which I switch from time to time (i.e. if xmonad is bricked or if I want to find out the location of a specific program).

Now, my setup looks like this: from my xmonad.hs file I execute ~/bin/x where one would normally execute xmobar. This is a script which does what previously have been done by .xprofile: it starts xscreensaver, sets the background etc. The last thing it does is to exec as xmobar and continue as expected by xmonad.

I also changed my xmobar config. It doesn't contain any commands anymore. Instead I use i3status. It runs permanently in the background (started by ~/bin/x) and prints its output into a status file. In xmobar I read the last line of that file and insert it into the status bar. This aproach is faster, more reliable and just works under linux.

I also needed to write some scripts. One is for brightness setting. Under unity setting brightness works out-of-the-box, but under xmonad it didn't. So xmonad catches the appropriate keys and executes this script. The same applies for volume setting. I also have a couple of wrapper scripts for things like shutdown, logout, reboot, lock-screen etc. All of them are reachable via ALT-p which starts ~/bin/shortmenu which itself is a wrapper for dmenu. All menu entries are scripts in ~/.shortmenu/.

Also I abandoned trayer. Most of the stuff I had there is now displayed by xmobar anyway. For wifi settings I just use unity-control-center. And I use gnome-terminal as terminal application. Don't ask me why, it just was already there.

The whole config can be downloaded here: xmonad-dell-xps13.tgz. Or view it online. Of course there's als a screenshot.


03.06.2015 17:04 CC0 unix xmonad Elektronik Null Comment






Review - Handbuch der Futterpflanzen für Schildkröten und andere Reptilien

Dass ich Bartagamen halte, ist ja bekannt. Neben Bartagamen züchten wir auch diverse Futtertiere wie argentinische Waldschaben oder Heuschrecken. In beiden Fällen braucht man Futter, wofür wir schon seit Jahren nur noch gesammelte oder selbst angebaute Kräuter und Blüten verwenden.

Es ist natürlich für Laien wie uns schwierig zu beurteilen, welche Pflanzen, bzw Pflanzenteile man verwenden kann. Anfangs haben wir uns mit Google und Wikipedia herumgequält. Im Grunde kann man durchaus alles online finden. Aber wie das eben so ist: die einen sagen so und die anderen SO. Oder wie wir bei TCS zu sagen pflegen: Das is nix.

Ein Nachschlagewerk musste also her und Das Handbuch der Futterpflanzen von Marion Minch passt da wie ein Deckel auf den Topf. Marion is nicht einfach nur ein Profi was Kräuter angeht, sie ist ein Guru. Ich als ITler würde sagen sie ist ein Pflanzen-Nerd. Sehr beeindruckend, wie tiefgreifend das Wissen ist, das sie in dem Buch weitergibt. Gleichzeitig ist es übersichtlich, man findet schnell was man sucht, was insbesondere zur Pflanzenbestimmung wichtig ist. Das Werk ist verständlich geschrieben, kompetent und behält auch den Umweltaspekt und die Gesundheit unserer Pfleglinge im Auge. Was ich auch schön finde ist, dass es auf überflüssigen Brimborium verzichtet. Es geht um diese eine Sache und das macht sie perfekt.

Mittlerweile sind wir auch Stammkunden in ihrem Shop Samenkiste, wo man Samen bestellen kann, die alle in dem Buch vorkommen. Unter anderem die Samen für meine Hummelwiese kommen von dort. Da weiss man was man hat, das sind keine hochgezüchteten Zierpflanzen sondern ursprüngliche Wildarten aus eigenem Anbau. Schon alleine weil man bei Marion Minch die Samen bestellen kann, die sie selber herstellt, weiss man, dass ihr Buch "Futterpflanzen für Reptilien" von einer Fachfrau geschrieben wurde.

 








WTF Earthlink

Some user of a program of mine reported a bug a couple of days ago. I fixed the bug and told him about it. Then he had another question, I responded but now this came back:

<*****@earthlink.net>: host mx3.earthlink.net[209.86.93.228] said:
550 IP 78.47.130.37 is blocked by EarthLink. Go to earthlink.net/block for details.
(in reply to MAIL FROM command)

Since I'm operating my own mailserver I'm pretty sure it doesn't send spam mails to anyone let alone Earthlink. Don't get me wrong, my own anti spam policy is pretty radical. But putting an ip address on a block list for ONE message? What the fuck is wrong with you guys at Earthlink?!

So, how shall I respond? Beg them to delist my ip address? Why shall I do anything in the fist place anyway? Nope, won't do that.  Fix your friggin' stupidity yourself, Earthlink. Your mailservers are being blocked by mine as well now. But at least you've got an advantage over me: you know why you're being blocked. On the other hand - I block everything from you, including complaints.

Too bad.








Mein erstes Brot

He He Heute habe ich mein erstes Brot gebacken! Aus Roggen- und Dinkelvollkornmehl, ein Sauerteigbrot. Zugegeben habe ich für das erste Mal einen fertigen Pulversauerteig und etwas Hefe benutzt, aber viel wichtiger ist, dass es mir auf Anhieb gelungen ist. Und es schmeckt super lecker!

Bild: Mein erstes Brot
Mein erstes Brot (May 17, 2015, 7:21 p.m.)
[Tags: ] [Album: Backdat ]
Bild: Das Brot aufgeschnitten
Das Brot aufgeschnitten (May 17, 2015, 7:21 p.m.)
[Tags: ] [Album: Backdat ]

17.05.2015 19:19 CC0 backen Geschwätz Null Kommentar






New release of dbtool

I released a new version of dbtool. This is a small tool I wrote over 15 years ago! I reworked the configure script and a couple of bits here and there. However, the most fascinating thing is, that I didn't have to alter the source at all. I still compiles out of the box, with berkeley db or gdbm; and pcre. Now this is really great, that the APIs of those libraries are still supporting 15 years old clients, I'm amazed.

Besides, I moved the source to github.

Just in case: with dbtool you can manage key/value data storage in the shell (on the command line or in shell scripts). It's fast and simple to use, doesn't have much dependencies and even supports encryption (using AES block cipher).


15.05.2015 15:36 CC0 en git opensource Source Null Comment






UDPXD - A general purpose UDP relay/port forwarder/proxy - Updated 26.04.2015 14:04

There are cases, when you need to change the source ip address of a client, but can't do it in the kernel. Either because you don't have a firewall running or because it doesn't work, or because there's no firewall available.

In such cases the usual aproach is to use a port forwarder. This is a small piece of software, which opens a port on the inside, visible to the client and establishes a new connection to the intended destination, which is otherwise unreachable for the client. In fact, a port forwarder implements hiding nat or masquerading in userspace. Tools like this are also usefull for testing things, to simulate requests when the tool you need to use for the test are unable to set their source ip address (binding address).

For TCP there are LOTs of solutions available, e.g. tcpxd. Unfortunately there are not so many solutions available if you want to do port forwarding with UDP. One tool I found was udp-redirect. But it is just a dirty hack and didn't work for me. Also it doesn't track clients and is therefore not able to handle multiple clients simultaneusly.

So I decided to enhance it. The - current - result is udpxd, a "general purpose UDP relay/port forwarder/proxy". It supports multiple concurrent clients, it is able to bind to a specific source ip address and it is small and simple. Just check out the repository, enter "make" and "sudo make install" and you're done.

How does it work: I'll explain it on a concrete example. On the server where this website is running there are multiple ip addresses configured on the outside interface, because I'm using jails to separate services. One of those jail ip addresses is 78.47.130.33. Now if I want to send a DNS query to the Hetzner nameserver 213.133.98.98 from the root system (not inside the jail with the .33 ip address!), then the packet will go out with the first interface address of the system. Let's say I don't want that (either for testing or because the remote end does only allow me to use the .33 address). In this szenario I could use udpxd like this:

udpxd -l 172.16.0.3:53 -b 78.47.130.33 -t 213.133.98.98:53

The ip address 172.16.0.3 is configured on the loopback interface lo0. Now I can use dig to send a dns query to 172.16.0.3:53:

dig +nocmd +noall +answer google.de a @172.16.0.3
google.de.              135     IN      A       173.194.116.151
google.de.              135     IN      A       173.194.116.152
google.de.              135     IN      A       173.194.116.159
google.de.              135     IN      A       173.194.116.143

When we look with tcpdump on our external interface, we see:

IP 78.47.130.33.24239 > 213.133.98.98.53: 4552+ A? google.de. (27)
IP 213.133.98.98.53 > 78.47.130.33.24239: 4552 4/0/0 A 173.194.116.152,
              A 173.194.116.159, A 173.194.116.143, A 173.194.116.151 (91)

And this is how the same request looks on the loopback interface:

IP 172.16.0.3.24239 > 172.16.0.3.53: 4552+ A? google.de. (27)
IP 172.16.0.3.53 > 172.16.0.3.24239: 4552 4/0/0 A 173.194.116.152,
              A 173.194.116.159, A 173.194.116.143, A 173.194.116.151 (91)

As you can see, dig sent the packet to 172.16.0.3:53, udpxd took it, opened a new outgoing socket, bound to 78.47.130.33 and sent the packet with that source ip address to the hetzner nameserver. It also remembered which socket the particular client (source ip and source port) has used. Then the response came back from hetzner, udpxd took it, looked up its internal cache for the matching internal client and sent it back to it with the source ip on the loopback interface.

As I already said, udpxd is a general purpose udp port forwarder, so you can use it with almost any udp protocol. Here's another example using ntp: now I set up a tunnel between two systems, because udpxd cannot bind to any interface with port 123 while ntpd is running (ntpd binds to *.123). So on system A I have 3 udpxd's running:

udpxd -l 172.17.0.1:123 -b 78.47.130.33 -t 178.23.124.2:123
udpxd -l 172.17.0.2:123 -b 78.47.130.33 -t 5.9.29.107:123
udpxd -l 172.17.0.3:123 -b 78.47.130.33 -t 217.79.179.106:123

Here I forward ntp queries on 172.16.0.1-3:123 to the real ntp pool servers and I'm using the .33 source ip to bind for outgoing packets again. On the other system B, which is able to reach 172.17.0.0/24 via the tunnel, I reconfigured the ntpd like so:

server 172.17.0.1 iburst dynamic
server 172.17.0.2 iburst dynamic
server 172.17.0.3 iburst dynamic

After restarting, let's look how it works:

ntpq> peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*172.17.0.1      131.188.3.221    2 u   12   64    1   18.999    2.296   1.395
 172.17.0.2      192.53.103.104   2 u   11   64    1    0.710    1.979   0.136
 172.17.0.3      130.149.17.8     2 u   10   64    1   12.073    5.836   0.089

Seems to work :), here's what we see in the tunnel interface:

14:13:32.534832 IP 10.10.10.1.123 > 172.17.0.1.123: NTPv4, Client, length 48
14:13:32.556627 IP 172.17.0.1.123 > 10.10.10.1.123: NTPv4, Server, length 48
14:13:33.535081 IP 10.10.10.1.123 > 172.17.0.2.123: NTPv4, Client, length 48
14:13:33.535530 IP 172.17.0.2.123 > 10.10.10.1.123: NTPv4, Server, length 48
14:13:34.535166 IP 10.10.10.1.123 > 172.17.0.1.123: NTPv4, Client, length 48
14:13:34.535278 IP 10.10.10.1.123 > 172.17.0.3.123: NTPv4, Client, length 48
14:13:34.544585 IP 172.17.0.3.123 > 10.10.10.1.123: NTPv4, Server, length 48
14:13:34.556956 IP 172.17.0.1.123 > 10.10.10.1.123: NTPv4, Server, length 48
14:13:35.535308 IP 10.10.10.1.123 > 172.17.0.2.123: NTPv4, Client, length 48
14:13:35.535742 IP 172.17.0.2.123 > 10.10.10.1.123: NTPv4, Server, length 48
14:13:36.535363 IP 10.10.10.1.123 > 172.17.0.1.123: NTPv4, Client, length 48
...

And the forwarded traffic on the public interface:

14:13:32.534944 IP 78.47.130.33.63956 > 178.23.124.2.123: NTPv4, Client, length 48
14:13:32.556586 IP 178.23.124.2.123 > 78.47.130.33.63956: NTPv4, Server, length 48
14:13:33.535188 IP 78.47.130.33.48131 > 5.9.29.107.123: NTPv4, Client, length 48
14:13:33.535500 IP 5.9.29.107.123 > 78.47.130.33.48131: NTPv4, Server, length 48
14:13:34.535255 IP 78.47.130.33.56807 > 178.23.124.2.123: NTPv4, Client, length 48
14:13:34.535337 IP 78.47.130.33.56554 > 217.79.179.106.123: NTPv4, Client, length 48
14:13:34.544543 IP 217.79.179.106.123 > 78.47.130.33.56554: NTPv4, Server, length 48
14:13:34.556932 IP 178.23.124.2.123 > 78.47.130.33.56807: NTPv4, Server, length 48
14:13:35.535379 IP 78.47.130.33.22968 > 5.9.29.107.123: NTPv4, Client, length 48
14:13:35.535717 IP 5.9.29.107.123 > 78.47.130.33.22968: NTPv4, Server, length 48
14:13:36.535442 IP 78.47.130.33.24583 > 178.23.124.2.123: NTPv4, Client, length 48
...

You see, the ntp server gets the time via the tunnel via udpxd which in turn forwards it to real ntp servers.

Note, if you left the parameter -b out, then the first ip address of the outgoing interface will be used.

udpxd source code and documentation is on github.


Update 26.04.2015 14:04:

I made a couple of enhancements to udpxd:

  • added ipv6 support (see below)
  • udpxd now forks and logs to syslog if -d (-v) is specified

So the most important change is ip version 6 support. udpxd can now listen on an ipv6 address and forward to an ipv4 address (or vice versa), or listen and forward on ipv6. Examples:

Listen on ipv6 loopback and forward to ipv6 google:

udpxd -l [::1]:53 -t [2001:4860:4860::8888]:53
Listen on ipv6 loopback and forward to ipv4 google:
udpxd -l [::1]:53 -t 8.8.8.8:53
Listen on ipv4 loopback and forward to ipv6 google:
udpxd -l 127.0.0.1:53 -t [2001:4860:4860::8888]:53

Of course it is possble to set the bind ip address (-b) using ipv6 as well.

And I added a Travis-CI test, which runs successful. So, udpxd is supported on FreeBSD and Linux. I didn't test other platforms yet.


22.04.2015 15:47 CC0 en opensource udp Source Null Comment