Lanshark - P2P Filesharing-Tool für LANs

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Ich denke nun ist mein grösstes bisheriges Python Projekt, Lanshark, langsam an einem Punkt angelangt an dem ich es vorsichtig der Aussenwelt zeigen kann.

Was ist Lanshark?
Lanshark ist eine freie Filesharing-Anwendung für LANs (Lokale Netzwerke). Lanshark erlaubt dir Dateien mit anderen Benutzern im selben Netzwerk effizient auszutauschen. Andere Lanshark-Benutzer im Netzwerk werden automatisch erkannt und du kannst auf ihre Freigaben zugreifen. Lanshark hat eine integrierte Suchfunktion. Die Suche ist ziemlich schnell so dass du das ganze Netzwerk in wenigen Sekunden durchsuchen kannst.

Features
* Freie Software (GPL)
* Einfach zu Konfigurieren
* Schnelle Suche
* Plattform Unabhängig
* Integrierter Webserver
* Zusätzliches Webinterface
* Liste aller Benutzer im Lan
* Keine Installation notwendig
* Natürlich in Python geschrieben

Screenshots, Download-Link und mehr findet ihr hier:
http://lanshark.29a.ch/

Ich hoffe hier noch etwas Feedback und vielleicht sogar einige Bug-Reports zu bekommen bevor ich Lanshark endgültig Publik mache.

Vielen dank für euer Interesse,
Jonas
Zuletzt geändert von veers am Sonntag 7. Oktober 2007, 18:20, insgesamt 1-mal geändert.
Benutzeravatar
Craven
User
Beiträge: 223
Registriert: Dienstag 24. Januar 2006, 13:37

Hi veers,

der Link, der unten beim Webinterface angezeigt wird, zeigt nicht auf die Projekthomepage, sondern (noch?) auf lanshark.veers.ch.
Ich bin über dein Profil auf Lanshark gestossen und hab den Thread hier übersehen; deswegen die PM mit demselben 'Bugreport'. ;)

Btw. sieht Lanshark ziemlich gut aus, nur die Zugriffszeit, wenn man auf nen Ordner mit vielen Bildern zugreift, liegt recht hoch. Bei ~50 Bildern beträgt die geschätzte 10 Sekunden.

Ich hab nächste Woche 'ne LAN, bei der jetzt auf jeden Fall Lanshark dabei ist. :)

greetz, Craven
Zuletzt geändert von Craven am Freitag 16. Januar 2009, 13:48, insgesamt 2-mal geändert.
[code]q = 'q = %s; print q %% repr(q)'; print q % repr(q) [/code]
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Craven hat geschrieben:Btw. sieht Lanshark ziemlich gut aus, nur die Zugriffszeit, wenn man auf nen Ordner mit vielen Bildern zugreift, liegt recht hoch. Bei ~50 Bildern beträgt die geschätzte 10 Sekunden.
Ja, das ist so. Liegt daran das die Bilder derzeit nicht verkleinert werden vor dem übertragen. Habe ich schon auf der TODO Liste. Werde aber mit neuen Features noch warten bis der jetzige Code stabil ist.

Den Link zur Homepage werde ich fixen, vielen dank für dein Feedback :)
lemmi
User
Beiträge: 19
Registriert: Dienstag 28. März 2006, 17:45

ich weiss nicht woran es liegt.
ich hab hier 54mbit-wlan und wollte von meinem rechner daten an einen laptop senden.
erkannt wird alles, wie versprochen,
nur leider ist die uebertragungsrate misserabel.
es pendelt sich so bei 80kbit/s ein,
was weitaus unter den moeglichkeiten des netzwerks liegt.
ich hab auch noch auf anderem wege daten versendet,
was deutlich schneller ging. (0.5mb/s)

dann hatte ich noch einen reproduzierbaren absturz, der jedes mal auftritt, wenn ich einen ordner
oeffnen will, in welchem 150 datein sind. (ordner ist 22gig groß).
ob jetzt uebers netzwerk oder lokal zugegriffen wird es kommt in jedem fall zum absturz.
ausserdem stuerzt das programm ab, wenn man versuch eine datei zu finden, die in diesem ordner liegt.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Um dir helfen zu können brauche ich etwas mehr Informationen über dein System.
Könntest du mir sagen was für ein Betriebssystem du verwendest?
Kannst du mir einige Informationen zur WLAN Verbindung geben -> Bandbreite , Empfang, eventueller Packetloss etc. Hast du das ganze in beide Richtungen versucht und war es in beiden gleich langsam?
Wie verbessert sich das ganze wenn du nahe am AP bist?
Meinst du wirklich 80kbit/s (daher 10KiB/s)?
Mit welcher Software kommst du auf 0.5mb/s und meinst du damit mbit oder byte?

Zu dem Absturz:
Wie stürzt das Programm ab?
Steht etwas am log?
Gibt es ein Segfault?
Falls es ein Segfault geben sollte könntest du mir einen Backtrace anfertigen?
Sind in dem Ordner (viele) Bilder?
Sind Dateien mit speziellen Zeichen (Sprich nicht ASCII -> Umlaute etc.) im Namen in dem Ordner?

Ich hoffe ich habe dich mit diesen vielen Fragen nicht überrumpelt.
Vielen dank für dein Feedback!
lunar

Mhhh, wo liegt den der exakte Vorteil deines Tools gegenüber Samba oder NFS + Zeroconf (Avahi)? Als Nachteil sehe ich erstmal mangelnde Integration (auch wenn du dafür nichts kannst). Samba kann ich über viele verschiedene Anwendungen ansprechen: von smbclient über smb4k bis hin zu Dolphin oder dem Windows Explorer. Gleiches gilt für NFS (wenn auch nicht plattformunabhängig). Dein Tool dagegen funktioniert nur mit deiner GUI.

Btw, der Punkt "No Installation Required" ist unter Windows etwas fragwürdig: Immerhin muss eine Python-Installation vorliegen. Oder lieferst du Python + die benötigten Module mit?

Edit: Vernünftige Musik, die da auf dem Screenshot zu sehen ist 8) Und ein vernünftiges SCM verwendest du auch! Dafür schon mal großes Lob! ;)
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Zu dem Vorteil gegenüber SMB/NFS+Zeroconf:
Portabilität:
Lanshark kannst du auf eine externe Festplatte packen, diese zum Beispiel in der Schule einstecken und da Lanshark starten.

Einfache Konfiguration:
Selbst meine Schwester kann Lanshark installieren, konfigurieren und verwenden. Sag der mal sie soll unter Windows über Avahi ein NFS Share suchen ;)

Schnelle, verteilte Suche: Klar könntest du auch die NFS shares durchsuchen aber wer will das schon. Du könntest du irgend wie einen verteilten Index aufbauen, aber mach das erstmal.

Integration:
Lanshark basiert auf HTTP, du kannst mit dem Browser deiner Wahl auf die Shares zugreifen, du kannst Files Streamen (Integration mit mplayer, vlc usw ist sogar im GUI vorhanden). Du kannst Lanshark auch über Lanshark verbreiten (mit den HTTP Links) und somit ein ganzes Netzwerk infizieren ;) Lanshark hat einen Konsolen Client und der Daemon kann separat betrieben werden. Du bist also nicht aufs GUI Angewiesen.

Geschwindigkeit:
Die Transferraten sind zumindest bei mir höher als mit SMB (warum auch immer...). Von der Suche will ich mal gar nicht reden ;)

Reicht das? :wink:
lunar hat geschrieben:Btw, der Punkt "No Installation Required" ist unter Windows etwas fragwürdig: Immerhin muss eine Python-Installation vorliegen. Oder lieferst du Python + die benötigten Module mit?
Genau das tue ich ;) Darum sind die Windows Versionen auch 50 mal grösser *g*
lunar

veers hat geschrieben:[...]
Reicht das? :wink:
Überzeugt! Wird demnächst gleich mal im lokalen Netz getestet.
lunar hat geschrieben:Btw, der Punkt "No Installation Required" ist unter Windows etwas fragwürdig: Immerhin muss eine Python-Installation vorliegen. Oder lieferst du Python + die benötigten Module mit?
Genau das tue ich ;) Darum sind die Windows Versionen auch 50 mal grösser *g*
lemmi
User
Beiträge: 19
Registriert: Dienstag 28. März 2006, 17:45

also das problem mit der geschwindigkeit liegt wohl am wlan des laptops.
zu dem absturzproblem.
hier erst mal eine liste von den zeichen, die in diesem ordner auftauchen:

Code: Alles auswählen

['\x83', '\x99', '\x9f', ' ', '&', ',', '.', '0', '2', '4', '6', '8', '\xc3', 'B', 'D', 
'F', 'H', 'J', 'L', 'N', 'P', 'R', 'T', 'V', 'X', 'Z', 'b', 'd', 'f', 'h', 'j', 'l', 'n', 'p', 'r', 't', 'v', 
'x', 'z', '\x80', '\x84', '!', '\xa4', "'", '-', '1', '3', '5', '7', '\xb6', '9', '\xbc', 'A', 'C', 
'\xc2', 'E', 'G', 'I', 'K', 'M', 'O', 'Q', 'S', 'U', 'W', '_', 'a', 'c', '\xe2', 'e', 'g', 'i', 'k', 'm', 'o', 'q', 's', 'u', 'w', 'y']
in dem ordner sind 150 videodatein, alle 130-170 mb groß.
der laengste name, inklusive pfad, sind 75 zeichen.
lunar

Für alle Gentooianer hab ich ein ebuild erstellt: http://lunaryorn.de/projects/lanshark/

Edit: Ein paar Vorschläge zur GUI:

Das Icon könnte ein Kontextmenü vertragen, über das man es z.B. beenden kann. Das ist eigentlich bei allen Anwendungen in meinem Tray üblich, lanshark sollte da keine Ausnahme bilden. Und wieso heißt es "Webinterface oeffnen"? Umlaute existieren...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Für alle Gentooianer hab ich ein ebuild erstellt: http://lunaryorn.de/projects/lanshark/
Wie siehts mit beisteuern zum offiziellen Portage-Tree aus? Das wäre doch was feines :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Wenn man nicht gerade einen Entwickler kennt, geht das über den Tracker: http://bugs.gentoo.org.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Tja, lang hat er nicht gelebt :)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

birkenfeld hat geschrieben:Tja, lang hat er nicht gelebt :)
Hmm, ich frage mich ob der nur das 0.0.1 gesehen hat und dann gleich zugemacht hat?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Ich hätte aber ähnlich reagiert. Normalerweise nehme ich an, dass ein Autor seine Versionsnummern realistisch vergibt, und 0.0.1 heißt "Finger weg!"

Portage ist schließlich nicht SourceForge.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

birkenfeld hat geschrieben:Ich hätte aber ähnlich reagiert. Normalerweise nehme ich an, dass ein Autor seine Versionsnummern realistisch vergibt, und 0.0.1 heißt "Finger weg!"
Mag sein. Aber es gibt dennoch schon allein im Linux Basis-System Programme die eine sehr niedrige Version haben und so seit ~1994 verbleiben sind.
Letztendlich ist es ja auch ziemlich egal. veers kann ja auf seiner Seite auf lunars ebuild linken und vielleicht wird es ja auch irgendwann mal aufgenommen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

Leonidas hat geschrieben:
birkenfeld hat geschrieben:Tja, lang hat er nicht gelebt :)
Hmm, ich frage mich ob der nur das 0.0.1 gesehen hat und dann gleich zugemacht hat?
"feel free to reopen..."

... vielleicht warte ich einfach zwei Wochen, veers macht aus 0.0.1 ein 0.2 und dann fühle ich mich tatsächlich so frei ;)

@birkenfeld
Keywords und Masks existieren. Ich hatte ja auch nicht erwartet, dass das Paket gleich stable wird, aber ~x86 sollte doch wohl drin sein.

Außerdem halte ich ein offizielles Release selbst in früher Beta-Phase immer noch für stabiler als ein CVS oder SVN Checkout und davon enthält der tree offenbar einiges (wie wir beide wissen ;) )

Btw, beim emacs-cvs der unicode-Branch stand eine ganze Zeit lang im Splashscreen von emacs selbst ein dicker, fetter, roter Balken, der auf den Alpha-Status hingewiesen und vor produktivem Einsatz gewarnt hat. Da hats aber offenbar keinen gestört. :roll:

Lustigerweise war 0.0.1 bei app-arch/unrar-gpl offenbar ausreichend...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Bezüglich den Umlauten, ich hatte/habe Probleme mit dem Encoding und PyGTK werde dem noch nachgehen.

Zum Kontext Menu, da hast du Recht nur was soll da rein? Webinterface öffnen und beenden?

Zum Ebuild, ich werde es einfach auf der Website einbinden. Ist es ok wenn ich eine Kopie davon mache? ;)
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

lunar hat geschrieben:
Leonidas hat geschrieben:
birkenfeld hat geschrieben:Tja, lang hat er nicht gelebt :)
Hmm, ich frage mich ob der nur das 0.0.1 gesehen hat und dann gleich zugemacht hat?
"feel free to reopen..."

... vielleicht warte ich einfach zwei Wochen, veers macht aus 0.0.1 ein 0.2 und dann fühle ich mich tatsächlich so frei ;)
Wenn das dazu führt, dass sich der Gentooer das Ding näher anschaut, warum nicht? Ich kann mir vorstellen, dass auch Gentoo nicht zuviele Freiwillige hat, also würde ich mir als Contributor meine Zeit gut einteilen.
@birkenfeld
Keywords und Masks existieren. Ich hatte ja auch nicht erwartet, dass das Paket gleich stable wird, aber ~x86 sollte doch wohl drin sein.
Ich kenne die Gentoo-Policies nicht, aber sie sind sicher öffentlich zugänglich.
Außerdem halte ich ein offizielles Release selbst in früher Beta-Phase immer noch für stabiler als ein CVS oder SVN Checkout und davon enthält der tree offenbar einiges (wie wir beide wissen ;) )

Btw, beim emacs-cvs der unicode-Branch stand eine ganze Zeit lang im Splashscreen von emacs selbst ein dicker, fetter, roter Balken, der auf den Alpha-Status hingewiesen und vor produktivem Einsatz gewarnt hat. Da hats aber offenbar keinen gestört. :roll:

Lustigerweise war 0.0.1 bei app-arch/unrar-gpl offenbar ausreichend...
Bekannte Software wie Emacs ist ein Sonderfall, und das weißt du auch.
Bei Unrar verhält es sich auch nicht viel anders -- das Format ist sehr verbreitet, und ein freies Entpacktool wurde dringend gebraucht.

BTW, ARGH -- wer hat die Idee aufgebracht, Links in derselben Farbe wie den Textkörper zu formatieren und nichtmal zu unterstreichen? ARGH!
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten