P2P 채팅을 만드는 커뮤니케이션 클라이언트, Chitchatter

P2P 커뮤니케이션 도구 chitchatter

Chitchatter는 중앙 서비스 운영자가 없고 통신 데이터를 저장하지 않도록 설계되었습니다.

최근에 새로운 프로젝트의 탄생이 발표되었습니다 응용 프로그램을 개발 중인 사람 분산형 P2P 채팅 생성, 참가자가 중앙 집중식 서버에 액세스하지 않고 서로 직접 상호 작용합니다.

이 프로젝트의 이름은 잡담 프로그램은 브라우저에서 실행되는 웹 응용 프로그램으로 설계되었으며 코드는 다음과 같습니다. TypeScript로 작성되었으며 GPLv2 라이선스에 따라 배포됩니다.

잡담 소개

잡담 오픈 소스 커뮤니케이션 도구입니다, 보안 및 개인 정보 보호를 염두에 두고 설계되었습니다.

PXNUMXP 연결을 설정하려면 일부 서비스가 필요하지만 응용 프로그램은 직접적인 PXNUMXP 통신을 기반으로 합니다. 가능한 한 많이. 앱에서 사용하는 서비스는 Chitchatter 프로젝트와 관련이 없으며 모든 사람이 사용할 수 있도록 공개적으로 제공됩니다.

신청 고유한 채팅 ID를 생성할 수 있습니다. 채팅을 시작하기 위해 다른 참가자와 공유할 수 있습니다. WebTorrent 프로토콜을 지원하는 모든 공용 서버를 사용할 수 있습니다. 채팅 연결을 협상합니다.

연결이 협상되면 WebRTC 기술을 사용하여 사용자를 연결하는 직접 암호화된 통신 채널이 생성됩니다. 이 기술은 STUN 및 TURN 프로토콜을 사용하여 주소 변환기(NAT) 뒤에서 작동하는 노드에 액세스하고 기업 방화벽을 우회하는 즉시 사용 가능한 수단을 제공합니다.

Chitchatter는 완전히 클라이언트 측 통신 응용 프로그램입니다. 필요한 통신을 위해 범용 외부 WebTorrent 및 STUN/TURN 서버를 사용하지만 Chitchatter API 서버는 없습니다.

내부 기능 프로젝트 리포지토리에서 눈에 띄는 항목은 다음과 같습니다.

  • 완전 오픈 소스(GPL v2 라이선스)
  • P2P
  • 가능한 경우 신뢰할 수 있는 PXNUMXP 연결을 보장하기 위해 Open Relay가 사용됩니다.
  • 암호화(WebRTC를 통해)
  • 서버가 필요하지 않습니다
  • 공개 WebTorrent 서버는 초기 PXNUMXP 핸드셰이킹에만 사용됩니다.
  • 임시
  • 메시지 내용은 디스크에 보존되지 않습니다.
    탈 중앙화
  • API 서버가 없습니다. Chitchatter가 작동하는 데 필요한 것은 정적 자산을 위한 GitHub와 PXNUMXP 통신을 위한 공개 WebTorrent 및 STUN/TURN 릴레이 서버의 가용성입니다.
  • 자체 호스팅
  • 분석, 추적 또는 원격 측정이 없습니다.
  • Chitchatter는 Create React 앱으로 시작되었습니다. 보안 네트워크의 마법은 Trystero 없이는 불가능합니다.

언급 할 가치가 있습니다. 대화 내용은 디스크에 저장되지 않습니다 응용 프로그램을 닫은 후 손실됩니다. 채팅할 때 마크다운 마크업을 사용하고 미디어 파일을 임베드할 수 있습니다.

향후 계획에는 암호로 보호된 채팅, 음성 및 영상 통화, 파일 공유, 입력 프롬프트, 새 구성원이 채팅에 참여하기 전에 게시된 메시지를 볼 수 있는 기능이 포함됩니다.

이 프로젝트에 대해 테스트하거나 배울 수 있는 데 관심이 있는 사람들은 다음 링크.

나만의 Chitchatter 채팅 호스트

프로젝트를 자체 호스팅하는 데 관심이 있는 사람들은 아래 공유된 지침을 따라야 합니다. 가장 먼저 할 일은 소스 코드를 얻는 것입니다. 다음 링크.

GitHub 페이지에서 Chitchatter를 호스팅하려는 경우 파일을 변경해야 합니다. package.json의 속성 Chitchatter 인스턴스가 호스팅되는 모든 URL. 이것은 https://github_user_or_org_name.github.io/chitchatter/와 같을 것입니다.

그런 다음 GitHub 작업 비밀 키를 정의해야 합니다( https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions).

그리고 이를 통해 GitHub 페이지에서 호스팅되고 위의 구성이 완료되면 프로덕션 환경이 업데이트됩니다.

런타임 구성의 경우 /src/config에 있는 구성 파일에서 이 작업을 수행할 수 있으며 여기에서 매치메이킹 및 릴레이 서버 구성을 수정할 수 있습니다.

마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.