mirror of
https://github.com/Sevi-py/tnyr.me.git
synced 2026-02-19 11:54:45 -05:00
cb61bf3b2bf3435a00a50269f66ef1f04e531f2e
https://tnyr.me - Privacy-First URL Shortener
A secure, self-hosted URL shortener with end-to-end encryption. Perfect for privacy-conscious users and organizations.
Key Features
🔒 Passwordless end-to-end Encryption
📡 No Tracking
🌐 Modern Web Interface
end-to-end Encryption Process
-
ID Generation
- Unique random ID created for each link (e.g.
R53nSAg) - Example:
google.com→tnyr.me/R53nSAg
- Unique random ID created for each link (e.g.
-
Hashing
- Two Argon2 hashes are calculated by using different salts
-
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
-
Clone Repository
git clone https://github.com/sevi-py/tnyr.me.git cd tnyr/backend -
Install Dependencies
pip install -r requirements.txt -
Configuration
Renameconfig_template.jsontoconfig.json
Generate salts usingpython generate_salts.py
Replace the placeholders with the salts you generated -
Start Server
python main.py -
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
Languages
TypeScript
43.8%
Python
36.3%
HTML
7.1%
JavaScript
4.2%
Shell
3.5%
Other
5.1%
