Le serveur FTP de vos rèves

Non, il n’existe pas … Mais il pourrais

Comme indiqué dans ce Thread, je me lance sur un projet de serveur FTP.
Ma prétention n’est pas d’arriver a rivaliser avec les serveurs pros, mais je pense qu’il serais pas mal d’arriver a faire quelquechose d’utilisable et utilisé par nous, geeks exigeants.

Sachant qu’il est plus facile d’implémenter une fonctionalité si elle a été prévue dès le départ, je vous propose donc d’indiquer celles qui, pour vous, vous semblent nécessaire dans un serveur FTP.
Il peux s’agir de fonctions existantes, ou que vous souhaiteriez, en mettant toutefois l’aspect interface de coté pour le moment.

La première chose est qu’il soit rapide et pas trop lourd (dans tout les sens du terme…)

Ensuite, qu’il y est une mémoire des ftp visités, et qu’il associe, si on le désire, un ftp donné à un repertoire de notre DD (comme CuteFtp).

Egalement, qu’il y est un auto reconnect (tres chiant les déconnections toutes les trente secondes) à la même page que celle visité avant la deconnection.

Sinon, rien d’autre de spéciale pour moi, juste qu’il fasse bien son boulot, et qu’il soit rapide, et … gratuit

Ahem, BenJ, je crois que tu as mal lu … Je parles de Serveur FTP, pas de client…

la seule chose qui interresse les geeks c’est qu’il soit dispo et rapide
la taille me semble pas primordiale si il n’a pas pour objet de servir de ftp de warez
si c’est pour stocker 2/3 video et musiques + des photos , la vitesse et la disponibilité prime , il me semble

Arrgg …
/me se pends, dans se monde ou personne ne le comprends.

Il ne sagit pas d’un service de stockage, mais d’un software a développer.

Euh, dites, je suis vraiment pas clair dans mes propos ?
Ce message a été édité par Tzim le 23/05/2003

hadryen > c’est pas la programmation du serveur ftp qui va changer quelque chose a la vitesse de la connexion…

Sinon, pour ma part :

  • leger : 2Mo de RAM pour un serveur ftp me semble raisonable

  • un min de code qui tourne avec des privileges systeme : c’est bien gentil les services, mais faut faire attention a la securite

  • une gestion des buffers sans faille : je pense que c’est le point le plus important pour moi, d’ailleurs c’est l’un des avantages majeurs du c#

  • j’aime particulierement la gestion des droits a l’apache, cad avec des fichiers de droits ds les repertoires concernes

  • dernier point : a mort aux softs qui stockent la config ds la base de registre : bonjour le temps perdu quand on doit reinstaller sinon…

une gestion des comptes utilisateurs “à la active directory” avec des groupes ca serait super…

Des quotas par utilisateur/période dans bullet proof…

des limites de bande passante par utilisateur comme dans bullet proof aussi

et des priorités au niveau du trafic aussi…

et aussi un support du FTP passif/actif simple

et des synchros FXP automatiques aussi ca serait le pied

euh je rêve peut-etre un peu la non?

wow…

Vite Tzim, au boulot !!

A euh, merde… bon, ca m’apprendra à lire trop vite…

Comme dit Unreal :
Toute la config dans un fichier de config (justement) éditable à la main (j’y tiens) 

Sinon :

  • La reprise de transferts
  • Les alias
  • Les repertoires partagés en UP et DL dépendent du client connecté
  • Pouvoir ne plus accepter de connection tout en laissant les clients connectés
  • Pouvoir limiter le nombre de connections max :
    • Par identifiant
    • Par adresse IP
    • En general (par exemple 5 clients max quel que soit le client)
  • Des commandes du genre : ftpserver restart/shutdown...
  • Une commande qui listerait les clients connecté avec leur IP, leur transfert(s) en cours si il y a, etc.
  • Ban d'IP (et l'inverse : seulement accepter les IP notifiées)
  • Permettre d'attribuer des sons à des actions critiques
  • Un bon fichier log avec quelques options (afficher toute les commandes ou seulement les commandes importantes)
  • Un fichier pour le message d'accueil/de sortie
  • Selectionner le port (21 par défaut)
  • Un systeme de droits sur les rep partagé différent du systeme de droit sur les fichier contenus dans le rep (suis-je clair ?)
  • Pouvoir désactiver un compte sans pour autant le supprimer
  • Choisir le nom du fichier de log selon une chaine de caractere que l'on donne qui peut contenir des variables speciale (par exemple : la date %time% etc.)
  • Pouvoir choisir la langue du fichier de log (pour les anglophobes peut-etre ?)
  • Pouvoir selectionner un timeout a partir duquel le client qui n'a rien fait est kické
Bon, pour l'instant c'est tout ce que je vois, je dis ca vite fait, dès que j'ai des idées, je post bien entendu [img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]

Bon courage

:remouk

Bien en fait je vais essayer de t’aider du mieux possible car je ne suis pas un aussi ardu utilisateur du server qu je ne le suis du client.
 
On va considérer ce tread comme une grosse boite à idées qui formeront le Server FTP de nos rêves.
Bon alors pêle-mêle quelques idées peut être saugrenues ou iréalisables ( non non c’est pas un defi ) Je viendrais en rajouter par la suite quand ces idées appairaitrons tel des pop up sur des sites de C…

Alors dans la Foulée :

  • Un acces à distance de son server FTP via une console ( ecran à distance en 'html' qui permetterais de faire les modifs sans passer par un client Remote Desktop
  • La gestion de groupes pour les utilisteurs (pratique pour creer un Account type et donner mêmes droits à Tel ou Tel utilistateurs(share de Repertoires toujours en communs etc ... ).
  • ....

Avant que j’oublie,

  • ajouter le support SSH.
  • modifier les droits par défaut des fichiers/répertoires créés en fonction des users/groupes.
  • ... (à venir, au gré du vent et des idées)
(La TODO list commence à être grosse )

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

He he … z’etes bien partis, continuez comme ca.
N’hésitez pas a vous “lacher”, même si vous pensez que ce que vous proposez est farfelu ou irréalisable. On fera le tri après .

  • peer to peer de serveurs ftp, un seul ftp permet de récupérer de manière transparente des fichiers quel que soit le ftp sur lequel ils sont
  • gestion évidemment de net start/stop nom_du_service
  • Serveur https intégré pour l'administration via son browser favori
  • Gestion des .sfv et .diz
  • Système de plugins si on veut rajouter des trucs -> gestion d'évènements
  • support des dyndns et autre pour si on a une ip dynamique mais qu'on n'a pas pensé à réinstaller son client dyndns
  • gestion des nuke?
  • système de "messagerie" entre clients (si compte non anonyme)
  • support LDAP ou équivalent pour les comptes utilisateurs
  • connexion sécurisée (SSL/TLS)
  • Gestion des plages de ports à utiliser
bon j'arrête et je vais dormir, demain levage trop trop tôt

Ce message a été édité par ColdFire le 24/05/2003
Ce message a été édité par ColdFire le 24/05/2003
Ce message a été édité par ColdFire le 24/05/2003

Ca commence a venir.

Pour préciser un peu, j’indiques les features que je m’était imposées dès le départ :

  • Service Windows (daemon nux ?)
  • Gestion des utilisateurs par groupes / sous-groupes / sous-sous groupes ...
  • Support des standards FTP (Actif/Passif).
  • Support du FXP, des reprises (REST).
  • Régulations (connexions, débit, logins).
  • Administration distante et donc indépendante du processus serveur.
  • Continuez a poster vos suggestions. Si vous souhaitez participer au développement voyez le thread dans SegFault.

    [quote]

    • peer to peer de serveurs ftp, un seul ftp permet de récupérer de manière transparente des fichiers quel que soit le ftp sur lequel ils sont
    • (...)
    • Serveur https intégré pour l'administration via son browser favori
    Ouais bon euh fo pas abuser non plus [img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]

    [quote]

    • (...)
    • Gestion des .sfv et .diz
    .sfv, je connais, mais .diz ?

    [quote]

    • support des dyndns et autre pour si on a une ip dynamique mais qu'on n'a pas pensé à réinstaller son client dyndns
    • gestion des nuke?
    La,je vois pas trop ce que tu veux dire ....

    Quelques idées en vrac :

    • un système de chat pour tous les gens connectés au serveur en même temps
    • possibilité de se laisser des messages off-line
    • un beau système d’analyse des logs avec tri par nom d’users (avec de belles courbes, oui j’adore ça )

    Gros challenge auquel tu t’atelles, avant de te lancer je serai toi j’irai voir ce qui existe ailleurs, entre autre :

    • BPFTPServer (anciennement G6), qui est un serveur passe partout, pas pénible a configurer et qui offre pas mal de features
      - RaidenFTPD, ultra buggé mais qui dispose d’un nombre de fonctionnalités impressionant
    • ioFTPD, petit nouveau pas mal du tout a ce qu’on m’a dit

    La question c’est est ce que tu peux apporter quelque chose de plus face à ceux la ?

    Quelques features indispensables en plus de ce que tu cites :

    • Un cache mémoire des directorys, fichiers de petite taille (inferieure a une taille donnée ou ayant une extension particulière)
    • Dans l’idéal possibilité d’attribuer n Mo a un cache qui contient en plus des sus mentionnés les fichiers (ou les débuts des fichiers, a toi de voir comment tu t’organise) les plus demandés
    • Scriptable et extensible via dll ou autre prog externe
    • Interraction avec des applis externes via une api

    Je veux pas te saper le moral mais c’est amha indispensable si tu veux faire un serveur utilisable/utilisé.

    Ce message a été édité par C_Wizard le 26/05/2003

    [quote]Gros challenge auquel tu t’atelles, avant de te lancer je serai toi j’irai voir ce qui existe ailleurs, entre autre :

    • BPFTPServer (anciennement G6), qui est un serveur passe partout, pas pénible a configurer et qui offre pas mal de features
      - RaidenFTPD, ultra buggé mais qui dispose d’un nombre de fonctionnalités impressionant
    • ioFTPD, petit nouveau pas mal du tout a ce qu’on m’a dit

    La question c’est est ce que tu peux apporter quelque chose de plus face à ceux la ?

    Quelques features indispensables en plus de ce que tu cites :

    • Un cache mémoire des directorys, fichiers de petite taille (inferieure a une taille donnée ou ayant une extension particulière)
    • Dans l’idéal possibilité d’attribuer n Mo a un cache qui contient en plus des sus mentionnés les fichiers (ou les débuts des fichiers, a toi de voir comment tu t’organise) les plus demandés
    • Scriptable et extensible via dll ou autre prog externe
    • Interraction avec des applis externes via une api

    Je veux pas te saper le moral mais c’est amha indispensable si tu veux faire un serveur utilisable/utilisé.

    Ce message a été édité par C_Wizard le 26/05/2003[/quote]He he he, je crois que tu n’as pas tout a fait compris mon but …
    Je cherches simplement a faire quelquechose GRATUIT et open source (et donc facilement extensible, vu la techno qui sera utilisée) pour le geek moyen qui échange ses fichiers avec ses potes geeks.
    Les servs sus-cités sont (pas donnés et) dans la catégorie du dessus, pour les gros serveurs qui servent des centaines de fichiers a l’heure, et je n’ai pas du tout l’intention de les égaler (sinon, je ne ferais pas ca en open source).

    Ouais dis tu pourrais nous dev un client FTP fiable aussi?? Smart FTP a tendance a merder un peu (il s’arrte en plein milieu des downloads directs (constaté chez 2 potes aussi)

    Pour moi le meilleur client FTP est pas tres connu il s’agit de BitBeamer
    http://www.bitbeamer.com/en/download.html

    il est genial
    tout est bien fait dans ce client.

    si tou pouvais nou programmer ca aussi ca serait vraiment cool

    d’autant que c’est le SEUL qui passe mon firewall et proxy au boulot
    RIEN A CONFIGURER…

    del la balle Tzim prends exemple…

    Mais bon deja finis ton serveur FTP…