Nota : Este projeto foi substituído por uma porta de Golang:
Este é um serviço simples do tipo pastebin que permite que um usuário envie o texto formatado no Markdown e compartilhe o HTML resultante.
Um usuário carrega o Markdown e o HTML renderizado e o Markdown original estão disponíveis.
O usuário poderá excluir o conteúdo pós-upload, se assim o desejar.
O serviço usa Redis para persistência, mas estou aberto à idéia de usar o sistema de arquivos, em vez disso, se houver uma preferência.
Além de ter redis ouvindo localhost, você precisará dos seguintes módulos Perl:
:emojis: suporteInstalá -los em um host GNU/Linux Debian deve ser tão simples quanto:
$ 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
No passado, usamos um único número inteiro de incremento para armazenar todas as submissões, que era codificada por Base36 para a brevidade.
Agora, mudamos para o uso de UUIDs, o que significa que os URLs são mais longos, mas não é possível que um invasor remoto aranha a lista completa de documentos enviados.
Teria sido possível misturar ambos os esquemas indefinidamente e permitir que o usuário escolha entre "normal" e "seguro", mas prefiro remover uma caixa de seleção/ComboBox e manter a interface simples.
A implantação deve ser bem direta se você estiver familiarizado com a execução de aplicativos CGI baseados em PERL.
Há um exemplo de arquivo de host virtual Apache2 fornecido, que documenta as reescritas necessárias para fazer o aplicativo ser executado com URLs limpos.
Além disso, há um Dockerfile fornecido, que permite criar facilmente um contêiner com uma cópia do código do projeto dentro dele. Este contêiner pode ser lançado para fornecer uma instância local do aplicativo em um ambiente isolado.
Há um recipiente pré-criado disponível no índice do Docker: