Вы смотрите исходный код чат-движка используемого на сайте https://crawc.net. Вы можете использовать его по своему усмотрению, и также Вам разрешается вносить любые правки в свою версию.
Почитать подробнее о проекте можно тут https://allll.net/wiki/Кравч.
Для того чтобы начать пользоваться моим кодом, вам будет необходимо установить node.js, затем npm, после чего поочередно установить все модули используемые в require. Далее загрузить структуру базы данных из structure.sql. Затем надо исправить основые конфигурации в srv.js и убедиться, что все патчи в контролерах для upload и uploadone соответствуют расположению корневого каталога чата на сервере. Затем сгенерируйте https ключи для сайта и укажите путь к ним в том же srv.js (для генерации ключей рекомендую использовать certbot).
Для запуска сервера выполните одну из этиз команд:
node srv.js
node forever.js
Второй вариант предпочтительнее, так как подразумевает автоматический перезапуск сервера в случае падения.
При возникновении проблем с установкой или настройкой, обращайтесь ко мне через мой профиль на гитхабе или хабре - я отвечу на Ваши вопросы.
Как оказалось, первая версия чата тяжела на подъем, с момента начала разработки обновились многие из используемых пакетов, что приводило к многочисленым ошибкам при выполнении кода в том случае когда версии модулей отличались. Хотя сам сайт crawc.net это коснулось в меньшей степени, потому что код писался под те версии модулей которые там используются, я не мог представить масштабы проблемы, с которой могли столкнуться разработчики. Будем считать это v2-beta: тут пока не всё идеально, но с этим уже можно работать. Вообще, если у вас получилось разобраться в движке в том виде в котором он был изначально, то вряд ли эта новая версия внесет облегчения в вашу жизнь, но вы можете попробовать её, если устанавливаете чат в первый раз, и если она вам подходит, то вы можете начать её использовать, либо дождаться v2-stable...