Chitchatter, een communicatieclient om P2P-chats te maken

chitchatter, een p2p-communicatietool

Chitchatter is ontworpen om geen centrale service-operator te hebben en nooit communicatiegegevens op te slaan.

onlangs de geboorte van een nieuw project werd aangekondigd voor wie is een applicatie aan het ontwikkelen? maak gedecentraliseerde P2P-chats, waarvan de deelnemers rechtstreeks met elkaar communiceren zonder toegang tot gecentraliseerde servers.

De naam van dit project is kletsen en het programma is ontworpen als een webtoepassing die in een browser wordt uitgevoerd, de code is geschreven in TypeScript en wordt gedistribueerd onder de GPLv2-licentie.

Over Chitchat

kletsen is een open source communicatietool, die is ontworpen met het oog op veiligheid en privacy.

Sommige services zijn vereist om een ​​peer-to-peer-verbinding tot stand te brengen, maar de applicatie is gebaseerd op directe peer-to-peer communicatie zo veel mogelijk. De services die door de app worden gebruikt, zijn niet gekoppeld aan het Chitchatter-project en zijn openbaar beschikbaar voor iedereen.

Toepassing maakt het mogelijk om een ​​unieke chat-ID te genereren die kunnen worden gedeeld met andere deelnemers om te beginnen met chatten. Elke openbare server die het WebTorrent-protocol ondersteunt, kan worden gebruikt om te onderhandelen over een chatverbinding.

Zodra de verbinding tot stand is gebracht, worden directe gecodeerde communicatiekanalen gecreëerd die gebruikers met elkaar verbinden met behulp van WebRTC-technologie, die kant-en-klare middelen biedt voor toegang tot knooppunten die achter adresvertalers (NAT's) werken en bedrijfsfirewalls omzeilen met behulp van de STUN- en TURN-protocollen.

Chitchatter is een volledig client-side communicatietoepassing. Het maakt gebruik van externe WebTorrent- en STUN/TURN-servers voor algemene doeleinden voor de noodzakelijke communicatie, maar er is geen Chitchatter API-server.

Binnen functies die opvallen in de projectrepository, worden genoemd:

  • Volledig open source (licentie onder GPL v2)
  • P2p
  • Waar mogelijk, anders wordt Open Relay gebruikt om een ​​betrouwbare peer-to-peer-verbinding te garanderen
  • Versleuteling (via WebRTC)
  • Vereist geen server
  • Openbare WebTorrent-servers worden alleen gebruikt voor initiële peer-to-peer handshaking
  • Vluchtig
  • Berichtinhoud wordt nooit op schijf bewaard
    gedecentraliseerd
  • Er is geen API-server. Het enige dat nodig is om Chitchatter te laten werken, is de beschikbaarheid van GitHub voor statische activa en openbare WebTorrent- en STUN/TURN-relayservers voor peer-to-peer-communicatie.
  • zelf-hosting
  • Geen analyse, tracking of telemetrie.
  • Chitchatter begon met de Create React-app. De magie van beveiligde netwerken zou niet mogelijk zijn zonder Trystero.

Dat is het vermelden waard de inhoud van het gesprek wordt niet op schijf opgeslagen en gaat verloren na het sluiten van de applicatie. Tijdens het chatten kunt u Markdown-markeringen gebruiken en mediabestanden insluiten.

Toekomstplannen omvatten met een wachtwoord beveiligde chats, spraak- en video-oproepen, het delen van bestanden, het typen van prompts en de mogelijkheid om berichten te bekijken die zijn gepost voordat een nieuw lid aan de chat deelnam.

Voor degenen die geïnteresseerd zijn om dit project te testen of er meer over te weten te komen, kunnen ze de demo proberen die wordt aangeboden in de volgende link.

Host je eigen Chatchatter-chat

Voor degenen die geïnteresseerd zijn om het project zelf te kunnen hosten, moeten ze de onderstaande instructies volgen. Het eerste is om de broncode te krijgen, wat u kunt doen vanaf de volgende link.

Ervan uitgaande dat u van plan bent om Chitchatter op GitHub-pagina's te hosten, moet u het bestand wijzigen eigenschap in package.json naar elke URL van waaruit de instantie van Chitchatter wordt gehost. Dit zal zoiets zijn als https://github_user_or_org_name.github.io/chitchatter/.

Daarna moet een geheime GitHub-actiesleutel worden gedefinieerd (in https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions).

En hiermee, wanneer het wordt gehost op GitHub-pagina's en de bovenstaande configuratie is voltooid, wordt de productieomgeving bijgewerkt.

Wat betreft de runtime-configuratie, je kunt dit doen in de configuratiebestanden in /src/config en hier kun je de matchmaking en de relay-serverconfiguratie wijzigen.

Ten slotte, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.