1. Telegram Channel Scrapper
Автор задачи: Lantern
Lantern’s Discover feature scraps content from a lot of sources so it’ll always be available for usage uncensored and to have a backup in case of a takedown.
Make a Telegram channel scraper that either saves the content locally or returns a JSON blob that another service can consume to download the content.
The content in this case are the videos and images for that channel.
Приз 400$
2. Twitter Scraper
Автор задачи: Lantern
In the same spirit as the last challenge, make a scraper for Twitter feeds that, when invoked, makes a PDF of the last 100 tweets from that user. You can also make this an API web service that can be consumed by our backend to easily download the content.
Приз 400$
3. Разработать Docker контейнер с предустановленным jitsi
Автор задачи: AmneziaVPN – это бесплатный сервис для создания личного VPN на вашем сервере. Помогает получать доступ к заблокированному контенту, не раскрывая конфиденциальность даже провайдерам VPN.
Что надо сделать
Разработать Docker контейнер с предустановленным jitsi, и интегрировать контейнер в AmneziaVPN.
Приз 400$
4. Имплементировать функцию VPN для выбранного приложения
Автор задачи: AmneziaVPN
Что надо сделать
Имплементировать функцию VPN для выбранного приложения , для приложения AmneziaVPN под Android или iOS. Данная задача подразумевает знание стека Java/Kotlin для Android, или ObjectiveC/Swift для iOS, а так же базовых знаний c++/Qt.
Приз $1000*
*за каждую платформу — Android и iOS.
5. Create a browser extension
Автор задач: CENO
Create a browser extension (or integrate as an opt-in feature to the CENO extension) that keeps track of the «lifetime» cache size shared, # of peers you’ve shared to, and amount of shared groups.
- Create a «share» toolbar button that pops up to reveal a short, pre-populated yet customizable, social media friendly call-to-action message that an end user can easily copy & paste and brag via social media.
- Something like: «I’ve shared XXX pages and XXX GB of content using CENO for <some motivating reason here>, <to help with..>, <something else?>, visit <some site like sharethewebwithceno.com> and join me.»
- Requirements: ++ (C++, Javascript, HTML)
- Deliverable: A configurable option in Ouinet client that enables persistent count of lifetime cache size and shared groups. A web API to access this feature. A method for controlling and viewing the feature in the CENO Extension.
- Acceptance: Demonstrate that the Ouinet client can keep track of the lifetime cache size and number of shared groups, even after the cache is purged.
- Ideal team size: 2-3
Price paid: $1000
Option: This big task can also be cut into smaller tasks with smaller prizes for each:
Task #1:
create a Ouinet client feature that keeps track of lifetime cache persistently ($500).
Task #2:
add to the web API of the Ouinet client so this feature can be controlled and observed ($250)
Task #3:
use the web API in the CENO Extension to control the feature and display it ($250)
6. Разработать телеграм-бот с вопросами и ответами
Автор задач: На Связи – некоммерческая организация, команда IT-профессионалов, верящих в то, что интернет должен быть свободным и безопасным. Мы помогаем решать любые вопросы цифровой безопасности, от подключения VPN до защиты вашего сайта от атак.
Что надо сделать
Разработать телеграм-бот, предлагающий выбрать вопрос из справочника и присылающий на него ответ, и при необходимости умеющий позвать человека (отправить тикет в сервис деск).
Команда определит техническое задание вместе с ментором на хакатоне.
Приз 600$
7. Телеграм-бот для верификации волонтеров
Автор задач: анонимная задача
Проблема: Сейчас мы верифицируем людей, которые хотят принимать участие в деятельности движения. Верификация важна для нашей безопасности. Желающие связываются с нами в Телеграме, мы просим их оставить свои персональные данные через форму в криптпаде. После верификации мы пишем заявителю в Телеграм. Однако в результате Телеграм банит наши аккаунты, потому что мы рассылаем много одинаковых сообщений.
Решение: Телеграм-бот
Функционал:
— желающий пишет в бот, нажимает на кнопку «хочу стать активисткой»/«хочу стать волонтёркой»
— в зависимости от ответа, бот присылает ссылку на форму в криптпаде
— желающий заполняет её
— бот запоминает tg ID желающего
— нужна интеграция с панелью, через которую можно одобрить человека/сразу несколько человек (и отправить массово сообщение со ссылкой на на приглашение в чат в элементе)
— нужно предусмотреть возможность уточнить недостающую информацию
— хорошо бы на сервере составлять пару tg ID-ссылка криптопада. для безопасности ID можно шифровать, а ссылку иметь в виде «доступна только для команды». может быть, лучше генерировать одинаковую форму в криптпаде для каждого написавшего в бот
— результат должен пройти аудит безопасности
— Django админка, плюс интеграциия с тг питон библиотекой
Приз $500
Где посмотреть другие задачи
Все 26 задач объединены в 4 группы по навыкам, которые требуются для их реализации. Все задачи можно посмотреть по ссылке.