本仓库是关于产品、开发与社群规则的文档和讨论的主入口。这里也包含不属于其他仓库的issue,例如需要前后端耦合的新功能提案。也欢迎加入 Matters 第三方社区 Discord。
一些本仓库内的有用资源:
Matters 使用 GraphQL 作为 API 接口,详情见简介文章。开發者可以在 Apollo Playground 中查阅文档、进行调试。
以下为 Matters Lab 代码仓库结构与分工。
- server: Matters 服务器主仓库。使用 Typescript,基于 Apollo Server建构 GraphQL API。
- contracts: 智能合约。
- lambda functions: 队列与定时任务。
- query cache: 用于缓存控制与清理的 GraphQL directives 及 Apollo Server 插件。
- image processing: AWS lambda 函数,用于图片压缩与转码。
- queue dashboard: 对接 Bee Queue 与 Bull 的图形介面,用于查看 Matters 服务器中的队列任务。
- web: Matters 网页客户端主仓库。使用 Typescript,基于 React,Nextjs 与 Apollo Client。
- editor: Matters.Town 所见即所得编辑器,基于 Tiptap。
- upload client: GraphQL文件上传组件。Fork 自 apollo-upload-client,支持 persistence query。
- slugify: 支持 CJK charset 的 slugify。
- docker: Matters Lab 使用的 docker 镜像。
- slack notification: slack 通知服务 AWS lambda 函数,用于开發操作流程中的通知。
Matters 在持续探索更好的点对点信息分發的机制和协议。以下是一些相关客户端。
- Hypha Publication: 实验性项目,对接 Matters 服务器的点对点客户端。
- Hypha Desktop: 桌面版客户端,基于Election.js 与 IPFS 。可以直接下载作爲IPFS浏览器使用。
- Hypha Extension: 浏览器插件客户端,基于 js-ipfs 与 orbit-db。可用于加密的点对点通信等功能。目前尚未完工。
- Beaker Browser: 一个较爲成熟的点对点浏览器,支持
://dat
协议。目前有关于将 Matters 通过unwalled.garden 协议 与 Hyperdrive 适配到Beaker Browser的讨论与实验。
- MatREQ: 向 Matters 用户请求特定主题的文章。
- matters 消音器: 浏览器插件,用于屏蔽特定用户,支持共享黑名单。有Chrome 与 Firefox 两个版本,代码开源。
- matters2ipfs: 将 Matters 文章转为 ipfs 链接,可以在墙内打开,代码开源.
- matters 个人网站: 通过 Matters.Town 备份的个人网站,代码开源。
感谢以下贡献者的协助,让我们的产品更加安全。你可以通过拉取请求加入自己的名字。
- huli (GitHub, HitCon)
- CORS misconfiguration
- 圖片 XSS
- iframe open redirect
- 登陆页重定向 XSS
- catding (GitHub, Matters)
- 上传文件至 IPFS 时缺少大小或者域名检查
- Aidil Arief
- 登陆页重定向 XSS