최근에 새로운 프로젝트의 탄생이 발표되었습니다 응용 프로그램을 개발 중인 사람 분산형 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에 있는 구성 파일에서 이 작업을 수행할 수 있으며 여기에서 매치메이킹 및 릴레이 서버 구성을 수정할 수 있습니다.
마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.