All Projects → XCF-Babble → babble

XCF-Babble / babble

Licence: GPL-3.0 license
说都不会话了。

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to babble

copy all tabs
Browser add-on to copy all URLs and titles from the open tabs in a browser window as a text list to the system clipboard. Links can also be pasted to a browser window to restore a list of tabs.
Stars: ✭ 21 (-58%)
Mutual labels:  firefox-addon
WhatYouarePlaying
An extension delivering what you're watching and listening to, to Mastodon and other services
Stars: ✭ 15 (-70%)
Mutual labels:  firefox-addon
copy-as-markdown
🖱 Browser extension to copy hyperlinks, images, and selected text as Markdown with GFM support
Stars: ✭ 137 (+174%)
Mutual labels:  firefox-addon
github-mines-extension
Browser extension to play classic minesweeper game directly on GitHub contributions grid
Stars: ✭ 10 (-80%)
Mutual labels:  firefox-addon
tabtrekker
Explore the world one tab at a time (Firefox addon).
Stars: ✭ 42 (-16%)
Mutual labels:  firefox-addon
BMW-Anonymization-API
This repository allows you to anonymize sensitive information in images/videos. The solution is fully compatible with the DL-based training/inference solutions that we already published/will publish for Object Detection and Semantic Segmentation.
Stars: ✭ 121 (+142%)
Mutual labels:  privacy-protection
pontoon-addon
Tools for Pontoon and its integration into the browser.
Stars: ✭ 13 (-74%)
Mutual labels:  firefox-addon
crypto-tab
💰 Replace your browser New Tab page with a Bitcoin price chart
Stars: ✭ 23 (-54%)
Mutual labels:  firefox-addon
hohser
Highlight or Hide Search Engine Results
Stars: ✭ 89 (+78%)
Mutual labels:  firefox-addon
packagehub
An extension for displaying dependencies of projects on GitHub
Stars: ✭ 71 (+42%)
Mutual labels:  firefox-addon
9anime-Companion
🚀 A simple companion extension for 9anime
Stars: ✭ 83 (+66%)
Mutual labels:  firefox-addon
youtube-timestamps
Web Extension to show timestamps from YouTube comments on timeline.
Stars: ✭ 42 (-16%)
Mutual labels:  firefox-addon
HideDroid
HideDroid is an Android app that allows the per-app anonymization of collected personal data according to a privacy level chosen by the user.
Stars: ✭ 85 (+70%)
Mutual labels:  privacy-protection
ps store helper
chrome extension for injecting metacritic score to Playstation store page
Stars: ✭ 27 (-46%)
Mutual labels:  firefox-addon
web-extension-boilerplate
The web extension boilerplate help to set up project quickly using typescript, jest, webpack, githook, prettier and github actions
Stars: ✭ 35 (-30%)
Mutual labels:  firefox-addon
ctrl-tab
replace your new tab page with the data that matters to you
Stars: ✭ 35 (-30%)
Mutual labels:  firefox-addon
Socketify
Raw TCP and UDP Sockets API on Desktop Browsers
Stars: ✭ 67 (+34%)
Mutual labels:  firefox-addon
conceal-mobile
Conceal Mobile - Encrypted DeFI & Messaging App
Stars: ✭ 15 (-70%)
Mutual labels:  privacy-protection
night-video-tuner
🎬 Browser extension that allows adjusting temperature and other properties of videos on Chrome and Firefox.
Stars: ✭ 19 (-62%)
Mutual labels:  firefox-addon
url-incrementer
A web extension for Chrome, Edge, and Firefox. Increment a URL or go to the next page. Supports auto incrementing and advanced toolkit functions like scraping URLs.
Stars: ✭ 27 (-46%)
Mutual labels:  firefox-addon

Babble Browser Extension

CircleCI Language Grade: javascript

说都不会话了。

Babble is a platform agnostic browser extension that allows for easy encryption and decryption of text data across the web. With Babble, users can create encryption keys from passwords, encrypt text with any of these keys, and decrypt any ciphertext they have a key for. Babble is meant to be dead simple to use, so people of all backgrounds have the ability to encrypt sensitive data on any service.

A list of supported websites can be found here.

Installation

You can install Babble for Chrome from Chrome Web Store, or for Firefox from Firefox Add-ons. You can also download the extension from GitHub Releases.

Demo

Encryption

Decryption

How it works

Key Management

Click the key icon inside of the Babble popup and you'll be brought to the Babble Keystore. From there, you can add, search, select, edit, and delete key-base pairs.

Encryption and Encoding

Encryption can begin when you type into the textbox inside of the Babble popup. For supported sites, the encrypted text will be automatically filled into the webpage's textbox. Hitting Ctrl+Enter will trigger sending the message from the webpage. For unsupported sites, you can click the copy icon and paste the encrypted text to the textbox you want. The popup can also be activated by Alt+Shift+Z.

Babble uses Argon2i algorithm to generate a 256-bit encryption key (with salt BabbleBabbleBabb). The key derivation process is slow (takes about 0.5-2s in the browser) to prevent brute force attack. The encryption algorithm is ChaCha20-IETF-Poly1305. The cipher text is then (byte-by-byte) encoded to UTF-8 characters using a 256-character base. The default base is 256 Chinese characters taken from a frequency table. You can use whatever base you'd like, as long as it's 256 UTF-8 characters and only contains unique characters.

Decryption

Decryption can begin when the unlock icon inside of the Babble popup is clicked. This action launches the element picker, highlighting the DOM element under the cursor purple. The extension will walk the DOM starting at that element looking for data to decrypt. Decryption can also be activated by Alt+Shift+D.

Babble operates under the assumption that every website is running hostile JavaScript. To that end, when the element picker is started, an iframe is created whose source is a web accessible resource. All ciphertext targeted for decryption is transferred to the iframe, where it is then decrypted and displayed to the user. Web accessible resources are utilized because they have unique protocols (chrome-extension:// on Chromium or moz-extension:// on Firefox), and protect our plaintext from being exfiltrated by malicious Javascript the on page by the same-origin policy.

Key Exchange

In the keystore page, users can generate a keypair, share it with a correspondent, and both parties derive the same passphrase (UUID) using Elliptic-curve Diffie-Hellman ephemeral (ECDHE). Point multiplication is done on Curve25519 and the shared UUID is computed by UUID(hash(secret || publicKey1 || publicKey2)). It is not unheard of for different keypairs to produce the same point on the curve, so the public keys are hashed with the shared secret to produce a more secure output (per the libsodium recommendation). The resulting UUID is to be used as a source for key derivation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].