Mask Network(originally named as Maskbook) is a portal to the new, open internet. With Mask Network, you can send encrypted posts to your friends, participate in cryptocurrency lucky-draws, and share encrypted files on the platforms you are already using.
For general introductions, see Mask.io.
/I thought what I'd do was, I'd pretend I was one of those deaf-mutes./
- Maskbook on Chrome Web Store
- Maskbook on Firefox Addon Store (Works on Firefox for Android too!)
- (Beta!) Mask Network for iOS
- (Beta!) Mask Network for Android
Help us by donating us:
- Bitcoin:
3PRrXj1HTXDc4j9SCQZ6hovpa74iimqtgX - Ethereum:
0xD71c7150962fd484a4291a193c85426Df9EaABbB - Gitcoin (All erc20): Mask Network
- License: GNU AGPL v3
- Code Style: Use prettier
- Git flow enabled,
masteras the latest branch,releasedas the stable branch - Use Conventional Commits since 1.4.0
- Crypto: We're using Elliptic Curve Cryptography (ECC) of the SECP256-k1 parameters for secret sharing and AES-GCM for encryption
- Data transfer between users: We're using gun.js
yarn install
yarn start:firefoxruns extension in a new firefox session.yarn start:androidruns extension in a usb connected android device.yarn startruns extension in other browsers, manually loading required. This plugin may help you to reload extension quicker.yarn storybookto start StoryBook. Used for UI only developing.yarn buildbuild a production version. Output files in./build/
- If branch name contains
full, CI will build for all targets - If branch name contains
ios, CI will build for targetiOS - If branch name contains
androidorgecko, CI will build for targetfirefoxgecko - For any other branches, CI will build for target
basechromiumfirefox
@holoflows/kit- A toolkit for extension developinganchorme- Use it to detect links in the textelliptic- A crypto library, we use it to encrypt and decryptgun- A decentralized graph database we use it to sync user's shared crypto keypvtsutilsandtiny-secp256k1- A crypto library, we use it to zip and unzip SECP256k1 keys but not using it to encrypt/decryptwebcrypto-liner- A wrapper library, it wrapellipticinto WebCrypto API
./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