@ramyashreeshetty提供的徽标
Chitchatter是一种免费的(在价格和自由中)的沟通工具。设计为与他人私下和安全建立联系的最简单方法,是:
Chitchatter使用Vite。没有trystero,安全的网络和流魔法是不可能的。文件传输功能由secure-file-transfer提供动力。
打开https://chitchatter.im/并加入一个房间,开始与房间里的其他人聊天。默认情况下,房间名称是生成客户端的随机UUID。要与某人私下通信,建议加入这些随机生成的房间之一,并共享网址(通过页面顶部的“?”按钮),以通过选择的安全介质(例如燃烧器注释或Yopass)与您进行通信的任何人。您的用户名将向您展示,并且可以与您事先与您聊天的人分享,以便他们知道他们正在与您交谈。
iframe嵌入其他Web应用程序。react-markdown支持降级支持。shift并按enter )。不乏可用的用户友好聊天应用程序,但它们依靠中央服务来促进通信。很难信任这些中央服务,因为商业利益和政府压力可以迫使服务运营商违反用户的最大利益。即使服务运营商真诚地处理用户数据,仍有可能根据用户的意愿解密剩余的加密数据。
通过网网格体系结构围绕这些风险进行设计。没有中央服务运营商存储或可能发生不当通信数据。需要一些服务来建立同行之间的初始连接,但是该应用程序对所有事物都使用直接的点对点通信。 Chitchatter使用的任何服务都与该项目没有关联,并且可以公开使用。
Chitchatter提供了一个私人且安全的解决方案:
我认为Chitchatter功能完全完整,它可以完成我个人需要做的所有事情。我没有具体的计划来将来添加重大功能,但是如果当时对我来说似乎很有趣,我可能会这样做。我致力于修复报告的任何重要错误,因此,如果您发现一个问题,请打开一个问题!除此之外,在可预见的将来,Chitchatter有效地处于维护模式。
如果您希望实施一项功能并愿意支付开发费用以确保完成,请提交描述该功能的GitHub问题,并表明您愿意赔偿这项工作。如果您不愿付款,请开一个GitHub问题。如果这样做似乎很有趣,我可能会实现它,但是社区的其他成员也可以通过拉动请求加紧实施它。
我将始终从他人那里提出时间支持请求。如果您愿意进行改善居民的工作,我愿意帮助牧羊人一起运行并运送它。
如果您不同意该项目的方向,欢迎您参加Fork 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将应用程序嵌入为Web组件,称为<chat-room /> 。
< script src =" https://chitchatter.im/sdk.js " > </ script >
< chat-room /> <chat-room />组件支持以下可选属性:
room :用户应加入的牢房室的名称。默认值是嵌入页面的URL。user-name :用户的友好名称(他们可以更改)。user-id :用户的静态ID。默认值是一个随机的uuid。root-url :要使用的Chitchater实例的URL。默认值是https://chitchatter.im/ 。color-mode : light或dark 。默认值是dark 。play-message-sound :当用户在窗口不集中时收到消息时,是否播放声音。默认值是false 。以及以下标准<iframe />属性:
heightwidthstylereferrerpolicysandbox 重要的
目前只能在诸如Linux和MacOS之类的 *NIX系统上开发Chitchatter。如果使用Windows,则可以使用WSL设置Linux环境。
为了更改Chitchatter,请从GitHub中克隆源代码。确保您安装了节点和NPM。然后在项目目录中运行:
npm install
这将安装所有依赖关系。
在项目目录中,您可以运行:
npm dev在本地运行整个堆栈(客户端 + WebTorrent跟踪器)。
npm start在开发模式下运行前端应用程序。使用公共WebTorrent跟踪器。打开http:// localhost:3000在浏览器中查看。
进行更改时,该页面将重新加载。您可能还会在控制台中看到任何棉绒错误。
npm test在交互式手表模式下启动测试跑者。
npm run build将应用程序构建到dist文件夹中。它正确地捆绑了在生产模式下进行反应,并优化构建以获得最佳性能。
构建被缩小,文件名包括哈希。
Chitchatter设计为分叉和自主。如果您想更改配对或继电器服务器配置,或者您希望控制自己的构建和版本,请订购此存储库并按照以下步骤操作。
重要的
核心对等连接绑定到实例的域。因此,https://chitchatter.im/的Chitchatter的用户将无法连接到另一个域上的chitchatter实例的用户(例如个人github页面托管)。
假设您在Github页面上托管了Chitchatter:
package.json中的homepage属性更改为将托管您的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目录。任何静态文件服务解决方案都应使用,只要它使用安全上下文。
探索src/config中的文件以修改配对和继电器服务器配置。
Chitchatter利用可主题的MUI组件库。您可以通过修改Shell主题定义来自定义Chitchatter的外观和感觉。
如果您遇到了自定义居民安装的任何问题,请首先确保您使用的是最新版本的代码。如果您使用GitHub页面托管安装,请同步您的main分支,而不是gh-pages分支。更新main分支将触发您的gh-pages分支的适当重建。
这可能出于多种原因而发生。其中最有可能的是一个或多个对等方无法直接连接,必须将配置的晕厥/转向继电器用作后备。标准继电器是免费的,不能保证任何水平的服务,因此在一段时间内可能根本无法使用(或根本不适合某些用户)。除了等到再次可用,或者可能从其他设备或位置尝试,别无选择。
一些广告阻滞剂(例如Ublock Origin)阻止了与某些WebTorrent服务器的连接。这样可以防止居民对等。为了解决此问题,您可以禁用广告阻滞剂或自助式居住者实例。
Chitchatter在iOS Safari上工作,但是浏览器级错误通常会阻止当浏览器关闭并随后重新打开时(例如,在切换应用程序时)时,同伴无法重新加入房间。此问题的建议解决方法是刷新页面以重新加入房间。
根据#36,检查您的about:config设置,并确保启用了media.peerconnection.enabled 。
Chitchatter使用StreamSaver.js来促进大型文件传输。已知下载经理(例如FDM)会干扰streamsaver.js,因此建议在尝试接收文件时禁用此类下载经理。
Chitchatter进行每周的安全审核,以识别和解决潜在的漏洞。所有审核的报告都可以在问题中找到。
通过使用Chitchatter,您同意对与其使用相关的行为承担全部责任。此外,您同意不为您使用该项目的任何结果持有任何负责的居民项目的贡献者。 Chitchatter的开发商不认可非法活动。