Lazy mode:
Folgende Beispiele sind äquivalent:
$ tk4 -l
$ tk4 -x router.utorrent.com
Und:
$ tk6 -l
$ tk6 -x dht.wifi.pps.jussieu.fr
Die TLD lässt sich frei bestimmen:
Beispiel:
$ tk4 -l -a tumbleweed -d cloud
Das NSS Modul weiß nun magisch, dass es für die TLD .cloud
verantwortlich ist:
$ getent hosts tumbleweed.cloud
NSS Modul: Mehrere IP Adressen pro Antwort
Beispiel:
$ tk4 -x router.utorrent.com -a tumbleweed
Suche mit tk wie gehabt:
$ tk tumbleweed.p2p
93.212.240.194:8080
110.1.176.168:17152
Suche mit NSS Modul:
$ getent hosts tumbleweed.p2p
93.212.240.194 tumbleweed.p2p
110.1.176.168 tumbleweed.p2p
Strict Mode
Durch den Strict Mode -s werden nur Antworten verarbeitet, deren Ports mit dem
eigenen Announce Port übereinstimmen. Beispiel:
$ tk4 -x router.utorrent.com -a tumbleweed -b 8080 -s
Suche:
$ tk tumbleweed.p2p
93.212.240.194:8080
$ getent hosts tumbleweed.p2p
93.212.240.194 tumbleweed.p2p
Zsync ist mein Tool des Monats:
Client: Rsync Algorithmus via HTTP.
Server: Nur ein statischer Webserver notwendig.
Tumbleweed muss das unterstützen! Zsync macht Gebrauch von
Wegen Letzterem musste eine neue Delivery Queue her.
Und als wäre das nicht genug, sind auch noch die Zsync Abfragen Out-of-boundary,
was von allen gängigen Servern gepatcht wird. Hm?
Und wenn zwischen HTTP Header und Multipart Byterange nicht zwei Leerzeilen
liegen, dann findet Zsync den Boundary String nicht und geht in eine Endlos
Loop. Nginx schickt zwei Leerzeilen. Ich konnte aber keinen
Hinweis in den Specs finden, dass das so sein muss. Hm…
Update:
Anfrage an Mailingliste ist erfolgt. Sieht aber aus, als wäre diese ausgestorben…
tkcli und tknss kommunizieren nun auch via Bencode mit dem Daemon. Vorteile:
Leicht erweiterbare API.
Komplexere Abfragen möglich.
Client Abfragen werden über die vorhandene Daemon Infrastruktur mit abgehandelt.