Git Product home page Git Product logo

maskbook's Introduction

([I:b])

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

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

For general introductions, see Maskbook.com.

/_ I thought what I'd do was, I'd pretend I was one of those deaf-mutes. _/

Downloads

Useful Links

Donation

Help us by donating us by:

  • Bitcoin: 3PRrXj1HTXDc4j9SCQZ6hovpa74iimqtgX
  • Ethereum: 0xD71c7150962fd484a4291a193c85426Df9EaABbB

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

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
  • 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

maskbook's People

Contributors

jack-works avatar guanbinrui avatar misaka-0x447f avatar dependabot-preview[bot] avatar artoria2e5 avatar neruthes avatar tedko avatar yisiliu avatar septs avatar gitter-badger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.