Нам нужны твои мозги

Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.

На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решение.

Фронт: Перенести проверку протокола в клиент Logux

Для новичков, задача на пару дней

Нужно добавить на клиент предупреждение о нешифрованом веб-сокете в продакшене. Убрать эти ограничения на сервере.

Польза: принять участие в разработке Logux и разобраться с его внутренним устройством.

Веб-сокеты практически бессмысленно использовать без шифрования — старые прокси будут резать непонятный им трафик. Использование WebSockets поверх TLS (wss://) решает проблемы со старыми прокси.

Чтобы пользователи потом не жаловались, мы принуждаем их сразу использовать wss:// в продакшене. Но текущая проверка протокола на стороне сервера не очень оправдана — TLS часто реализуется на уровне nginx.

  1. Форкнуть logux-client.
  2. Выводить подробное предупреждение, если адрес сервера использует ws:// вместо wss:// а домен не равен 127.0.0.1, localhost, ip6-localhost, ::1 и не размещен в зоне .dev.
  3. Перед выводом предупреждения проверять, что в браузере есть console.warn.
  4. Добавить тесты, создав mock на console.warn.
  5. Форкнуть logux-server.
  6. Убрать проверку SSL is required in production mode.