Gedanken und Ideen bzgl. temporärem Filesharingtool

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von KlyX.

    Gedanken und Ideen bzgl. temporärem Filesharingtool

    Hallo zusammen

    Ich habe mal aus lauter Spass angefangen, ein Dateiaustausch-Tool (Filesharin ist ein sehr negativ behafteter Begriff, vor allem wenns um die Legalität geht), mit dem man in einem gewissen Mass Dateien austauschen kann.
    Grundsätzlich hab ich folgende Funktionen angedacht:

    - QuickSharing: schnell Dateien hochladen und zur Verfügung stellen und dabei die maximale Verweildauer auf dem Server eingeben (max. 48 Stunden, dananch werden die Files gelöscht).
    Der User kann eine beliebige Datei hochladen (Grössenbeschränkung muss noch definiert werden), welche auf den Server geladen wird. Die relevanten Daten (die Datei wird nicht mit dem Originalnamen abgelegt) werden in einer MySQL-Datenbank gespeichert. Den Link kann er weitergeben (ebenfalls kein direkter Dateilink - diesen bekommt der User nie zu gesicht) werden und übers Web aufgerufen werden (Landing Page mit den Fileinfos (Name und Grösse) sowie ein Downloadbutton), sofern die Datei noch existiert. Ein Cronjob löscht regelmässig per Script die abgelaufenen Dateien.

    - P2P Sharing: direkter Austausch mit einem anderen Programmbenutzer
    Diese Funktion ermöglicht das übliche Peer2Peer Sharing von einem einzelnen Benutzer zu einem andern. Dabei können ausschliesslich registrierte Benutzer die Funktion nutzen

    - SecureSharing: die Dateien werden verschlüsselt hochgeladen und können nur von Usern, welchen den entsprechenden Key bekommen haben herunterladen und entschlüsseln.

    - Filesuche
    Beim Upload von unverschlüsselten Files kann man wählen, ob die Dateien in der eingebauten Suche erscheinen sollen oder nicht. Wenn ja, dann ist es möglich diese über das Tool (nicht via Web) zu finden und herunterzuladen.

    Zum Grundsätzlichen Testen hab den Upload mal mit FTP realisiert... Was natürlich unsicher ist, solange die Daten im Programm drin sind. Das ist mir bewusst ;). Ich bin mir am überlegen ob ich den Upload mit PHP mache (was ich eigentlich nicht wollte), oder ob ich die FTP-Daten auf dem Server regelmässig automatisch ändern lasse und via Tool die neusten Daten beziehe wenn, ein Benutzer hochladen will.
    Wie seht ihr das?

    Was für Funktionalitäten müssten eurer Meinung noch rein, dass es wert wäre, so ein Tool zu nutzen? Was für Probleme, Hindernisse und Gefahren seht ihr?

    Was die Rechtslage anbelangt: grundsätzlich sind Filehoster (gemäss einem aktuellen Urteil) erst dann haftbar, wenn sie von Rechtsverletzungen von Rechteinhabern erfahren und nichts dagegen tun. Grundsätzlich möchte ich natürlich eine minimale Absicherung einbauen (z.B. Wortfilter beim Upload, etc.).

    Ich freu mich über eure Rückmeldung :)

    Grüsse,
    KlyX
    Chris' Weblog - Mein Blog rund um Vieles :D

    KlyX schrieb:

    oder ob ich die FTP-Daten auf dem Server regelmässig automatisch ändern lasse und via Tool die neusten Daten beziehe wenn, ein Benutzer hochladen will.
    Wie seht ihr das?


    Hört sich falsch an, User-Daten sollten nie im Programm sein, egal wie.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    @Glossy: sorry, wenn ich unklar war: beim verbinden für den upload würde das tool die daten temporär vom Server in eine Variable laden und sofort nach Benutzung wieder leeren. Im Tool wären keinerlei Daten gespeichert.
    Chris' Weblog - Mein Blog rund um Vieles :D
    Toll, dann müsste ich das ganze ja nur einmal dekompilieren, und dann hätte ich für immer einen kostenlosen Pornohoster :D (Denn du musst das Passwort ja dann in irgendner Textdatei speichern..)
    Ne, jetzt mal ehrlich, mach das über php, ist auch gar nicht so schwer *klick*
    Mfg
    Vincent

    @VincentTB: warum zum kuckuck sollte ich die Daten in ein File speichern, wenn ich sie bei jedem Verbindungsaufbau direkt vom Server in verschlüsselter Form beziehe? ;)

    Und ja, schätze PHP ist schon das Einfachste (ist mir bewusst, dass es ned so schwer ist ;)), aber mit FTP muss ich keinerlei Refreshs machen bzw. nicht auf allfällige Timeouts während dem Upload achten. Wobei, vielleicht hat sich das seit meinen letzten PHP-Scripts vor paar Jahren auch geändert ;)
    Chris' Weblog - Mein Blog rund um Vieles :D
    Wenn du sie verschlüsselst musst du sie wieder entschlüsseln, und da wären wir wieder beim Passwort im Code... Ich meine das eine Textdatei auf dem Server liegen muss, wo das Passwort drinsteht
    Mfg
    Vincent

    @Vincent: Das Passwort würde verschlüsselt in der Datenbank stehen. Die Entschlüsselung würde der Client vornehmen und zur Sicherheit holt er sich noch einen sich regelmässig ändernden Salt-Key von einem andern Ort. Oder halt die Variante via PHP.

    @J-M: es wäre eine Idee. Allerdings stelle ich mir das auf einem Linux-Server etwas komplexer vor. Dann lieber mit VB. Und für P2P wird es eh ein Client-Server Modul geben im Programm selbst. Weil wenns erst über den Server geht ist es ja kein P2P mehr ;)

    Gibts noch andere Inputs, abgesehen von der Sicherheit des Datentransfers und der Credentials? ;)
    Chris' Weblog - Mein Blog rund um Vieles :D
    Abgesehen von Sicherheitsaspekten, würde ich die juristische Seite nicht außer acht lassen.
    Du bist als Betreiber des Servers für alle Dateien verantwortlich, die (direkt oder indirekt über dein Tool) öffentlich verfügbar sind.

    Lädt irgendeiner deiner Benutzer eine Datei hoch, die auch nur den Anschein von Illegalität hat, bist du dafür verantwortlich und machst dich strafbar.
    Wenn du diesen Nervenkitzel brauchst...
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    KlyX schrieb:

    Das Passwort würde verschlüsselt in der Datenbank stehen. Die Entschlüsselung würde der Client vornehmen ...

    Hilft bei FTP alles nichts!
    FTP überträgt die Daten alles im Klartext. Das bedeutet, dass Du vor der Anmeldung beim FTP-Server die Zugangsdaten im Speicher entschlüsseln musst und diese dann im Klartext an FTP-Server sendest.
    Mit Hilfe eines Sniffers ala WireShark sind die Zugangsdaten im Nu weg ...
    @xtts: okay, dann bleibt mir wirklich einfach die PHP-Lösung übrig ;). Bisschen unflexibel, aber wird schon klappen ;)
    @hellmaster: das ist mir auf einem Server zu heikel. Da bleib ich lieber bei einer PHP-Variante
    @petaod: das ist nicht ganz richtig: siehe auch das im Februar veröffentlichte Urteil des BGH bezüglich Störerhaftung (hier in einem recht langweilig gesprochenen Video aber klar ausgeführ: volke2-0.de/06-februar-2013-st…le-hosting-dienstes/?tv=1)

    KlyX
    Chris' Weblog - Mein Blog rund um Vieles :D
    Mag sein, dass du bei einer Gerichtsverhandlung eine gute Chance hast.
    Aber der nächste Richter mag da vielleicht noch ein paar andere Fakten sehen.
    Ich sag ja: Wenn du den Nervenkitzel brauchst...

    Wie sagten schon die alten Römer?
    Coram iudice et in alto mari sumus in manu Dei.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich habe diese Thematik sehr wohl bedacht. Deshalb gibts auch entsprechende Punkte im Tool:
    - Hosting für max 48 Stunden
    - keine Datei mit klartext auf dem server
    - Wortfilter vor dem Upload
    - P2P funktioniert nur von einem Benutzer zum andern, nicht so wie die üblichen P2P-Dienste

    Plus, da ich ned davon ausgehe, dass das Massen nutzen werden, kann ich auch etwas Kontrolle behalten.
    Erstmal muss es gehen wie's soll ;).
    Und wie gesagt: Filehosting ist grundsätzlich nicht illegal und wenn ich als Anbieter eine gewisse Kontrolle mache, passts.
    Illegale Files will ich grundsätzlich nicht on haben, das ist klar ;)

    Und wegen der Umsetzung PHP und MySQL:
    alle Uploads sind nun per PHP realisiert.
    Die MySQL-Abfragen bin ich dran über PHP zu steuern (fehlen noch 2 oder so).

    Sobald noch bissi mehr Funktionalität drin ist, stell ich eine erste Version on.

    KlyX
    Chris' Weblog - Mein Blog rund um Vieles :D
    @xtts02: kannst du mal mit mir Kontakt aufnehmen PN oder Freundschaftsanfrage ;). Hab gesehen, du testest QuickShare. Dabei stelle ich fest, dass die gleiche Datei mehrfach in der DB erscheint (mit komplett gleichem Eintrag). Ich schätze, du versuchst dich am PHP-Script mit bisschen Spezialwissen? Mich würde interessieren, wie dus machst bzw. wo die Lücken am System sind (dass es welche gibt, ist mir bewusst).
    Sorry für die Anfrage hier im Thread - aber andere Möglichkeiten zur Kontaktaufnahme gibts bei dir ja ned :D

    KlyX
    Chris' Weblog - Mein Blog rund um Vieles :D