Здравейте! Имам две идеи за проект, все свързани с p2p file sharing.
- Gnutella client
- BitTorrent client
Следвайки вашите насоки, клоня повече към втората идея. Друг фактор е, това че Gnutella вече е остарял протокол. Търсих подобни проекти и изглежда за gnutella има един читав (sourabhdesai/gotella), който използва стара версия на протокола.
Колкото до торент клиета, видях няколко такива. Повечето са недовършени и има място за подобрение. Не мисля да имплемтирам целия BitTorrent протокол, тъй като вече има добри библиотеки за това (jackpal/Taipei-Torrent, anacrolix/torrent). Ще пробвам да поддържам magnet link-ове, multiple торенти с приоритет на файловете, ограничение на броя връзки и скоростта, избиране на директория за изтеглените и теглещите се файлове, автоматично добавяне на торенти и избиране на порт за входящите връзки. Ако остане време за това бих искал да добавя поддръжка на DHT, PeX и теглене през proxy.
За интерфейс не съм сигурен какво да ползвам и се надявам да препоръчате GUI библиотека или някаква алтернатива на такава.