CryptoLinkShare is a static, client-side web app that encrypts URLs via AES-256, generates opaque shareable links and QR codes, and persists mappings in localStorage. Easily export or import your mapping as JSON. No server required—pure HTML, CSS, and JavaScript.
- Features
- Demo
- Getting Started
- Usage
- How It Works
- File Structure
- Customization
- Contributing
- License
- Author
- AES-256 client-side encryption (via CryptoJS)
- Opaque shareable links (
#/e/{token}) - Live QR code generation (via QRCode.js)
- Persistent mapping in
localStorage - Export/import mapping as
mapping.json - Full static implementation: HTML, CSS, JavaScript, JSON
- No backend required—works on any static host or local HTTP server
Open the live demo on GitHub Pages:
https://bocaletto-luca.github.io/CryptoLinkShare/index.html
These instructions will get you a copy of the project up and running on your local machine.
A modern browser and a simple static HTTP server. For example:
- Python 3
python3 -m http.server 8000
- Node.js
npx http-server . -p 8000
-
Clone this repository:
git clone https://github.com/bocaletto-luca/CryptoLinkShare.git cd CryptoLinkShare -
Start your HTTP server in this directory:
python3 -m http.server 8000
-
Open your browser at http://localhost:8000 and enjoy!
-
Generate Secure Link
- Paste any URL into the input field and click Generate Secure Link.
- The page displays:
- A shareable encrypted link (
#/e/{token}) - A QR code you can scan
- A Copy button to copy the link to your clipboard
- A shareable encrypted link (
-
Share
- Send the encrypted link or QR code to recipients.
- When they visit the link on the same page, they will be automatically redirected.
-
Export Mapping
- Click Export Mapping to download
mapping.json, containing all{token: originalURL}pairs.
- Click Export Mapping to download
-
Import Mapping
- Click Import Mapping and select a previously exported
mapping.jsonto restore your mapping.
- Click Import Mapping and select a previously exported
- Encryption: Uses CryptoJS AES-256 to encrypt URLs into opaque tokens.
- Decryption & Redirect: When visiting
index.html#/e/{token}, the app decrypts the token and performs a client-side redirect. - QR Codes: Utilizes QRCode.js to render a scannable QR code for each encrypted link.
- Persistence: Stores the token-to-URL mapping in
localStoragefor quick recall; export/import provides backup and portability. - Client-Side Only: All logic lives in a single HTML file—no server-side dependencies or databases.
CryptoLinkShare/
├── index.html # Single-page app with embedded HTML, CSS, JS
├── mapping.json # Optional export/import file for token→URL mapping
└── README.md # This file
- Passphrase: Edit the
SECRETconstant in the inline<script>ofindex.html. - Styling: Modify the
<style>block inindex.htmlor convert it to an externalstyle.css. - Routing Prefix: Change the
#/e/prefix in the script if preferred.
Contributions are welcome! To propose improvements or report issues:
- Fork the repository
- Create a new branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "Add my feature") - Push to your fork (
git push origin feature/my-feature) - Open a Pull Request
Please ensure your code adheres to the existing style and is well-tested.
This project is licensed under the MIT License.
Bocaletto Luca
- GitHub: @bocaletto-luca
- Repository: CryptoLinkShare