LINUX.ORG.RU
ФорумTalks

GoidaPhone NT Server 1.8 — ищу контрибьюторов для открытого мессенджера (GPL v3)

 ,


0

3

Ищу наставников/контрибьюторов для open-source мессенджера (Python/C++/Qt/KDE)

Я 16-и летний solo-разработчик из России, два года в одиночку пишу GoidaPhone - открытый мессенджер с полноценной экосистемой под лицензией GNU GPL v3.

Что такое GoidaPhone?

Это не просто мессенджер. Это платформа:

  • 💬 Мессенджер с голосовыми звонками, групповыми чатами, демонстрацией экрана
  • 🎵 Встроенный медиаплеер (Mewa)
  • 🌐 Встроенный браузер (WNS) на базе QtWebEngine
  • 🔒 20 слоёв криптографической защиты (X25519, Ed25519, AES-256-GCM, HMAC, replay guard)
  • 🌍 Три режима связи: LAN / VPN / VDS (через goidaphone.ru) / relay
  • 🗣️ Три языка из коробки: RU / EN / JP

Стек: Python + PyQt6, написан с прицелом на KDE 6 / Linux

Ссылки

Чем сейчас занимаюсь

планирую переписать всё на C++ для версии 1.9, параллельно поддерживаю 1.8.

Какая помощь нужна

Буквально любая:

  • Code review - код не идеальный, знаю, буду рад взгляду со стороны
  • Баг репорты - просто попробуйте запустить
  • Контрибьюторы в код - Python, C++, сеть, криптография
  • Тестирование на разных дистрибутивах
  • Идеи и обратная связь

структура проекта

/…

  • gdf.py - точка входа
  • gdf_apps.py - сборник внутренних мини программ
  • gdf_browser.py - QtWebEngine браузер «WNS» встроенный в GoidaPhone
  • gdf_chats.py - логика и оформления чатов
  • gdf_core.py - константы, безопасность, ещё утилиты, уведомления, темы, локализация настройки
  • gdf_dialogs.py - настройки, профили пользователей, звонки, заметки
  • gdf_gcc.py - GC++ это консольный построитель GoidaPhone с включением и отключением модулей и сборки из исходников. включение/отключение ; встраивание python плагинов ; конфигурация через goida.json ; маркировка GC++ для отличия ванильных клиентов от собранных лично
  • gdf_main.py - создание основного окна, быстрая настройка, туториал, точка входа
  • gdf_network.py - история, метка прочитанного сообщения, реакции, обновление GoidaPhone, аудио, протоколы, сеть, отправка/принятие голоса, отправка/принятие файлов
  • gdf_ui_base.py - лаунчер с выбором запуска (GC++/CMD/GUI), экран заставки, анимации, просмотр изображений

Принимаю pull request’ы, issues, форки - всё приветствуется. Проект живой, не заброшен, сам пользуюсь время от времени. Спасибо за внимание

Перемещено ilinsky из development

Ответ на: комментарий от Pixless

Вообще все что протокол и api должно быть cначала и полностью покрыто тестами, т.е. начать надо с того, что просто 90% функционала текущего выкидывается, пока core не будет достаточно стабильной и безопасной. Условно, это только текстовые сообщение и три режима связи, потом уже голосовые сообщения добавлять и снова убеждаться что они работают и безопасны на тестах. Это все должно быть покрыто на 100%. А вот ui к этому всему можно вообще сделать чисто экспериментальный полностью на AI и ждать что кто-то, кто умеет делать интерфейса подтянется в проект. Желательно наверное в одного делать только веб и android фронтенд, т.е. тот который запустится везде, и охватит как можно больше пользователей, так как задача набрать пользователей и как-то дать огласку проекту, это самое сложное. Наверное я бы рекомендовал React Native, чтобы закрыть сразу веб и android, плюс чтобы ИИ сильно не в этом тупил, если нет опыта объяснить ему как нужно делать. Ну и чтобы не распыляться слишком сильно на две экосистемы.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 2)

Вообще как я думаю не изобретай велосипед, бери Signal + Ratchet внутри WebRTC или опционально внутри ws. Этого будет достаточно чтобы обойти DPI.

Также следует почитать: https://noiseprotocol.org/noise.html

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от Pixless

где 30 от нейронки поскольку не всё у меня получается и многое ещё не понимаю.

С таким подходом ты и не начнёшь никогда понимать. Ты даже комментарии тут пишешь с помощью генераторов, так и общаться нормально разучишься / не научишься. Печально это всё.

Если чего-то не понимаешь - изучай а затем только делай.

firkax ★★★★★
()
Ответ на: комментарий от ratvier

не умеет. Можно найти пункт в настройки->для специалистов IPv6 отключён по умолчанию и не умеет обнаруживать и общаться с ними. в коде отфильтровывается

в gdf_network.py есть момент один

if host.startswith("::ffff:"):
    host = host[7:]  # конвертирует в IPv4
Pixless
() автор топика

Давай так. Для начала, ты начнёшь с:

- базового изучения оформления кода и ведения репозиториев

- изучишь лучшие практики структурирования кода

- изучишь как работать с нейросетями так что бы они не гененрировали нейрослоп который ты сам не понимаешь (это сложно, но с опытом научишься)

- изучишь практики написания кода на Python что бы уметь различать откровенный шлак от кода который можно хоть как то поддерживать и уберечь от регрессии

- научишься писать на форумах без использования нейросетей

- создашь приемлемый для восприятия код своего проекта

- придёшь сюда и скажешь, что всё усвоил и теперь можно смотреть по новому

А пока, я перенесу это, с позволения сказать «творение» в Talks и впредь, пока ты не пройдёшь все указанные пункты - твои посты в таком виде как этот будут нещадно сноситься с -20.

И нет, это не кровавая модерастия, а твой шанс не повторить путь уже известных персонажей на весь интернет. А он, как известно, помнит всё. Учись, изучай, читай, и наращивай свои скиллы. На текущий момент, то что ты сюда вылил, не вызывает ничего кроме улыбки, ибо это никуда не годится, ни по качеству кода, ни по подаче. Без обид.

ilinsky ★★★★★
()
Ответ на: комментарий от Pixless

как мне кажется, ИИ хороший помощник

обсудить конкретно по существу мой проект

Ты думаешь, что мы уводим тему из конструктивного русла, но это не так.

Попробуй сейчас ответить на вопрос, почему мы так легко поняли, что то, что ты нам выдал (в т. ч. в комментах) — результат работы БЯМ? (Подсказка: не от впечатлённости высоким уровнем материала.)

BruteForce ★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)