本倉庫是關於產品、開发與社群規則的文檔和討論的主入口。這里也包含不屬於其他倉庫的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
- 圖片 src XSS
- iframe open redirect
- 登陸頁重定向 XSS
- catding (GitHub, Matters)
- 上傳文件至 IPFS 時缺少大小或者域名檢查
- Aidil Arief
- 登陸頁重定向 XSS