ltlmaps / Maskbook

The portal to the new, open internet. ([I:b])

Home Page:https://mask.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

([I:b])

Mask Network · GitHub license Circle CI Join the chat at https://gitter.im/Maskbook/community Chrome Web Store Mozilla Add-on FOSSA Status

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./

FOSSA Status

Downloads

Useful Links

Donation

Help us by donating us:

  • Bitcoin: 3PRrXj1HTXDc4j9SCQZ6hovpa74iimqtgX
  • Ethereum: 0xD71c7150962fd484a4291a193c85426Df9EaABbB
  • Gitcoin (All erc20): Mask Network

Documentation for developers

Install dependencies

  • yarn install

Build and developing

  • yarn start:firefox runs extension in a new firefox session.
  • yarn start:android runs extension in a usb connected android device.
  • 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/

Conditional compilation

  • If branch name contains full, CI will build for all targets
  • If branch name contains ios, CI will build for target iOS
  • If branch name contains android or gecko, CI will build for target firefox gecko
  • For any other branches, CI will build for target base chromium firefox

Other libraries we are using

  • @holoflows/kit - A toolkit for extension developing
  • anchorme - Use it to detect links in the text
  • 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
  • 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

About

The portal to the new, open internet. ([I:b])

https://mask.io

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 98.9%Language:JavaScript 1.0%Language:Shell 0.1%Language:HTML 0.0%