[Projet] Serveur FTP en C#

Je me lance, plus par défi personel que par réelle nécessité, sur un projet de serveur FTP, le tout en Open Source, basé sur la plateforme .net, codé en C#.

Mon but est d’avoir au final quelquechose qui marche, implémentant les fonctionnalités suivantes :

  • Service Windows (daemon nux ?)
  • Gestion des utilisateurs par groupes / sous-groupes / sous-sous groupes ...
  • Support des standards FTP.
  • Support du FXP.
  • Régulations (connexions, débit, logins).
  • Administration distante.
Et, si possible support des ACL. Si l'on arrive a obtenir quelquechose de correct et utilisable, je pense distribuer tout ca, en LGPL, aux cafzoniens désireux de se monter leur serveur FTP @home.

Si vous avez connaissance de projets de ce type, ou que vous aimeriez rajouter quelquechose dans la liste des features ci-dessus, vous êtes les bienvenus.
Si vous souhaitez participer au developpement, vous êtes aussi les bienvenus.

Oui, cela fait beaucoup de “Si”. Commentaires ?

Bon projet ça

J’aimerai bien aider, mais bon moi c’est plutôt la programmation orientée BD, jamais rien programmé en web/reseaux/semblables, donc je risque d’être plus un boulet qu’autre chose, n’ayant jamais touché .NET en plus…

Mais je te souhaite bonne chance, et je prendrais volontiers quand ça sera fini pour essayer de comprendre comment ça marche. Bonne initiative, c’est très sympa à toi
 
Et bonne chance surtout!

Good Luck Tzim ! N’étant pour l’instant qu’en phase d’apprentissage de le .NET je ne te serai pas d’un grand secours. Par contre si tu peux nous tenir au courant de l’évolution de ce pprojet, ça serait chouette et instructif

[quote]Commentaires ?[/quote]Si

Penses à gérer les reprises de transferts (UP et DL) ainsi que les alias
Je dis ca parce que c’est pas apparent dans ta liste

Et, conseil de developpement (à prendre ou à laisser), commence plutot par developper le server sans GUI, configuré via un fichier, puis après il te suffira de faire ton “petit” prog d’administration distante, que tu pourras bien sur utiliser en local (via 127.0.0.1 si jamais je suis pas clair)… Parce qu’un server FTP n’a pas besoin de GUI et que bien séparer les deux est une bonne chose (pour les petits PC et leurs ressources, pour la transparence du server, etc.)

Bon courage

:remouk

PS : Si jamais je peux t’etre utile en quoi que ce soit, n’hésite pas… Si tu ne sais pas si je peux t’aider mais que t’as quand même un besoin… enfin bref, PM (mais pas en C# parce que toujours pas le temps de m’y mettre et python m’interresse, mais c’est une autre histoire)

Ce message a été édité par remouk le 23/05/2003

remouk a dit:


Penses à gérer les reprises de transferts (UP et DL) ainsi que les alias .
Et, conseil de developpement (à prendre ou à laisser), commence plutot par developper le server sans GUI, configuré via un fichier, puis après il te suffira de faire ton “petit” prog d’administration distante, que tu pourras bien sur utiliser en local (via 127.0.0.1 si jamais je suis pas clair)… Parce qu’un server FTP n’a pas besoin de GUI et que bien séparer les deux est une bonne chose (pour les petits PC et leurs ressources, pour la transparence du server, etc.)

C’est aussi prévu comme ca, vu qu’un service windows ne peut avoir de GUI. Pour l’administration distante, ca se fera certainement a l’aide de commandes FTP perso. (Comme le permettent la plupart des servs FTP).

 

Ah, j’ajouterais deux trucs :

  • Pour participer, contactez moi par PM, ou a l’adresse suivante :
    ftpserv@tzim.net

  • J’indique ci-dessus LGPL, mais je ne connais pas bien tout les termes, ni les autres types de licence (BSD …). Si quelqu’un pouvais m’éclairer la dessus.

Je ne sais pas si j’aurais le temps de programmé, mais ca m’interesse de voir l’évolution, tu n’aurais pas un site ou tu pourrais mettre les différentes versions ou un truc du genre… que je vois si je peux aider ou non.

Euh, tu pourrais presque monter un projet Sourceforge, non ? Enfin, bref tout ça pour dire que je suis hyper-intéressé, mais en ce moment, c’est un peu hot on va dire (deadline de stage au 10 juin). Donc vala.

[quote]Euh, tu pourrais presque monter un projet Sourceforge, non ? Enfin, bref tout ça pour dire que je suis hyper-intéressé, mais en ce moment, c’est un peu hot on va dire (deadline de stage au 10 juin). Donc vala.[/quote]Sourceforge ou pas ( j’y ai pensé ) , j’ai prévu d’utiliser un Repository CVS. Mais il est possible que je le monte @home. Car je ne veux pas laisser les sources a n’importe qui pendant la période alpha. (A moins que l’on puisse supprimer l’acces CVS anonyme chez SF ? A voir.)

xentyr : j’ai aussi une deadline de stage, et tout le bazard qui suit (Rapport, Soutenance, et éventuelle présentation du produit).

Pour le moment, je pose l’idée de départ du projet, pour voir et recenser les interressés, ainsi que pour définir un but a atteindre (fonctionalités, ect), car même si ce n’est pas le but premier du projet, j’aimerais aboutir sur quelquechose de fonctionnel, et le voir, pourquoi pas, utilisé en prod.

Surtout, si plusieurs développeurs il y a, il va falloir définir une architecture de projet dès le départ, en fonction des objectifs fixés. (Et là, je comptes sur Glop et sa connaissance du Framework pour nous dire si notre structure objet colle ou pas).

J’ai déja fait un premier survol de la RFC 959, et cela a l’air de coller avec mes connaissances du protocole, donc pas de mauvaises surprises.
Ce message a été édité par Tzim le 23/05/2003

[quote]
xentyr : j’ai aussi une deadline de stage, et tout le bazard qui suit (Rapport, Soutenance, et éventuelle présentation du produit).

Mais on est tous en stage ??

Si c’est un projet qui peux être assez étalé dans le temps (pas mal de mois…), je suis partant. Juste le fait d’étudier le protocole FTP peut être intéressant pour la maitrise Info.

ZGob > Bien sur, ca se fera pas en 2 semaines, je pense même pas pouvoir commencer a coder serieuxsement d’ici la mi-juin.
D’ici là, on peu poser et définir le projet, en discuter bien gentiement.
Plus on est de fous, plus on ris, donc si tu veux te joindre au développement, tu es le bienvenu.

xentyr > idem pour toi. D’ailleurs, si tu veux du SSH, fodra retrousser tes manches, car bien qu’il y ait apperemment tout ce qu’il faut dans le framework, je ne connais rien a la crypto.

Bon, ben voila, j’ai commencé a poser la structure. Pour le moment, c’est pas conectable du tout, ca ne sert pas encore a grand chose, mais c’est une ébauche, qui je l’espère suffira a rameuter quelques dev a ma cause.

Je vais pas bien vite, je découvres le Framework au fur & a mesure, donc, on y va tout doux.

Pour ceux que ca interresse, le source là : http://letzimisce.free.fr/ftpserv/ .
Pour les tests, je fait ca a coup de telnet.
Ce message a été édité par Tzim le 18/08/2003

Héhé cool, en plus je viens ENFIN de recevoir mon Visual .Net hier… Miam 

Pour la norme officielle, voici le RFC 959 du protocole FTP (le lien de Tzim n’étant plus valide, j’ai carrément donné l’URL w3c)
Ce message a été édité par xentyr le 15/08/2003

Ok, xentyr… Essaye de mater le truc. Si jamais y’a des trucs louches ou des remarques a faire, hésite surtout pas. Je rappelle qe je fais surtout ca a titre pédagogique, donc bon…
Pour le moment, seule l’écoute TCP, ainsi que deux commandes (NOOP et QUIT) ont un début d’implémentation.
Pour ma défense, je viens juste de commencer .

Ce message a été édité par Tzim le 14/08/2003

UP !
J’en profite au passage pour signaler que le fichier a été mis a jour ce matin… (Promis, j’vais ouvrir un CVS ,) ).

[quote]Héhé cool, en plus je viens ENFIN de recevoir mon Visual .Net hier… Miam 

Pour la norme officielle, voici le RFC 959 du protocole FTP (le lien de Tzim n’étant plus valide, j’ai carrément donné l’URL w3c)
Ce message a été édité par xentyr le 15/08/2003[/quote]Vu ! J’en ai aussi profité pour inclure les RFCs interresantes ( 959, 2228, 2389 et 2428 ) dans une archive que vous trouverez là : http://letzimisce.free.fr/ftpserv/RFCFTP.zip
Ce message a été édité par Tzim le 18/08/2003

[quote]UP !
J’en profite au passage pour signaler que le fichier a été mis a jour ce matin… (Promis, j’vais ouvrir un CVS ,) ).

[url="http://letzimice.free.fr/ftpserv.zip"]http://letzimice.free.fr/ftpserv.zip[/url] => erreur 404 (donc je suis toujours sur celui d'hier, suis en train de me taper tous les RFC, là.)

Au temps pour moi… (Putain de serveur apache qui respecte la casse des URL …).

Wow le boulet que je suis. Bon, j’ai bien récupéré le truc, pour le moment, il suffit d’aller sur http://letzimice.free.fr

Tzim > rien a voir avec apache, mais plutot du serveur BSD derriere.

Ca pourrait éventuellement m’interesser de participer au projet…

j’ai quelques notions de software architecture si ça vous intéresse :stuck_out_tongue: