https://github.com/0xedward/macaroni
encoding at the speed of copypasta
https://github.com/0xedward/macaroni
browser-extension chrome-extension copy-paste encoding javascript security
Last synced: 3 months ago
JSON representation
encoding at the speed of copypasta
- Host: GitHub
- URL: https://github.com/0xedward/macaroni
- Owner: 0xedward
- License: unlicense
- Created: 2021-05-15T22:00:33.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-01-11T06:02:57.000Z (6 months ago)
- Last Synced: 2026-01-11T12:47:02.042Z (6 months ago)
- Topics: browser-extension, chrome-extension, copy-paste, encoding, javascript, security
- Language: JavaScript
- Homepage: https://chrome.google.com/webstore/detail/macaroni/okpaeidpoafcnohfekdhnfedcaaoajmg
- Size: 407 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Macaroni

Encoding at the speed of copypasta
Macaroni is a Chrome extension to help you quickly copy text you select as one of the following encodings:
- [base64](https://en.wikipedia.org/wiki/Base64)
- [URL encoding](https://en.wikipedia.org/wiki/Percent-encoding)
- [HTML entity encoding](https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references)
- [JSON escaping](https://en.wikipedia.org/wiki/Escape_character#JavaScript)
This extension was created for security testing, so the encoded data it produces should not be used in a trusted context.
## Installing extension from repo
1. Download this repo as a ZIP file from GitHub.
2. Unzip the file
3. In Chrome, go to the extensions page - chrome://extensions
4. Enable Developer Mode.
5. Click Load unpacked button and select the src folder that was extracted or drag the extracted src folder anywhere on the page to import it
## Permissions Audit
If you are curious or concerned about [the permissions requested by this extension](https://github.com/0xedward/macaroni/blob/main/src/manifest.json#L10-L14), the following is a brief explainer for each permission and where you can find it used in code:
- `contextMenus` is used [to create a menu items for you to specify which encoding you want copied to your clipboard for the text you have selected](https://github.com/0xedward/macaroni/blob/main/src/background.js#L4-L26)
- `notifications` is used [to send you notifications for when your selected text has been encoded and copied to your clipboard](https://github.com/0xedward/macaroni/blob/main/src/background.js#L53-L60)
- `activeTab` is used [to get the text you selected to pass to the encoder or decoder](https://github.com/0xedward/macaroni/blob/main/src/background.js#L32-L35). `activeTab` is a workaround for a [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=116429) with `chrome.contextMenus` API causing line breaks and new lines to not appear in `selectionText`.
## Credits
The extension [icon](https://thenounproject.com/search/?q=macaroni&i=1723765) was found on The Noun Project and was created by mikicon
