Skip to content
Make Privacy Protected Again.
TypeScript JavaScript HTML
Branch: master
Clone or download
Misaka-0x447f chore: start-up script maintaince
* feat: allow extension to be auto reloaded

* feat: remove the plugin, update script, update document.
Latest commit 6b13237 Aug 21, 2019

Maskbook · GitHub license Circle CI Join the chat at Chrome Web Store

Encrypt your posts & chats on You-Know-Where. Allow only your friends to decrypt.

For general introductions, see

Install Maskbook on Chrome Web Store

Documentation for developers

Install dependencies

  • yarn install

Build and developing

  • yarn firefox runs extension in a new firefox session.
  • yarn start runs extension in other browsers, manually loading required.
    This plugin may help you to reload extension quicker.
  • yarn storybook to start StoryBook. Used for UI only developing.
  • yarn build build a production version. Output files in ./build/

Non-famous libraries we are using

  • @holoflows/kit - A toolkit for extension developing
  • anchorme - Use it to detect links in the text
  • construct-style-sheets-polyfill - A polyfill for a web api
  • elliptic - A crypto library, we use it to encrypt and decrypt
  • gun - A decentralized graph database we use it to sync user's shared crypto key
  • pvtsutils and tiny-secp256k1 - A crypto library, we use it to zip and unzip SECP256k1 keys but not using it to encrypt/decrypt
  • serialijse - A serialization / deserialization library
  • webcrypto-liner - A wrapper library, it wrap elliptic into WebCrypto API

Folder Structure

  • ./public - Resource file
  • ./src/components - UI Components
  • ./src/crypto - Crypto related (Note, in "alpha" version, the bigger number means the older version, our first payload version is alpha-42, and the latest version in July 1 2019 is alpha-40)
  • ./src/database - How we store data.
    • ./type.ts - Type definition for Identifier (used everywhere!)
    • ./{avatar,group,people,post}.ts - How we store these data in database
    • ./helpers - Helper methods for Services to use database easier
    • ./migrate - Migrate old database to new one.
  • ./src/utils - Utils
    • ./components - Some general React Components
    • ./hooks - Some general React hooks
    • ./jss - (this folder is MIT Licensed) Custom Renderer that let JSS render styles into ShadowRoot
    • ./type-transform - Transform data types between each other
  • ./src/extension
    • ./background-script - Scripts that running in the background page as a service
    • ./content-script - Script that be injected into the web page
    • ./injected-script - Script that will run in the main frame of the injected web page
  • ./tests - Some tests for Crypto algorithms
  • ./stories - Folder for StoryBook
  • ./protocols - Some standard definitions of protocols that used in Maskbook
  • ./network - How does Maskbook exchange information between users
  • ./social-network/ - Maskbook's multiple network support
  • ./social-network-provider/ - Maskbook's multiple network support
You can’t perform that action at this time.