2025-02-06 21:40:51 +01:00
2025-02-03 21:24:28 +01:00
2025-02-01 19:15:11 +01:00
2025-02-02 19:11:04 +01:00
2025-02-03 21:44:29 +01:00
2025-02-06 21:40:51 +01:00
2025-02-03 21:21:59 +01:00

https://tnyr.me - Privacy-First URL Shortener

License: MIT

A secure, self-hosted URL shortener with end-to-end encryption. Perfect for privacy-conscious users and organizations.

Screenshot

Key Features

🔒 Passwordless end-to-end Encryption
📡 No Tracking
🌐 Modern Web Interface

end-to-end Encryption Process

  1. ID Generation

    • Unique random ID created for each link (e.g. R53nSAg)
    • Example: google.comtnyr.me/R53nSAg
  2. Hashing

    • Two Argon2 hashes are calculated by using different salts
  3. Storage

    • Original URL encrypted with AES-256-GCM using Hash 2
    • Only Hash 1 (storage key) is saved in database

Development Setup

Prerequisites

  • Python 3.9+
  • Node.js 16+ (for frontend development)

Quick Start

  1. Clone Repository

    git clone https://github.com/sevi-py/tnyr.me.git
    cd tnyr/backend
    
  2. Install Dependencies

    pip install -r requirements.txt
    
  3. Configuration Rename config_template.json to config.json
    Generate salts using python generate_salts.py
    Replace the placeholders with the salts you generated

  4. Start Server

    python main.py
    
  5. Access at http://localhost:5000

Frontend Development

The backend serves pre-built frontend files. To modify the frontend:

cd frontend
npm install
npm run build

Why Choose tnyr.me?

  • Privacy by Design: We literally can't view your links
  • No Tracking: Zero cookies, analytics, or fingerprinting
  • Self-Hostable: Full control over your data
Description
No description provided
Readme MIT 1.2 MiB
Languages
TypeScript 43.8%
Python 36.3%
HTML 7.1%
JavaScript 4.2%
Shell 3.5%
Other 5.1%