Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Simple FTP-Server (https://www.delphipraxis.net/65196-simple-ftp-server.html)

Hador 13. Mär 2006 16:35


Simple FTP-Server
 
Ich wollte hier mal meinen FTP-Server vorstellen.
Es währe schön, wenn ihn mal ein paar Leute testen könnten.
Vorallem würde mich interessieren wie es mit anderen Windows-Versionen aussieht.
Auch würde ich mich über Kritik/Anregungen etc. freuen.

Das ganze Programm basiert übrigends auf dem FTP-Server-Beispiel der ICS Komponenten, welche ich (logischerweise) auch genutzt habe.

Version 0.9.3

Funktionen
Benutzerverwaltung
Home-Verzeichnis für jeden Benutzer
Anzeige der eingeloggten Benutzer
Protokoll

Systemanforderungen
Microsoft Windows (getestet nur unter WinXP/WinMe)

Kurzeinleitung
- Programm entpacken
- unter User die Benutzer + Passwörter + Homedir einstellen
- fertig

Version 0.9.4
- Einige kleinere Verbesserungen

Version 0.9.5
- Möglichkeit Benutzer mit eingeschränkten Rechten zu schaffen

Version 0.9.6
- Einige kleinere Verbesserungen

Version 0.9.7
- Ein Bug in der Userverwaltung entfernt, der zur Folge haben konnte, dass in bestimmten Fällen die Daten eines Benutzers nicht geändert wurden, sondern ein neuer Benutzer angelegt wurde.

Version 0.9.8
- Möglickeit den Server minimiert (Startparameter: -h) oder versteckt (Startparameter: -s) zu starten.

Version 0.9.8
- Ein Bug aus der Benutzerverwaltung entfernt. Wenn man dort Benutzer gelöscht hat, wurden beim speichern immer einer zu wenig gelöscht. Ferner wurde der Code noch ein wenig überarbeitet, besser strukturiert und optimiert.

Version 0.9.10
- Nun habe ich die Benutzerverwaltung nochmal komplett überarbeitet.

Download
Zip Archiev (.zip | 310 kb)

Projekt-Homepage
larskiesow.de/programme_ftpserver.html

Screenshot
http://larskiesow.de/dat/programme/img/ftpserver.png

faux 13. Mär 2006 16:40

Re: Simple FTP-Server
 
Hallo!

Also funktionieren tuts. ;) Werds gleich mal ausgiebig testen.
Kleine Kritik:
Also, dass per default der Root-Path c:\ ist, finde ich nicht gut, denn ein großteil hat da das Windows drauf. Ich würde %TEMP% oder so als Standard-Path setzen.

Was meinst du eigentlich mit
Code:
[17:38:25] 200 Ok. Parameter was ''.
Das kommt, als Antwort auf NOOP. ;)

Grüße
Faux

Hador 13. Mär 2006 16:53

Re: Simple FTP-Server
 
Zitat:

Zitat von faux
Also, dass per default der Root-Path c:\ ist, finde ich nicht gut, denn ein großteil hat da das Windows drauf. Ich würde %TEMP% oder so als Standard-Path setzen.

Da hast du Recht. Ich denke ich werde am Anfang einfach gar keinen Benutzer einrichten.

Zitat:

Zitat von faux
Was meinst du eigentlich mit
Code:
[17:38:25] 200 Ok. Parameter was ''.
Das kommt, als Antwort auf NOOP. ;)

Gute Frage - Das sind die Antworten der genutzten ICS-Komponente :wink:

Pr0g 13. Mär 2006 17:06

Re: Simple FTP-Server
 
Die Datei "FtpServer.usr" ist doch leer, also brauchst du sie auch nicht mitliefern. Diese sollte das Programm beim Start automatisch anlegen, wenn sie nicht existiert (bzw. erst anlegen wenn sie genutzt wird) und auch keine Fehlermeldung anzeigen.

Ich habe einen neuen User erstelle und werden meiner Angaben werden irgendwelche Daten in die Liste eingetragen (Username: "User_13_03_2006_18_05_22", Passwort: "Password", HomeDir: "C:\"). Nun musst ich den Eintrag nochmal in der Liste anklicken, die Werte erneut anpassen und "Change" anklicken. Da scheint noch nen Bug zu sein.

Das Passwort in der Liste vielleicht nicht als Klartext anzeigen...weiß net genau was besser ist, da es ja eigentlich eh nur der Admin sieht.

Der Server selbst scheint zu gehen ;)

Edit: Ne Option um das Tool in den Systray zu packen wäre nicht schlecht denke ich.

Edit2: Ich sehe grad, dass du noch eine Ini Datei anlegst, kannst du die Userdaten (welche ja eh als Plaintext gespeichert werden) nicht direkt da mit unterbringen und so eine Datei einsparen?

Edit3: Vielleicht sone Art einschaltbarer Readonly Modus, welchen man in der Benuterverwaltung angeben kann.

Hador 13. Mär 2006 18:02

Re: Simple FTP-Server
 
Zitat:

Zitat von Pr0g
Die Datei "FtpServer.usr" ist doch leer, also brauchst du sie auch nicht mitliefern. Diese sollte das Programm beim Start automatisch anlegen, wenn sie nicht existiert (bzw. erst anlegen wenn sie genutzt wird) und auch keine Fehlermeldung anzeigen.

Erledigt
Zitat:

Zitat von Pr0g
Ich habe einen neuen User erstelle und werden meiner Angaben werden irgendwelche Daten in die Liste eingetragen (Username: "User_13_03_2006_18_05_22", Passwort: "Password", HomeDir: "C:\"). Nun musst ich den Eintrag nochmal in der Liste anklicken, die Werte erneut anpassen und "Change" anklicken. Da scheint noch nen Bug zu sein.

Erledigt
Zitat:

Zitat von Pr0g
Das Passwort in der Liste vielleicht nicht als Klartext anzeigen...weiß net genau was besser ist, da es ja eigentlich eh nur der Admin sieht.

Hatte ich auch überlegt. Allerdings dachte ich dann, dass man als Admin sonst wahrscheinlich schnell den Überblick verliert und man als Admin (wie du ja auch schon anmerktest) die ja eigentlich sowiso sehen darf.
Zitat:

Zitat von Pr0g
Der Server selbst scheint zu gehen ;)

Super
Zitat:

Zitat von Pr0g
Edit: Ne Option um das Tool in den Systray zu packen wäre nicht schlecht denke ich.

Guck mal unter Options -> Minimize to Tray ;)
Zitat:

Zitat von Pr0g
Edit2: Ich sehe grad, dass du noch eine Ini Datei anlegst, kannst du die Userdaten (welche ja eh als Plaintext gespeichert werden) nicht direkt da mit unterbringen und so eine Datei einsparen?

Könnte man machen. Mal sehen, ob ich die Dateien "vereine".
Zitat:

Zitat von Pr0g
Edit3: Vielleicht sone Art einschaltbarer Readonly Modus, welchen man in der Benuterverwaltung angeben kann.

Jo das währe ne Idee. Ich werde mal gucken, ob sich sowas nicht realisieren lässt

Thx fürs testen!

Pr0g 13. Mär 2006 18:14

Re: Simple FTP-Server
 
Zitat:

Zitat von Hador
Guck mal unter Options -> Minimize to Tray ;)

Sorry übersehen. Vielleicht das Trayicon noch mit einem Transparenten Hintergrund versehen, so dass nur die Ampel sichtbar ist.

ghost007 13. Mär 2006 18:29

Re: Simple FTP-Server
 
Hallo,
ich hab das programm mal dlt ... wir kann ich jetzt einen euen user enrichten? ich kann die datein in die felder in der user tabelle eingeben, aber wie erstell ich den user nun?

Hador 13. Mär 2006 18:43

Re: Simple FTP-Server
 
Einfach unter User in die dafür vorgesehenen Felder Benutzername, Passwort und HomeDir eintragen und auf Add klicken.
Dann ist er sofort eingerichtet.

Zitat:

Zitat von Pr0g
Vielleicht das Trayicon noch mit einem Transparenten Hintergrund versehen, so dass nur die Ampel sichtbar ist.

Jupp werd ich machen

ghost007 13. Mär 2006 19:15

Re: Simple FTP-Server
 
lol, der add und delete button is bie mir verbuggt -.- wenn ich das fenster zu groß mache bzw. zu klein, verschwinden die buttons -.-

Hador 13. Mär 2006 19:28

Re: Simple FTP-Server
 
Habs verbessert

ghost007 13. Mär 2006 19:47

Re: Simple FTP-Server
 
so, sehr schön :)
noch 1 frage, wie mach ich das jezz?
ftp:// .... ?

EDIT:Also, das ich per browser mich einloggen kann ...

Hador 13. Mär 2006 19:55

Re: Simple FTP-Server
 
Wenn du den Server startest brauchst du im Browser nur ftp:// und deine IP eingeben und es erscheint ein Fenster mit dem du dich einloggen kannst.

In jedem anderen FTP-Programm:
Server: Deine IP
Benutzername: Irgendein Benutzer, den du angelegt hast
Passwort: Das zu den Benutzer dazugehörende Passwort ;)

ghost007 13. Mär 2006 19:57

Re: Simple FTP-Server
 
probier malk den link ... ftp://84.147.96.230/ da kommt ein fehler -.-

User:test
PW:test

Hador 13. Mär 2006 20:02

Re: Simple FTP-Server
 
Könnte es sein, dass a) deine Firewall die Verbindung blockt oder b) dein PC hinter nem Router mit eingebauter Firewall sitzt?
Denn dann musst du zuerst dort den Port 21 öffnen.

ghost007 13. Mär 2006 20:06

Re: Simple FTP-Server
 
he he he, der router wars ;)

echt geiles programm :thumb: :wink:

faux 13. Mär 2006 20:14

Re: Simple FTP-Server
 
Weiso nicht einfach ftp://root:test@127.0.0.1 bzw mit SP2 ftp://127.0.0.1 und dann bei Aufforderung die Logindaten.
So braucht man nicht extra die IP ausfindig machen. ;)

Grüße
Faux

Pr0g 20. Mär 2006 19:38

Re: Simple FTP-Server
 
Es scheint so als ob jeder Client als zwei gezählt wird, jeweils mit verschiedenen Ports. Wäre es da nicht besser, den Client nur einmal anzuzeigen und dann beide Ports hinter der IP aufzulisten?

Daniel Schuhmann 20. Mär 2006 20:12

Re: Simple FTP-Server
 
Zitat:

Zitat von Hador
Denn dann musst du zuerst dort den Port 21 öffnen.

Bitte denkt daran, dass Port 21 allein nicht genügt, Port 20 (FTP-DATA) gehört auch noch dazu.

KosMottchen 30. Mär 2006 05:13

Re: Simple FTP-Server
 
huhu,

erstma super danek dafür.

aber kann man das ip logging auch ausstellen?

und könnte man, wenn man user erstellt hat und in der ini alles soweit richtig hat, das tool auch über die cmd line starten?

is der programm code open source oder magst du den gerne für dich behalten?

mfg kos

Assun 7. Apr 2006 13:14

Re: Simple FTP-Server
 
hmm also ich kann zwar mit FlashFXP connecten aber irgendwie nicht per browser o.O

ggfan 9. Apr 2006 17:20

Re: Simple FTP-Server
 
Super Programm. Habs gleich installiert.

Aber eine allgemeine Frage. Ist es ein großes Sicherheitsrisiko den Port 21
freizugeben?

Assun 9. Apr 2006 21:09

Re: Simple FTP-Server
 
soo hab dann gleich nochmal ne frage...

also das problem dass ich nich per FireFox connecten kann besteht immernoch, es geht aber mit IE und FlashFXP usw..setltsam....

aber ne andere frage..man kann pro user ja nur ein RootVerzeichniss angeben..

ich habe C:\ angegeben.

Ich hab aber keine rechte z.b. per FTP prog von C:\ nach D:\ zu switchen :(

und einstellen kann man das auch nirgends, oder hab ich das übersehn ?

KosMottchen 9. Apr 2006 21:09

Re: Simple FTP-Server
 
Zitat:

Zitat von ggfan
Super Programm. Habs gleich installiert.

Aber eine allgemeine Frage. Ist es ein großes Sicherheitsrisiko den Port 21
freizugeben?

hallo,

also leute, die wissen, was man da machen kann, die können dir über jeden port schaden anrichten, egal ob 21, 400 oder 5633

aba im normalfall musst du da nicht im geringsten angst haben.

mfg kos

ggfan 10. Apr 2006 15:44

Re: Simple FTP-Server
 
ok, danke für die Antwort.

Bei meinem Firefox geht es, wenn ich ftp://localhost eintippe.
Vll gibts da beim Firefox irgendwas in der Konfiguration, dass man einstellen muss.

P.S.: Info für den Threadersteller. Ich hab Win ME.

Hador 8. Okt 2006 16:38

Re: Simple FTP-Server
 
Hui ich hatte die Beiträge hier ganz übersehen :oops:
Sie sind zwar schon alt, aber dennoch werde ich die Fragen mal beantworten:

Zitat:

Zitat von Assun
also das problem dass ich nich per FireFox connecten kann besteht immernoch, es geht aber mit IE und FlashFXP usw..setltsam....

Gib bei deinem Firefox dann mal ftp://Benutzername:Passwort@127.0.0.1 bzw. ftp://Benutzername:Passwort@localhost ein. Funktioniert das so?

Zitat:

Zitat von Assun
aber ne andere frage..man kann pro user ja nur ein RootVerzeichniss angeben..
ich habe C:\ angegeben.
Ich hab aber keine rechte z.b. per FTP prog von C:\ nach D:\ zu switchen :(
und einstellen kann man das auch nirgends, oder hab ich das übersehn ?

Ne da hst du nichts übersehen.
Sowas kann man realisieren. Ich hatte mit den Funktionen auch irgendwann schonmal rumgespielt.
Mal sehen, ob ich da mal irgendwann was dran machen kann.

Zitat:

Zitat von KosMottchen
aber kann man das ip logging auch ausstellen?

Funktion implementiert
Zitat:

Zitat von KosMottchen
und könnte man, wenn man user erstellt hat und in der ini alles soweit richtig hat, das tool auch über die cmd line starten?

Is implementier. Guck dir mal die Startparameter -h und -s in der neuen Version an.
Zitat:

Zitat von KosMottchen
is der programm code open source oder magst du den gerne für dich behalten?

Wenn du ihn immernoch haben möchtest, würde ich ihn dir zur Verfügung stellen.
Komplett OS möchte ich ihn nicht so gerne machen.

Zitat:

Zitat von ggfan
P.S.: Info für den Threadersteller. Ich hab Win ME.

Danke. Scheint also wie vermutet auf allen Win32-Versionen zu funktionieren

---

Und es gibt auch eine neue Version. Siehe erster Post.

Hador 15. Okt 2006 16:34

Re: Simple FTP-Server
 
Es gibt noch eine neue Version.

Diese ist Hauptsächlich zur behebung eines - wenn auch relativ harmlosen - Bugs geschrieben. Ferner habe ich aber den Quellcode noch ein wenig überarbeitet, strukturiert (an sich hier nicht so wichtig ^^) und optimiert.

Daniel G 1. Jan 2007 17:09

Re: Simple FTP-Server
 
Liste der Anhänge anzeigen (Anzahl: 1)
Da ich gerade an einem FTP - Client arbeite, wollte ich mal mit deinem Programm einen Testserver aufsetzen. Leider Gottes scheiter' ich schon daran, einen Benutzer gescheit anzulegen... :stupid:

Hador 1. Jan 2007 20:54

Re: Simple FTP-Server
 
:wall: Arr ich bin ja so blöd

Der Bug war mir schon längst bekannt. Und ich hatte ihn auch schon längst behoben.
Aber ich hab vergessen die Dateien auf meiner Homepage zu aktualisieren .

Jetzt ist die passende Version online.

http://larskiesow.de/programme_FTPServer0910.zip.file

Daniel G 1. Jan 2007 21:10

Re: Simple FTP-Server
 
Sehr schön, dann können wir uns jetzt ja gemeinsam überlegen, warum ich mich nicht auf dem Server mit meinem Passwort anmelden kann... :mrgreen:

Ich habe folgenden User angelegt:

user: daniel
passwort: 123456789

Weder kann ich mich mit meinem Programm, noch mit Filezilla einloggen.... 'ne Ahnung, voran das liegen könnte? :stupid:

Log deines Programm
Zitat:

! 127.0.0.1 connected
< 127.0.0.1 USER daniel
> 127.0.0.1 331 Password required for daniel.
< 127.0.0.1 PASS 123456789
> 127.0.0.1 530 Login incorrect.
! 127.0.0.1 disconnected
Log von Filezilla
Zitat:

Status: Verbinden mit 127.0.0.1...
Status: Verbunden mit 127.0.0.1. Warten auf Willkommens-Meldung...
Antwort: 220-Welcome to my Server
Antwort: 220-
Antwort: 220 FTP Server ready.
Befehl: USER daniel
Antwort: 331 Password required for daniel.
Befehl: PASS *********
Antwort: 530 Login incorrect.
Fehler: Verbindung kann nicht hergestellt werden!

Hador 1. Jan 2007 21:16

Re: Simple FTP-Server
 
Was hast du als IP-Maske eingestellt?

Mir ist übrigends grad aufgefallen, dass ich die unter Modify vergessen habe :oops:

Daniel G 1. Jan 2007 21:17

Re: Simple FTP-Server
 
*.*.*.*

//Edit: Ok, ich habe jetzt explizit nur 127.0.0.1 zugelassen. Dann geht's....

Hador 1. Jan 2007 21:28

Re: Simple FTP-Server
 
Komisch wenn ich bei mir *.*.*.* eigebe komm ich drauf.
Wie siehts denn aus, wenn du * eingibst?
Hast du evtl. ein Leerzeichen mit eingegeben?

Daniel G 1. Jan 2007 21:35

Re: Simple FTP-Server
 
Hm, jetzt geht's auch bei mir mit *.*.*.*

Na ja, war wohl mein Fehler... :duck:

Hador 1. Jan 2007 21:47

Re: Simple FTP-Server
 
Nunja bei mir war ja letztendlich auch noch was fehlerhaft: Das fehlende IPMask unter Modify.
Und du hast mich endlich mal wieder dazu gebracht an dem FTP-Server weiterzuarbeiten.
In der nächsten Version wird es u.A. die Möglichkeit geben virtuelle Verzeichnisse zu erstellen, so dass man mehrere Partitionen einbinden kann etc.
Klappt auch schon ganz gut. Solange man kein Virtuelles Verzeichnis als Wurzel haben will :x
Aber das wird schoon auch noch :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz