Servidor FTP programado en Python por mí

Iniciado por sm1204, 12 Agosto 2011, 17:52 PM

0 Miembros y 1 Visitante están viendo este tema.

sm1204

    Hola, les comparto un servidor FTP de código abierto que empezé a programar, que hace poco más de un mes lo empezé yo lo terminé ayer.
    No pretendo que lo usen, pero me gustaría, si quieren, que lo descarguen y opinen que les parece, ya me costó bastante hacerlo, sobretodo porque todo el código fue escrito solamente por mí(800 líneas, en la librería principal).
    Si les gusta(y creo si no que también ;D) escribiré servidores de otros protocolos con el mismo estilo.

    Soporta multiusuario, cuentas anónimas, creación de plugins y comandos SITE, opción de permitir FTP Bounce(desactivada por defecto) para que hagan sus pruebas, y configuración personalizada de mensajes de error, entre otras cosas interesantes.

    Link de la página para descargar:
    http://sh4r3m4n.webcindario.com/mipserv/

Citar Citar
<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com

madpitbull_99

Acabo de probarlo:



Cuando intento autenticarme, no me deja introducir ningún comando, solo con pulsar alguna tecla, ya sale el mensaje de error:







«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

sm1204

Cita de: madpitbull_99 en 12 Agosto 2011, 22:38 PM
Acabo de probarlo:



Cuando intento autenticarme, no me deja introducir ningún comando, solo con pulsar alguna tecla, ya sale el mensaje de error:





gracias por avisarme, el programa procesa los datos mal, ahora lo arreglo, mientras tanto usá netcat o un cliente FTP
<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com

sm1204

listo, ya lo arreglé, si te interesa en el archivo con los cambios de la nueva versión te incluyo si me pasas tu mail y el nick con el que queres figurar, y después lo subo
<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com

madpitbull_99

No sé si habrás arreglado el bug, pero acabo de probarlo y sigue igual (he seguido usando la consola).

Sugerencias para la siguiente versión:

  • Una vez iniciado el server, si se pulsa CTRL+C (con ésta combinación si funciona) o CTRL+Z que se cierre el proceso.
  • Al iniciar el servidor que muestre algún mensaje informativo, tipo: "Mipserv is starting up.... [Ok]
  • Ejecutar el servicio como Daemon.
  • Después de cerrar/apagar el script, parece que no libera bien el puerto (supongo que no cierra el socket). Muestra un error que dice: "Error al escuchar por el puerto 123".
  • Al enviar el comando LIST parece que el servidor no responde. Tiene algo que ver con el modo pasivo.



Aún tienes que afinarlo un poco más.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

sm1204

Lo de que con cada letra te daba un error 500 lo arregle, pero no lo subí todavía. Y lo de que no anda el comando LIST es porque en al archivo de configuración de server_show_actions.py le falta el prarametro permitir_bounce en el array de configuración. La solución es agregarla y volver a correr el servidor, o usar server.py que tiene esta variable
<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com

sm1204

Acabo de subir la versión 1.1 beta con algunos cambios, si la quieren descargar entren al sitio del proyecto indicado en el primer mansaje del tema.
madpitbull_99 si queres en la versión estable te doy los créditos de las sugerencias que me hiciste(igual lo del daemon todavía no lo hice, y el mensaje informativo ya hay)
<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com

madpitbull_99

Sigue sin liberar el puerto después de cerrar el programa.

Supongo que con socket.close() debería bastar. Aunque a veces parece que lo libera bien.

Citarmadpitbull_99 si queres en la versión estable te doy los créditos de las sugerencias que me hiciste

No hace falta, yo sólo hice las sugerencias, eres tú el que las ha implementado.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

sm1204

<<Un problema que no tiene solución ya no es un problema>>
Twitter: http://twitter.com/sh4r3m4n
Blog: http://licenciaparahackear.wordpress.com