@ramyashreeshetty에서 제공하는 로고
Chitchatter는 무료 (가격과 자유 모두에서와 같이) 커뮤니케이션 도구입니다. 다른 사람들과 개인적으로 그리고 안전하게 연결하는 가장 간단한 방법으로 설계되었습니다.
Chitchatter는 Vite를 사용합니다. Trystero가 없으면 안전한 네트워킹 및 스트리밍 마법은 불가능합니다. 파일 전송 기능은 secure-file-transfer 에 의해 구동됩니다.
https://chitchatter.im/를 열고 방에 가입하여 방에있는 다른 사람과 채팅을 시작하십시오. 기본적으로 객실 이름은 클라이언트면에서 생성되는 임의의 UUID입니다. 누군가와 개인적으로 의사 소통하려면 무작위로 생성 된 객실 중 하나에 가입하고 (페이지 상단의 "?"버튼을 통해) URL을 공유하는 것이 좋습니다. 귀하의 사용자 이름은 귀하에게 제공되며, 미리 채팅 할 사람과 공유하는 것이 좋습니다.
iframe 통해 다른 웹 앱에 포함됩니다.react-markdown 통한 Markdown 지원.shift 및 enter 누르십시오).사용 가능한 사용자 친화적 인 채팅 앱은 부족하지 않지만 커뮤니케이션을 용이하게하기 위해 중앙 서비스에 의존합니다. 상업적 이익과 정부의 압력으로 인해 서비스 운영자가 사용자의 최선의 이익에 대항하여 일하도록 강요 할 수 있기 때문에 이러한 중앙 서비스를 신뢰하는 것은 어렵습니다. 서비스 운영자가 사용자 데이터를 선의로 처리하더라도 휴식 중에 유지 된 암호화 된 데이터는 사용자의 의지에 대해 해독 될 수 있습니다.
Chitchatter는 웹 메쉬 아키텍처로 이러한 위험을 중심으로 설계됩니다. 통신 데이터를 저장하거나 잠재적으로 구매하는 중앙 서비스 운영자는 없습니다. 일부 서비스는 동료 간의 초기 연결을 설정해야하지만 앱은 모든 것에 직접 피어 투 피어 커뮤니케이션을 사용합니다. Chitchatter가 사용하는 모든 서비스는 프로젝트와 관련이 없으며 모든 사람이 사용할 수있는 공개적으로 제공됩니다.
Chitchatter는 다음을위한 개인적이고 안전한 솔루션을 제공합니다.
나는 Chitchatter 기능이 제대로 불완전하다고 생각합니다. 개인적으로 필요한 모든 작업을 수행합니다. 앞으로 상당한 기능을 추가 할 구체적인 계획이 없지만 당시에는 재미있는 것처럼 보일 수 있습니다. 보고 된 중요한 버그를 수정하기 위해 최선을 다하고 있으므로 문제를 발견하면 문제를여십시오! 그 외에도 Chitchatter는 가까운 미래의 유지 보수 모드에 있습니다.
기능을 구현하고 개발 비용을 지불하기 위해 개발 비용을 지불하려는 경우 기능을 설명하는 GitHub 문제를 제출하고 작업을 기꺼이 보상 할 것임을 나타냅니다. 지불하지 않으려면 Github 문제를 열어주십시오. 재미있게 보이면 구현할 수 있지만, 커뮤니티의 다른 구성원은 풀 요청을 통해이를 구현하기 위해 한 단계 더 나아갈 수 있습니다.
나는 항상 다른 사람들의 시간 지원 풀 요청을 만들 것입니다. Chitchatter를 향상시키기 위해 일을 기꺼이 넣으려면, 나는 함께 일하고 그것을 배송하는 목자를 기꺼이 도와 줄 것입니다.
프로젝트의 방향에 동의하지 않으면 Fork Chitchatter에 오신 것을 환영합니다.
귀하의 요구에 대해 Chitchatter의 유료 설치 및 사용자 정의를 기꺼이 할 의향이 있습니다. 당신이 당신을 위해 구축 된 Chitchatter 버전을 만들기 위해 저와 계약을 맺고 싶다면 [email protected]으로 이메일을 보내 주시고 시작하기 위해 무엇을 염두에두고 있는지 알려주십시오.
Chitchatter의 보안 모델의 핵심은 그것이 완전히 오픈 소스라는 사실입니다. 프로젝트 소스 코드 및 인프라를 완전히 감사 할 수있는 무료 (및 장려). 소스 코드는 GPL의 용어에 따라 사용할 수있을뿐만 아니라 모든 빌드 로그도 공개적으로 액세스 할 수 있습니다.
https://chitchatter.im/에서 호스팅 된 앱이 Github에서 호스팅되는 앱인지 확인하려면 dig 사용할 수 있습니다.
$ dig chitchatter.im
; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> chitchatter.im
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61332
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;chitchatter.im. IN A
;; ANSWER SECTION:
chitchatter.im. 231 IN CNAME jeremyckahn.github.io.
jeremyckahn.github.io. 231 IN A 185.199.111.153
jeremyckahn.github.io. 231 IN A 185.199.110.153
jeremyckahn.github.io. 231 IN A 185.199.109.153
jeremyckahn.github.io. 231 IN A 185.199.108.153
최종 사용자에게 제공되는 정적 자산을 조사하려면 gh-pages 지점을 감사 할 수 있습니다.
여기에서 전체 티켓 백 로그를 참조하십시오.
공식 Chitchatter SDK를 사용하여 <chat-room /> 이라는 웹 구성 요소로 앱을 포함시킬 수 있습니다.
< script src =" https://chitchatter.im/sdk.js " > </ script >
< chat-room /> <chat-room /> 구성 요소는 다음과 같은 선택적 속성을 지원합니다.
room : 사용자가 가입 해야하는 Chitchatter Room의 이름. 기본값은 임베딩 페이지의 URL입니다.user-name : 사용자의 친숙한 이름 (변경할 수 있음).user-id : 사용자의 정적 ID. 기본값은 임의의 UUID입니다.root-url : 사용할 chitchatter 인스턴스의 URL. 기본값은 https://chitchatter.im/ 입니다.color-mode : light 거나 dark . 기본값은 dark .play-message-sound : 창에 초점을 맞추지 않는 동안 사용자가 메시지를받을 때 소리를 재생할지 여부. 기본값은 false 입니다. 뿐만 아니라 다음 표준 <iframe /> 속성 :
heightwidthstylereferrerpolicysandbox 중요한
현재 Chitchatter는 Linux 및 MacOS와 같은 *NIX 시스템에서만 개발 될 수 있습니다. Windows를 사용하는 경우 WSL을 사용하여 Linux 환경을 설정할 수 있습니다.
Chitchatter를 변경하려면 Github에서 소스 코드를 복제하십시오. 노드와 NPM이 설치되어 있는지 확인하십시오. 그런 다음 프로젝트 디렉토리에서 실행하십시오.
npm install
이것은 모든 종속성을 설치합니다.
프로젝트 디렉토리에서는 다음을 실행할 수 있습니다.
npm dev전체 스택 (클라이언트 + WebTorrent 추적기)을 로컬로 실행합니다.
npm start개발 모드에서 프론트 엔드 앱을 실행합니다. 공개 WebTorrent 추적기를 사용합니다. 브라우저에서 http : // localhost : 3000을 엽니 다.
변경하면 페이지가 다시로드됩니다. 콘솔에 보풀 오류가 표시 될 수도 있습니다.
npm test대화식 시계 모드에서 테스트 러너를 시작합니다.
npm run build dist Folder에 생산을위한 앱을 구축합니다. 생산 모드에서 올바르게 반응하고 최상의 성능을 위해 빌드를 최적화합니다.
빌드는 미니어지고 파일 이름에는 해시가 포함됩니다.
Chitchatter는 포크와 자조로 설계되었습니다. 페어링 또는 릴레이 서버 구성을 변경하려고하거나 자신의 빌드 및 버전을 제어하는 것이 좋습니다.
중요한
Chitchatter 피어 연결은 인스턴스의 도메인에 바인딩됩니다. 따라서 https://chitchatter.im/의 Chitchatter 사용자는 다른 도메인 (예 : 개인 Github 페이지 호스팅 포크)의 Chitchatter 인스턴스 사용자에게 연결할 수 없습니다.
Github 페이지에서 Chitchatter를 호스팅한다고 가정합니다.
homepage 속성을 package.json 의 chitchatter 인스턴스를 호스팅 할 URL로 변경하십시오. 이것은 https://github_user_or_org_name.github.io/chitchatter/ 와 같은 것입니다.DEPLOY_KEY github action secret을 정의하십시오 ( https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions ). 자세한 내용은 peaceiris/actions-gh-pages 의 문서를 참조하십시오.vite.config.ts 의 base 속성으로 리포지트 이름을 정의해야합니다. 다음은 어떻게 보이는지에 대한 예입니다. const config = ( ) => {
return defineConfig ( {
base : '/chitchatter/' ,
build : {
...
} GitHub 페이지에서 호스팅되고 위의 구성이 완료되면 원격 main 지점이 업데이트되면 프로덕션 환경이 업데이트됩니다 (GitHub 작업이 활성화되면).
npm run build 로 앱을 빌드 한 다음 dist Directory를 제공하십시오. 안전한 컨텍스트를 사용하는 경우 모든 정적 파일 서빙 솔루션이 작동해야합니다.
페어링 및 릴레이 서버 구성을 수정하려면 src/config 의 파일을 탐색하십시오.
Chitchatter는 주목할만한 MUI 구성 요소 라이브러리를 사용합니다. 쉘 테마 정의를 수정하여 Chitchatter의 모양과 느낌을 사용자 정의 할 수 있습니다.
사용자 정의 Chitchatter 설치와 관련된 문제가 발생하면 먼저 최신 버전의 코드를 사용하고 있는지 확인하십시오. GitHub 페이지로 설치를 주최하는 경우 gh-pages 지점이 아닌 main 지점을 동기화하십시오. main 브랜치를 업데이트하면 gh-pages 지점의 적절한 재건이 트리거됩니다.
이것은 다양한 이유로 일어날 수 있습니다. 가장 가능성있는 것은 하나 이상의 피어가 직접 연결할 수 없으며 구성된 스턴/턴 릴레이를 폴백으로 사용해야한다는 것입니다. 표준 릴레이는 무료이며 서비스 수준을 보장하지 않으므로 한동안 이용할 수 없거나 일부 사용자에게는 전혀 작동하지 않을 수 있습니다. 다시 구할 수있을 때까지 기다리거나 다른 장치 나 위치에서 시도하는 것 외에는 할 일이 많지 않습니다.
일부 AD 차단제 (예 : Ublock Origin)는 특정 WebTorrent 서버에 대한 연결을 방지합니다. 이것은 Chitchatter Peers가 연결을 방지하지 못하게합니다. 이 문제를 해결하려면 광고 차단기를 비활성화하거나 자신의 Chitchatter 인스턴스를 자체 주최 할 수 있습니다.
Chitchatter는 iOS Safari에서 작동하지만 브라우저 수준의 버그는 종종 브라우저가 닫히고 나중에 다시 열릴 때 (예 : 응용 프로그램을 전환 할 때) 동료가 방에 다시 합류하는 것을 방해합니다. 이 문제에 대한 제안 된 해결 방법은 페이지를 새로 고쳐서 방에 다시 합류하는 것입니다.
#36에 따라 about:config 설정을 확인하고 media.peerconnection.enabled 활성화되어 있는지 확인하십시오.
Chitchatter는 streamsaver.js를 사용하여 큰 파일 전송을 용이하게합니다. FDM과 같은 다운로드 관리자는 Streamsaver.js를 방해하는 것으로 알려져 있으므로 파일을 수신하려고 할 때 이러한 다운로드 관리자를 비활성화하는 것이 좋습니다.
Chitchatter는 잠재적 인 취약점을 식별하고 해결하기 위해 주간 보안 감사를받습니다. 모든 감사의 보고서는 문제 에서 찾을 수 있습니다.
Chitchatter를 사용함으로써 귀하는 사용과 관련된 귀하의 행동에 대한 모든 책임을 수락하는 데 동의합니다. 또한 귀하는 귀하의 사용 결과를 담당하는 Chitchatter 프로젝트에 기고자를 보유 하지 않기로 동의합니다. Chitchatter의 개발자는 불법 활동을지지하지 않습니다.