• 06.07.2025, 16:55
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Y0Gi

God

File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 00:48

ich habe ein tool begonnen, das files von rechner zu rechner transferieren soll. verschickt wird peer2peer, das programm soll sowohl senden und empfangen können und keine client-server-lösung sein. an sich klappt das bereits. fehlerbehandlung, dateiprüfung, versand mehrerer dateien über die gleiche verbindung, gui und weitere details kommen mit der zeit.

nun möchte ich gerne wissen, welche voraussetzungen (z.b. port in firewall freischalten) akzeptabel sind und was sonst noch gewünscht wäre. wie einfach soll es sein, wie kompliziert darf es sein, welche details sind wichtig?

preview-version kommt in kürze.


HEHE: http://www.hackerstickers.com/products/stickers-python.shtml

render

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 00:57

evtl. hab ich ja die vorgeschichte nicht mitbekommen (andererseits unwahrscheinlich, der gründliche yogi hätte sie wohl verlinkt), aber wer ist denn die zielgruppe des tools? wäre ja wichtig im hinblick auf die geplanten features.

mfg.
render
There is no way to happiness - happiness is the way (Buddha)
The key to living a lazy life is being lazy (Peter Tosh)
The aim of life is to live, and to live means to be aware, joyously, drunkenly, serenely, divinely aware. (Henry Miller)

xx_ElBarto

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 01:04

1. frei einstellbarer port

2. ne funktion zum durchsuchen des netzwerks nach clients welche auf den selben ports online sind, also ne verbindung ohne die ip angeben zu müssen (wenn das die letzte zahl also z.b. 192.168.0.X scannt würde das reichen)

Y0Gi

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 02:08

render:
das kam eigentlich daher, dass viele themen wegen der frage nach einer einfachen art des dateitransfers auftauchten. client-server-basierte systeme wie ftp oder direct connect sind nicht ganz einfach und etwas überdimensioniert, bei IM bzw. einigen protokollen klappt es nicht so oft wie wünschenswert und IRC vereint fast die genannten schwächen. email vergrößert den anhang dank base64-codierung um ein drittel und bei mehr als 20mb ist bei versand und mailbox spätestens schluss. und wenn die mail bounced, gibts richtig freude ;)

bis jetzt wurde meines wissens noch keine einfache lösung genannt. ports forwarden wird wohl noch möglich sein, aber da man die ja einstellen kann, sollte das kein problem geben.

elbarto:
1. is klar
2. dafür gibts portscanner...
zudem wird ein offener port nur beim empfangenden rechner zu finden sein. der muss (zumindest bis jetzt) also vorher den empfangsport öffnen und auf den client warten. sobald der drauf ist, wird gesendet und dann geschlossen, da kann sonst keiner einsteigen. und wer will schon nach rechnern suchen, die daten WOLLEN, aber keine anbieten? um sich daten nach hause zu schicken, ok, mit auto-accept wäre denkbar - aber dafür ist eine suche auch unangemessen.
sowas wie eine incoming-file-notification ist glaube ich nicht drin, wenn der empfänger nicht horcht. die kann er ja erst empfangen, wenn er das bereits tut. wenn kein program auf dem port horcht, ist er quasi zu und die nachricht kommt gar nicht an, schon gar nicht bei dem gewünschen programm, weil die assoziation gar nicht da ist.

weiterhin habe ich mir überlegt, einen schutz einzubauen, der nur eine bestimmte ip evtl. von einem bestimmten port reinlässt, so dass nicht jemand die verbindung quasi hijacken kann.
auch wäre eine primitive buddylist denkbar, so dass man ips (samt ports) ähnlich wie beim pynger vorliegen hat und sie nicht jedes mal neu eintippen muss.

render

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 10:11

axo, danke für die erklärung.

könnte mir vorstellen, dass das (also filetransfer zwischen nur sehr +wenigen bzw nur 2 usern) auch mit bittorrent ganz gut funzt. mit azureus kann man eigene torrents erstellen (eigener tracker).

könnte man ja mal testen.

mfg.
render
There is no way to happiness - happiness is the way (Buddha)
The key to living a lazy life is being lazy (Peter Tosh)
The aim of life is to live, and to live means to be aware, joyously, drunkenly, serenely, divinely aware. (Henry Miller)

ThimschE

unregistriert

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 10:59

Zitat


weiterhin habe ich mir überlegt, einen schutz einzubauen, der nur eine bestimmte ip evtl. von einem bestimmten port reinlässt, so dass nicht jemand die verbindung quasi hijacken kann.
auch wäre eine primitive buddylist denkbar, so dass man ips (samt ports) ähnlich wie beim pynger vorliegen hat und sie nicht jedes mal neu eintippen muss.


Mal abgesehen davon, das du krank bist :) aber das hatten wir ja schon *fg..
ist das das, was ich auch noch gesagt hätte.
Und halte es kompliziert :) damit es net zu kommerziell wird. ;)

render

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 12:28

nett wäre ein feature für router-besitzer, welches die "internet-ip" abfragt (sowas wie bei www.whatismyip.com ...), falls das möglich ist (sinnvoll?)

sonstige details:
- upload-begrenzung einstellbar
- ein "transfer complete"-popup/taskbar-flashen/oderso wäre schön

schon einen namen für das kind? aqua-seed vielleicht? oder n2n (nerd-to-nerd)? ;D

mfg.
render
There is no way to happiness - happiness is the way (Buddha)
The key to living a lazy life is being lazy (Peter Tosh)
The aim of life is to live, and to live means to be aware, joyously, drunkenly, serenely, divinely aware. (Henry Miller)

crushcoder

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 12:50

- platformunabhängigkeit (wird aber eh das geliebte python, oder?)

- so einfach wie möglich wenn es ein ersatz für client/server lösungen sein soll.
man sollte es also dem tauschpartner per email schicken können (wird ja nicht allzu gross), der sollte es nicht installieren müssen, nur starten.
dann ips eingeben auf beiden seiten, und beide können dateien auf das programm per drag/drop ziehen.
so fänd ich das am einfachsten.

- standard ordner wo die dateien hingeschmissen werden bzw nachfrage "öffnen oder speichern?"

- sowas wie rendezvous von apple wäre nett (also eine automatische liste der leute die das programm im lokalen netz anhaben und zum tauschen bereit sind)
das wäre nochmal einfacher (für den user, nicht für dich)

- die partner sollten pgp-schlüssel austauschen können mit denen die übertragung dann verschlüsselt wird.
das ist aber ein gimmick das ich für version 3-4 anpeilen würde ;)
am besten genauso einfach wie die datei übertragung, man dropped seinen schlüssel auf das programm und es wird zu dem partner übertragen.
das programm erkennt "ach ne, n schlüssel" und nimmt diesen dann für weitere übertragungen, bzw fragt es natürlich vorher.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Y0Gi

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 18:15

erstmal vielen dank für die zahlreichen anregungen! da sind durchaus welche bei, die ich nicht bedacht habe.


Zitat von »render«

nett wäre ein feature für router-besitzer, welches die "internet-ip" abfragt (sowas wie bei www.whatismyip.com ...), falls das möglich ist (sinnvoll?)

sonstige details:
- upload-begrenzung einstellbar
- ein "transfer complete"-popup/taskbar-flashen/oderso wäre schön

schon einen namen für das kind? aqua-seed vielleicht? oder n2n (nerd-to-nerd)? ;D

- lookup ist so ne sache. sich auf externe services zu verlassen ist irgendwie unschön. allerdings muss dann immer noch die firewall des routers (wenn auch einmalig, bei gleichbleibenden i/o-ports) konfiguriert werden, und da sieht man die aktuelle ip ja sonst auch. natürlich alles nicht für laien optimal.
um das ganze recht einfach bedienbar zu machen, sollte natürlich die firewall getunnelt werden können. bei ftp geht das mit dem passive mode, indem der client alle verbindungen aufbaut, weil die firewall die von ihm durchlässt. in diesem fall klappt das aber nicht, wenn beide teilnehmer hinter einer firewall sitzen. scheiße. kommen wir wohl um portforwarding nicht herum :(
- speed-limit müsste ich mich mal näher mit beschäftigen, wäre für zukünftige versionen denkbar.
- ein aufpoppender dialog ist kein thema, was die taskbar angeht schon eher. plattformunabhängige toolkits neigen dazu, solche systemspezifika nicht zu unterstützen. allerdings gibts z.b. für java systray4j oder so, wer weiß was sich noch findet.
- einen (ausgefallenen) namen hat das kind _noch_ nicht :)



Zitat von »crushcoder«

- platformunabhängigkeit (wird aber eh das geliebte python, oder?)

- so einfach wie möglich wenn es ein ersatz für client/server lösungen sein soll.
man sollte es also dem tauschpartner per email schicken können (wird ja nicht allzu gross), der sollte es nicht installieren müssen, nur starten.
dann ips eingeben auf beiden seiten, und beide können dateien auf das programm per drag/drop ziehen.
so fänd ich das am einfachsten.

- standard ordner wo die dateien hingeschmissen werden bzw nachfrage "öffnen oder speichern?"

- sowas wie rendezvous von apple wäre nett (also eine automatische liste der leute die das programm im lokalen netz anhaben und zum tauschen bereit sind)
das wäre nochmal einfacher (für den user, nicht für dich)

- die partner sollten pgp-schlüssel austauschen können mit denen die übertragung dann verschlüsselt wird.
das ist aber ein gimmick das ich für version 3-4 anpeilen würde ;)
am besten genauso einfach wie die datei übertragung, man dropped seinen schlüssel auf das programm und es wird zu dem partner übertragen.
das programm erkennt "ach ne, n schlüssel" und nimmt diesen dann für weitere übertragungen, bzw fragt es natürlich vorher.

- ja, es ist in python und python ist sehr plattformunabhängig (u.a. wegen des bytecode-/vm-prinzips). allerdings gibts en detail ein paar dinge, die nicht auf unix, windows und mac os tun. btw: ich such noch tester auf mac os :)
- wie schon in anderen threads genannt gibt es die möglichkeit, eine windows-binary plus libs zu erzeugen, wobei letztere aber eine gewisse grundgröße haben (sind ja VM, libs etc. mit drin), die etwa bei 1,5mb liegt und daher wirds mit dem mailen schon schwierig. daher wird es wohl auf eine bestehende python-installation (bei linux fast immer der fall) hinauslaufen, die aber keine allzu großen hürden für den unversierten anwender darstellt. dann wird das programm nur ca. 5-20kb benötigen.
- mehr als ip, port und dateiname sollte man eigentlich auch nicht einstellen müssen (können?). ein datei-browse-button wird da kommen, aber auf drag'n'drop trifft wieder ähnliches zu wie auf die taskbar/systray-icon-geschichte. zwar kann swing das, aber tkinter ist recht begrenzt im umfang. und ein weiteres toolkit würde mehr installationsarbeit vom anwender verlangen.
- standardordner ist wieder systemabhängig, aber vielleicht hat die umgebungsvariable HOME ja brauchbare einträge auf diversen OS.
- rendevousz habe ich (ich bin nicht sicher) leider noch nicht in aktion gesehen. was das "browsen" angeht habe ich weiter oben schon was genannt. es wären nur die user zu finden, die was haben wollen, aber keine, die was anbieten. da ließe sich aber auch eine art offer-service einrichten, mal schaun. dann gehts aber schon etwas in die anonymere richtung und das client-server-prinzip passt wieder besser. zudem wäre wohl die möglichkeit zum anbieten mehrerer files wünschenswert, die aber vielleicht nicht jeder haben will. spätestens da ist ftp oder dc momentan die passendere lösung.
- verschlüsselung käme wenn, dann später, ja. ich dachte da bisher an eine ssl-verbindung, die die verschlüsselung übernimmt. muss man nur zertifikate geniereren, verschicken und testen können.


*uff* :)

DAP

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 18:45

nochn vorschlag: es wär auch ganz nett files anhalten und auch nach programm/rechnerneustart fortsetzen zu können :)

Y0Gi

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 19:02

na toll, hätt ich mal totalcopy nie erwähnt ;P

Mastercooling

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 20:42

pipapo wann gibts das tool von dir sowas such ich schon seit ewigkeiten

r1ppch3n

Moderator

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 21:41

öhm... yogi?

um solche features würd ich mich in dieser phase gar ned kümmern, wichtig is doch erstmal DASS man dateien austauschen kann
also dass sich clients möglichst selbstständig finden und miteinander kommunizieren

stellt sich nur die frage wie du das aufbaust

ich befürchte ohne einschränkungen kann das hinter ner firewall kaum funktionieren also sollte in selbige zumindest n kleines loch gehauen werden
mindestens ein port sollt immer von aussen erreichbar sein um dateien oder anfragen empfangen zu können

auch wärs schön wenn die clients untereinander die ips der ihnen bekannten clients austauschen würden, damit man auf lans nich ers jeden suchen muss (für größre zwecke wirds wenn dann wohl eh ned eingesetzt wern ;))

wenn das ersma läuft kann man das ganze immer noch erweitern
schön wärn zb noch passwortschutz für bestimmte dateien/verzeichnisse/freigaben (abhängig davon wie du das organisierst) und die möglichkeit auch hinter nem dummen alten http proxy n paar files austauschen zu können

btw: i könnt das dingen durchaus ma unter os x testen... ;)

Shooter182

Senior Member

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 22:24

ich bin bischen der speed freak und fänd es toll wenn man von mehreren leute gleichzeitig ziehen kann und wie in edonkey vielleicht auch so part weise also nicht fertige datein von anderen leuten und wenn es geht mit speed. Endlich mal tool das g-bit auslastet ^^.
Suche AC-Kühler für AMD 6870.

DerDaniel

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 22:27

Zitat von »Shooter182«

ich bin bischen der speed freak und fänd es toll wenn man von mehreren leute gleichzeitig ziehen kann und wie in edonkey vielleicht auch so part weise also nicht fertige datein von anderen leuten und wenn es geht mit speed. Endlich mal tool das g-bit auslastet ^^.


lol, ich glaube yogi verfolgt ein etwas anderes ziel, ich glaube nicht, dass er im auge hat eine neue tauschplattform für p2p user aufzuziehen... ;)

crushcoder

God

Re: File-Transfer-Tool

Mittwoch, 27. Oktober 2004, 23:29

so wie ich das verstehe (aus den "gibt es ne software die ..."-threads) soll das tool (hauptsächlich) dazu dienen zwischen zwei clients dateien zu tauschen ohne einen ftp server aufzumachen oder gross was einzurichten.

so wie das bei icq usw. mit dem filetransfer klappen sollte.
aber ich kenn zB kein multi-messenger programm für den mac das auch filetransfer richtig unterstützt, also auch über systemgrenzen zu anderen programmen.

da wär ein kleines tool schon besser, weil per mail ists doof und auf den webspace hochladen damit es wieder jm. runterladen kann ist auch ineffektiv.

---
- ich teste auch gern für mac os x, kann ja was mit rippchen tauschen ;)

- das man python (bzw überhaupt etwas) installieren muss ist schade, aber bei java wärs ja dasgleiche, also ist das akzeptabel (obwohl ich langsam glaube du willst die installation von python durch nützliche programme erzwingen ;) ), dafür ists dann kompatibel

- mit standardordner meinte ich das der user einen standardordner festlegen kann oder optional immer gefragt wird.
ist nur doof wenn die programme im ordner des programms landen.
ich mags zB auch nicht wenn dateien bei windows in "dokumente und einstellungen" landen. das möchte ich einstellen können.

- rendezvous kannst du dir zB bei itunes ansehen.
wenn zwei rechner im netz sind bei denen itunes läuft, und die mp3s freigegeben sind in itunes, dann erscheinen diese automatisch im itunes des anderen rechners.
dasgleiche funktioniert auch bei ichat, man braucht im lan dann auch keinen server zum chatten.

auf dem mac können andere programme die technik auch nutzen, wie das zB subethaedit macht. es ist also eine library oder sowas dafür vorhanden.
ob das unter windows auch geht weiss ich nicht (die technik ist mit itunes ja da, aber ob man sie nutzen kann...). außerdem wärs doof itunes vorauszusetzen.

vielleicht gibt es ja eine python library die sowas bereitstellt.
bei apple gibt es aber auch sourcen dazu:
http://developer.apple.com/darwin/projects/rendezvous/

aber das ist ja eh ein gimmick das nicht sein muss.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

render

God

Re: File-Transfer-Tool

Donnerstag, 28. Oktober 2004, 01:28

There is no way to happiness - happiness is the way (Buddha)
The key to living a lazy life is being lazy (Peter Tosh)
The aim of life is to live, and to live means to be aware, joyously, drunkenly, serenely, divinely aware. (Henry Miller)

Y0Gi

God

Re: File-Transfer-Tool

Donnerstag, 28. Oktober 2004, 05:05

jop, TOC und crushcoder haben es gesagt. es geht wirklich um simplen, einfachen austausch einer oder einiger weniger dateien zu einem gegenüber, wie es mit gängiger software nicht wünschenswert einfach möglich zu sein scheint. keine community, kein power-leeching, kein netzwerk.


Zitat von »crushcoder«

- das man python (bzw überhaupt etwas) installieren muss ist schade, aber bei java wärs ja dasgleiche, also ist das akzeptabel (obwohl ich langsam glaube du willst die installation von python durch nützliche programme erzwingen ;) ), dafür ists dann kompatibel

- mit standardordner meinte ich das der user einen standardordner festlegen kann oder optional immer gefragt wird.
ist nur doof wenn die programme im ordner des programms landen.
ich mags zB auch nicht wenn dateien bei windows in "dokumente und einstellungen" landen. das möchte ich einstellen können.

- rendezvous kannst du dir zB bei itunes ansehen.
wenn zwei rechner im netz sind bei denen itunes läuft, und die mp3s freigegeben sind in itunes, dann erscheinen diese automatisch im itunes des anderen rechners.
dasgleiche funktioniert auch bei ichat, man braucht im lan dann auch keinen server zum chatten.

vielleicht gibt es ja eine python library die sowas bereitstellt.
bei apple gibt es aber auch sourcen dazu:
http://developer.apple.com/darwin/projects/rendezvous/

aber das ist ja eh ein gimmick das nicht sein muss.

- mir es es egal, ob die leute python installieren wollen oder nicht. es gibt halt eben nur die möglichkeiten, die VM separat zu installieren (aufwand) oder mitzuliefern (jedes kleinste tool wird unverhältnismäßig und fast unbrauchbar groß - ähnlich VB ;P). wenn ich nen native-code-compiler für py finde, wäre das eine möglichkeit, aber es würde eine ganze menge bedeutender vorteile über bord werfen.

- ein standard-ordner lässt sich bestimmt irgendwo in die konfiguration übernehmen, gebongt. :)

- also kann man dann die gekauften mp3s mit freunden tauschen? ob das in apple's sinn ist? ::)

- für python gibts ne extra-ladung module nur fürn mac, die könnten sowas können. aber das ist nicht das ziel, das ich mit dem programm verfolge und es wäre auch nicht mehr ausreichen plattform-unabhängig.

crushcoder

God

Re: File-Transfer-Tool

Donnerstag, 28. Oktober 2004, 12:48

Zitat von »Y0Gi«


- also kann man dann die gekauften mp3s mit freunden tauschen? ob das in apple's sinn ist? ::)

man kann sie natürlich nur anhören über itunes, nicht abspeichern. wie das bei gekauften stücken ist weiss ich garnicht, sowas hab ich nicht.
aber es gibt natürlich schon software die diesen stream auch abspeichert.
das funktioniert dann aber nur bis zum nächsten update von itunes.

Zitat


- für python gibts ne extra-ladung module nur fürn mac, die könnten sowas können. aber das ist nicht das ziel, das ich mit dem programm verfolge und es wäre auch nicht mehr ausreichen plattform-unabhängig.

nachdem ich mal weitergelesen hab bei apple (http://developer.apple.com/macosx/rendezvous/) scheint das richtig interessant für solche programme.

rendezvous gibt es für mac os, windows, Linux, Solaris,FreeBSD (POSIX).
das ganze ist ein "offenes protokoll" das standardisiert werden soll ("Apple has submitted to the IETF as part of the ongoing standards-creation process").

außerdem gibt es eine java-library die auf eine rendezvous installation zugreifen kann (unter den o.g. systemen).

mitliefern würde ich das also nicht, sondern nur nutzen wenn es eh vorhanden ist.

schöne sache gerade für solche programme, würdest du in java programmieren würd ich mir diese funktion gern vornehmen.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Y0Gi

God

Re: File-Transfer-Tool

Donnerstag, 28. Oktober 2004, 20:09

auch wenn python oft zur entwicklung von prototypen für java-software benutzt wird, habe ich vorerst nicht vor, das nach java zu portieren - wozu auch, wenn's so tut?

dass rendezvous, glaube schon vor so einiger zeit, open sourced wurde (oder werden sollte?), war schon eine nette sache. das hörte sich für mich auch nach einem tollen konzept an.

an python-bindings scheint interesse zu bestehen und vermutilch demnächst etwas rauszukommen. dazu sind vielleicht interessant:
http://aspn.activestate.com/ASPN/Mail/Me…hon-dev/2186778
http://mail.python.org/pipermail/pythonmac-sig/2003-September/008840.html

an speziellen standard-modulen für python gibt es diese:
http://docs.python.org/mac/mac.html
zwar kein rendezvous dabei, aber vielleicht findest du für dich da was interessantes bei, falls du in der richtung mal was schreiben willst. für plattformunabhängige sachen isses halt wieder nicht sooo geeignet :)

dennoch scheint mir rendezvous oder ähnliches netzwerk-getue nicht ganz mit dem ziel meiner kleinen anwendung zu harmonieren, aber das lässt sich ja nochmal überdenken/evaluieren, wenn eine brauchbare version vorliegt.