Nota : Este proyecto ha sido reemplazado por un puerto de Golang:
Este es un servicio simple similar a Pastebin que permite a un usuario enviar un texto que está formateado en Markdown y comparta el HTML resultante.
Un usuario sube Markdown y tanto el HTML renderizado como el Markdown original están disponibles.
El usuario podrá eliminar el contenido posterior a la esparea, si así lo desea.
El servicio utiliza Redis para la persistencia, pero estoy abierto a la idea de usar el sistema de archivos si hay una preferencia.
Además de tener redis escuchando sobre localhost, necesitará los siguientes módulos PERL:
:emojis: soporteInstalarlos en un host de Debian GNU/Linux debe ser tan simple como:
$ apt-get install libossp-uuid-perl libjson-perl libhtml-template-perl
libmath-base36-perl libredis-perl libtext-multimarkdown-perl
perl perl-modules libcgi-application-perl libcgi-session-perl
libhtml-parser-perl
En el pasado utilizamos un único entero de incremento para almacenar todas las presentaciones, que estaba codificada por Brevity Base36.
Ahora hemos cambiado a usar UUID, lo que significa que las URL son más largas, pero que no es posible que un atacante remoto arraiga la lista completa de documentos cargados.
Hubiera sido posible mezclar ambos esquemas indefinidamente, y permitir que el usuario elija entre "normal" y "seguro", pero prefiero eliminar una casilla de verificación/Combobox y mantener la interfaz simple.
La implementación debe ser bastante sencilla si está familiarizado con la ejecución de aplicaciones CGI basadas en Perl.
Hay una muestra de un archivo de huésped virtual APACHE2 proporcionado, que documenta las reescrituras que se requieren para que la aplicación se ejecute con URL limpias.
Además, hay un DockerFile proporcionado, que le permite construir fácilmente un contenedor con una copia del código del proyecto dentro de él. Este contenedor se puede lanzar para darse una instancia local de la aplicación en un entorno aislado.
Hay un contenedor preconstruido disponible en el índice Docker: