Entwickler-Ecke

Freeware Projekte - Simple Webserver


Interceptor - Do 10.06.04 20:36
Titel: Simple Webserver
Hi Delphigemeinde!

Ich wollte euch mal meinen HTTP Webserver vorstelln.
Momentane Version: 1.5

Features:
- Sehr einfach zu bedienen
- Max. User können eingestellt werden
- Einstellungen kann man per Knopfdruck ausblenden
- Statusanzeige für Serverauslastung (%Zahl zur Relation von eingeloggten & max. Usern)
- IP-Adresse wird per Knopfdruck automatisch ermittelt
- Eingeloggte Clients incl. deren "Infos" können angezeigt werden
- DirListing (Falls aktiviert, werden in Verzeichnisen ohne Startseite die Verzeichnisse + darin enthaltenen Dateien gelistet (ähnlich wie bei Apache)) (äußerst praktisch 8))
- Div. andere Optionen

Screenshot: http://www.networkxx.com/screenshots/swsscreen.jpg
Download: http://www.networkxx.com/tools/httpserv.zip Größe ca 330 kb


Wäre dankbar für jedes Feedback (ob positiv oder negativ)

Mfg, Interceptor


Chatfix - Fr 11.06.04 08:30

Was mir auffällt ist das du die Start-Seite auf HTM und HTML Files begrenzt.
Wenn ich allerdings eine TXT als start haben möchte ist das nicht möglich...

Ansonsten ganz gut, vielleicht noch PHP mit reinmachen :)


patrick - Fr 11.06.04 10:07

ich hab mir dein programm auch mal angeguckt.
der webserver ist wirklich leicht zu bedienen.

n paar verbesserungen würde ich aber noch vorschlagen:


und noch n bug (glaub ich):
wenn ich auf den webserver zugreife (ich bin alleine im netzwerk) und n bissle auf der webseite rumsurfe, steigt die benutzeranzahl (teilweise 8 nutzer). hier das log:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
-------------------------------------------------------------
11.06.2004 | 09:39:03
Starte Server auf 19x.1xx.xx.xxx auf Port 80
Computername: OBEN
Läuft auf OS: Microsoft Windows 2000
Website-Verzeichnis: F:\...\Homepage
Startseite: 
Max. User: 25
DirListing: AN

09:39:04 Server gestartet!
09:39:06 Client1 connected [192.168.1.2]
09:39:06 Client1 disconnected [192.168.1.2]
09:39:17 Client2 connected [192.168.1.2]
09:39:27 Client2 connected [192.168.1.2]
09:39:27 Client3 connected [192.168.1.2]
09:39:27 Client2 connected [192.168.1.2]
09:39:27 Client3 connected [192.168.1.2]
09:39:27 Client4 connected [192.168.1.2]
09:39:28 Client2 disconnected [192.168.1.2]
09:39:28 Client3 disconnected [192.168.1.2]
09:39:28 Client4 disconnected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client8 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client8 connected [192.168.1.2]
09:39:47 Client9 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client8 connected [192.168.1.2]
09:39:47 Client9 connected [192.168.1.2]
09:39:47 Client10 connected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client6 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client8 connected [192.168.1.2]
09:39:47 Client9 connected [192.168.1.2]
09:39:47 Client10 connected [192.168.1.2]
09:39:47 Client11 connected [192.168.1.2]
09:39:47 Client3 disconnected [192.168.1.2]
09:39:47 Client4 disconnected [192.168.1.2]
09:39:47 Client5 disconnected [192.168.1.2]
09:39:47 Client6 disconnected [192.168.1.2]
09:39:47 Client7 disconnected [192.168.1.2]
09:39:47 Client8 disconnected [192.168.1.2]
09:39:47 Client9 disconnected [192.168.1.2]
09:39:47 Client10 disconnected [192.168.1.2]
09:39:47 Client11 disconnected [192.168.1.2]
09:39:47 Client3 connected [192.168.1.2]
09:39:47 Client4 connected [192.168.1.2]
09:39:47 Client5 connected [192.168.1.2]
09:39:47 Client7 connected [192.168.1.2]
09:39:47 Client8 connected [192.168.1.2]
09:39:47 Client9 connected [192.168.1.2]
09:39:47 Client10 connected [192.168.1.2]
09:39:47 Client11 connected [192.168.1.2]
09:39:47 Client12 connected [192.168.1.2]
09:39:47 Client3 disconnected [192.168.1.2]
09:39:47 Client4 disconnected [192.168.1.2]
09:39:47 Client5 disconnected [192.168.1.2]
09:39:47 Client7 disconnected [192.168.1.2]
09:39:47 Client8 disconnected [192.168.1.2]
09:39:47 Client9 disconnected [192.168.1.2]
09:39:47 Client10 disconnected [192.168.1.2]
09:39:47 Client11 disconnected [192.168.1.2]
09:39:47 Client12 disconnected [192.168.1.2]


Interceptor - Fr 11.06.04 19:58

Danke für's Feedback.


@:Chatfix:
Stimmt, dadran hatte ich garnicht gedacht...in der nächsten Version werde ich dann wohl ne Maske einbaun, die der User evtl. noch erweitern kann
Die Sache mit dem PHP einbinden wird nicht einfach werden. Mal sehn, vielleicht find ich ja irgendwo nen PHP-Interpreter :lol:

@Patrik:
Die Idee mit dem gespeicherten Root verzeichnis find ich gut, werde das ganze wohl in ne INI-Datei speichern mit noch mehr Einstellungen.
Die IP wollte ich schon bereits zu Programmstart anzeigen lassen, funzt aber irgendwie nicht :(...naja, nen Klick kann man ja noch verkraften, oder? ;)

Bei dir wird nix in der Startseite-Listbox angezeigt? Seltsam, nachdem man einen Ordner mit HTML Seiten gewählt hat (*.htm und *.html) sollten diese "eigentlich" angezeigt werden, bei mir und bei div. anderen Usern klappt das auch so wie es sollte...
Normalerweise werden die auch in "Echtzeit" eingetragen, also nicht erst nachdem man in der Verzeichnisform auf "OK" gedrückt hat...musst mal schaun.

Und jo, das mit dem "Userbug" is so ne Sache...der Client scheint sich jedesmal zu disconnecten nachdem er einen Link geklickt hat. Seltsam, aber ich werd der Sache auf den Grund gehn...zumindest stört das nicht die Funktion des Servers


Aber da sieht man mal wieder dass man sich auf die 100%ige Funktionalität seines Tools nicht verlassen sollte *g* Danke für's Testen!

Hat sonst noch wer Kritik egal welcher Form loszuwerden?

Mfg. Interceptor


patrick - Sa 12.06.04 10:21

Zitat:
Seltsam, aber ich werd der Sache auf den Grund gehn...zumindest stört das nicht die Funktion des Servers

öhm, irgendwo schon: wenn du 5 leuten zugriff gewähren willst aber immer nur 1 oder 2 auf den server zugreifen können, ist das net so schön :?


Karlson - Sa 12.06.04 12:46

Hallo ich hätte mal eine frage. Wenn ich einem Kollegen etwas zum Download anbieten möchte, was für einen Link muss ich dem den dann geben?


raziel - Sa 12.06.04 13:36

Interceptor hat folgendes geschrieben:
Die Sache mit dem PHP einbinden wird nicht einfach werden. Mal sehn, vielleicht find ich ja irgendwo nen PHP-Interpreter :lol:

Wie wärs mit dem "echten, richtigen" PHP Interpreter... :roll:
Zu finden unter http://www.php.net/downloads.php (wer hätts gedacht!)

@Karlson:
Deine IP Adresse musst ihnen geben...


raziel


Interceptor - Mo 14.06.04 00:49
Titel: Update auf Version 1.6.2
Soa...

Hab dank eurer Inspiration 'n paar Sachen geändert, wie folgt:

- Die Startseite ist nun nicht mehr nur auf *.htm und *.html Dateien begrenzt (per Rechtsklick kann nun ein Fenster aufgerufen werden, in dem man beliebige Extensions eintragen kann, die auch gespeichert werden)
- Sämtliche Einstellungen werden in einer INI Datei gespeichert (config.ini im Programmverzeichnis)
- Kleine Änderungen am Design


Das Problem mit dem Userbug konnte ich leider auf die Schnelle nicht beheben, mir ist aber aufgefallen dass dieser Fehler meist nur dann auftritt, wenn man selber am Remote Rechner durch die Seiten surft

Download: http://www.networkxx.com/tools/httpserv.zip ~ 400 kb

Mfg, Interceptor


raziel - Mo 14.06.04 17:40
Titel: Re: Update auf Version 1.6.2
Interceptor hat folgendes geschrieben:
Das Problem mit dem Userbug konnte ich leider auf die Schnelle nicht beheben, mir ist aber aufgefallen dass dieser Fehler meist nur dann auftritt, wenn man selber am Remote Rechner durch die Seiten surft


Das stimmt so nich ganz... Hab gestern deinen Webserver mal getestet (schöner kleiner Webserver) und als obbschtkuche [http://www.delphi-forum.de/profile.php?mode=viewprofile&u=2812] gestern was von mir runtergeladen hatte wollte der auch nich mehr wieder weg... :roll:

raziel


patrick - Mo 14.06.04 18:51

das obbschtkuche auch immer so hartnäckig sein muss :wink:


N4NoX - Do 01.07.04 07:23

Hallo,
also ich persöhnlich finde deinen "Simple" Webserver sehr gut ;)
Da ich gerade dabei bin Delphin zu "lernen" ^^, frage ich mich
wie du dieses "buttons" gemacht hast, bei mirc heißt das flat aber
hab sowas bzw sowas ähnliches noch nicht gefunden! ;
Wäre schön wenn du mir das "erklären" könntest ;)

MFG N4NoX


FaTaLGuiLLoTiNe - Do 01.07.04 07:33

@ N4NoX :

Ich hab' mir das Programm jetzt nicht angesehen, aber der einzige Button in den mitgelieferten Delphikomponenten, der den Flat - Style beherrscht, ist TSpeedButton. Wenn's nicht der ist, ist's wahrscheinlich ne Fremdanbieterkomponente oder was eigenes.


Delete - Do 01.07.04 07:37

N4NoX hat folgendes geschrieben:

Da ich gerade dabei bin Delphin zu "lernen" ^^, frage ich mich
wie du dieses "buttons" gemacht hast, bei mirc heißt das flat aber
hab sowas bzw sowas ähnliches noch nicht gefunden! ;
Wäre schön wenn du mir das "erklären" könntest ;)

Wäre es gerade als Anfänger nicht sinnvoll, sich um die Funktionalität und um den Lerneffekt zu kümmer, anstatt um das Aussehen der Kontrollelemente? :roll:


Tino - Do 01.07.04 09:26

Luckie hat folgendes geschrieben:
Wäre es gerade als Anfänger nicht sinnvoll, sich um die Funktionalität und um den Lerneffekt zu kümmer, anstatt um das Aussehen der Kontrollelemente? :roll:

Ich finde das muss jeder für sich selbst entscheiden. Ich habe als ich zum ersten Mal Delphi in den Händen hatte auch erst mal nur ein paar Fenster zusammen geklickt und versucht meine erste Anwendung zu programmieren. Dabei habe ich nur wenig Code selbst geschrieben. Gelernt habe ich trozdem etwas... wenn auch nur langsam. Nach und nach habe ich dann immer mehr selbst programmiert... Ich denke so hat fast jeder Programmieranfänger unter Delphi angefangen.

Gruß
Tino


neodeus - Do 08.07.04 23:49

Die PHP implementation ist nicht wirklich schwer !
Du schaufst auf den Dateityp der angegebenen Datei ( .php, .php4, .phtml ) und rufst dann php.exe dateipfad/dateiname auf ! Als rückgabe bekommst du dann alles aus dem content cache von php ( http://www.php.net/ob_ ). Oder halt die Fehler ( http://de3.php.net/errorfunc )


raziel - Fr 01.10.04 14:40

Ist zwar schon ein paar Tage alt, aber ich finde, eine interessante Info für alle, deren Windows (und evtl auch andere Programme) auf den Namen David Niedermeyer registriert ist:

Zufällig bin ich über diesen Post von Chatfix [http://www.delphi-forum.de/viewtopic.php?p=169379#169379] gestolpert, in dem Chatfix schreibt, dass das Programm AFM [http://www.delphi-forum.de/viewtopic.php?t=27838] von Martin W. angeblich auf "David Niedermeyer" registriert ist. Das hat mich daran erinnert, dass mein Windows auch angeblich auf einen gewissen "David Niedermeyer" registriert ist.
Also Google angeworfen und - voila der erste Treffer:
http://www.freeware.de/software/Programm_Simple_Webserver_16300.html

An was erinnert uns das? Genau, an dieses Freeware - Tool "Simple Webserver" von Interceptor.

Bei jedem Start ändert das Programm diesen Reg-Eintrag:
Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Zeichenfolge: Registered Owner

Um das ganze rückgängig zu machen einfach obigen Eintrag über regedit ändern und Simple Webserver von der Platte fegen und schon gehört euer Windows wieder euch ;)

raziel


Karlson - Fr 01.10.04 16:49

Das wirft doch Fragen auf :shock: Wie kann es sein das sein Programm sowas macht? Soll das eine Art Easteregg sein oder was? Wenn ja, bitte freeware.de kontaktieren und den Download aus em sortiment nehmen, solche Programme können auch sonst noch was tun.


raziel - Fr 01.10.04 17:00

Karlson hat folgendes geschrieben:
Wenn ja, bitte freeware.de kontaktieren und den Download aus em sortiment nehmen, solche Programme können auch sonst noch was tun.

Mit der aktuellen Version 1.7.5 (die der auf Freeware.de und Shareware.de entspricht) tritt dieser "Effekt" nicht auf. Nur mit der Ausgangsversion, die er hier veröffentlicht hat.

//edit: Hab nochmal genau nachgeschaut, was alles in der Registry geändert wird:
(Alles obiger Pfad)
-> RegisteredOwner (in David Niedermeyer)
-> ProductID (in 52200-OEM-0000007-00000)
-> ProductName (in Microsoft Windows 2000)
-> DVD_Region (in 0xFFFFFFFF)

raziel


Interceptor - Fr 22.10.04 14:41

Ähm ja, dieser "Effekt" war mir wirklich äußerst unangenehm.
Verursacher dieses Chaos war ne Komponente von den JEDI's, nämlich die jvComputerinfo. Ich dachte zuerst dass das ne Readonly kompo is, aber fataler Weise scheint jene die Registrywerte vom User mit meinen überschrieben zu haben.

Wie raziel schon sagte is dieser Fehler mittlerweile behoben, tut mir wirklich leid.