Примечание : этот проект был заменен портом Голанга:
Это простая служба, похожая на Pastebin, которая позволяет пользователю отправлять текст, который отформатируется в Markdown, и делиться полученным HTML.
Пользователь загружает Markdown, и доступны как Rendered HTML, так и исходная отметка.
Пользователь сможет удалить контент пост-дозагрузку, если он так пожелает.
Служба использует Redis для настойчивости, но я открыт для идеи использования файловой системы вместо этого, если есть предпочтение.
В дополнение к тому, чтобы redis прислушивался к Localhost, вам понадобятся следующие модули Perl:
:emojis: поддержкаУстановка их на хост Debian GNU/Linux должен быть таким же простым, как:
$ 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
В прошлом мы использовали одно целое число увеличения для хранения всех представлений, которое было основано на 36 для краткости.
Теперь мы переключились на использование UUIDS, что означает, что URL -адреса длиннее, но что удаленный злоумышленник не может составить полный список загруженных документов.
Было бы возможно смешивать обе схемы на неопределенный срок и позволить пользователю выбирать между «нормальным» и «безопасным», но я бы предпочел удалить флажок/комбинированное место и сохранить интерфейс простым.
Развертывание должно быть довольно простым, если вы знакомы с запуском CGI-приложений на основе Perl.
Существует пример файла виртуального хоста Apache2, который документирует переписывания, которые необходимы для того, чтобы приложение запустило чистые URL-адреса.
Кроме того, есть предоставленная Dockerfile, которая позволяет легко создавать контейнер с копией кода проекта в нем. Затем этот контейнер может быть запущен, чтобы дать себе локальный экземпляр приложения в изолированной среде.
В индексе Docker есть предварительно построенный контейнер: