Giter Site home page Giter Site logo

xcf-babble / babble Goto Github PK

View Code? Open in Web Editor NEW
66.0 66.0 8.0 646 KB

说都不会话了。

License: GNU General Public License v3.0

TypeScript 83.75% JavaScript 2.07% CSS 0.45% HTML 13.00% Shell 0.72%
chrome-extension encryption firefox-addon privacy-protection

babble's People

Contributors

dependabot[bot] avatar encadyma avatar kkuehlz avatar mcer4294967296 avatar vaibhavjayaraman avatar yvbbrjdr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

babble's Issues

Add continuous integration

Continuous integration can be used for these 23 purposes:

  • Check lint and code generation issues.
  • Produce release artifacts.
  • Add a shiny passed badge to the README.md file and make the project look professional.

Have the background script keep state of the last message.

Have the background script maintain a light dictionary -- domain to last unsent message. This way if the popup is closed, users won't lose their content. Create a listener in the background script that will send the message for each page. When the popup opens, make a request to the background script for last unsent message.

Create a YouTube video showing how to use the extension

Include steps for:

  • Adding a key to the keystore
  • Creating custom base
  • Encryption on supported site
  • Encryption on unsupported site
  • Decryption picker
  • Show how to cancel decryption picker, and how to click makes the aside stay up
  • Show keybindings (screenkeys)

We can link this video from the Chrome webstore and Firefox AMO

Discord is broken

They changed the input box from a textarea to a div that tries to be like a textarea... Similar to Twitter and Facebook. Sad.

Remove jquery

It was good for prototyping but it should not be part of the project.

avoid callback hell with chrome.sendMessage

The Firefox sendMessage implementation is much more sane than Chrome's. Instead of using a callback when the listener returns, it instead returns a Promise. For chained messages (which we will need to do for context menu decryption), it keeps us from entering the depths of callback hell.

We can either pull in https://github.com/mozilla/webextension-polyfill that will polyfill the mozilla sendMessage for chrome, or we could write a wrapper around the chrome API.

Notify on iFrame tampering

If any of the iFrame attributes are modified (specifically z-index), the iFrame is deleted, or it is not in the viewport, send a notification to the user so they are aware the page is hostile.

Add option to encrypt keystore

Like a password manager, give users the option to have the keystore encrypted at rest. This means that, for every new browser session, the user will need to enter their decryption password before it can be used. We can put a nice lock UI on the popup.

Clean up webpack

  • webpack and its dependencies are vendoring themselves. Figure out how to not do this if possible since one of its dependencies, bluebird, runs eval 3 times!

  • split vendor.js into multiple files so we can split up dev dependencies our project files to lighten the load on some pages that don't need to pull in everything

Use less technical language in the extension

It would be too difficult to use for common people - they don't know what the public key is and why they need to exchange it - it's okay if your tool targets only those who know how it works, but if not, UI need to be improved, tho I can't comment on it much.

Make the extension more friendly to nontechnical people.

Suggested by Yuki2718

Make Argon parameters tweakable

Suggested here. This would be for advanced users that have higher memory devices. Since we aren't targeting mobile, we could also bump the memory usage to be higher than 64MB. We would want some advanced options menu for this.

Convenient debabbling outside of browser

Currently babble'd text can be copied by simply clicking the copy bottun, then be pasted to other places. But debabbling can only work on web pages, by selecting elements containing babble'd text.

There can be a encrypt/decrypt switch on the addon dialog. When the switch is on 'encrypt', everything works as it is now; when it is on 'decrypt', do what 'debabble page elements' basically do.

Though it is not babble's primary use case to handle communications outside the browser, supporting that can also enable potential users to try it out (possibly on non-web IMs).

Investigate obfuscating ciphertext

A paper was released recently that describes novel methods for encoding text inside of a language model. The example implementation can be found here. Babble could give users the option to hide their text this way.

Because this requires mountains of work, this is mostly here as a reminder and will not be worked on anytime soon.

Detailed instructions for adding support to a new website

Explain, in detail, how the website.ts API works, give a run through of an existing website that we support (Slack), add common tips and tricks for finding input boxes.

We should wait until the website.ts API matures more before doing this. Some users have already suggested we add the capability for site-specific decryption.

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.