25+ privacy-first utilities — no login, no tracking, no ads. Most tools run entirely in your browser. Files are encrypted with AES-256 at rest.
🔒 Privacy First · ⚡ Zero Framework · 🧠 No Login · 🚫 No Tracking · 🌍 Bilingual
Most online tool sites are slow, bloated with ads, force you to sign up, and silently track your data. YTools is the opposite:
┌─────────────────────────────────────────────────────────────────┐
│ │
│ ✦ No frameworks — vanilla HTML/CSS/JS = instant page loads │
│ ✦ No analytics — zero cookies, zero tracking scripts │
│ ✦ No login — just open and use │
│ ✦ AES-256 encryption — uploaded files are encrypted at rest │
│ ✦ Open source — every line of code is public │
│ │
└─────────────────────────────────────────────────────────────────┘
|
|
|
|
🟢 Most tools run 100% in your browser — zero data leaves your device. 🟠 Server tools use HTTPS + AES-256 encryption at rest.
┌──────────────────────────────────────────────────────────────────────┐
│ FILE UPLOAD SECURITY FLOW │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ Browser ──HTTPS──▶ Server │
│ │ │
│ ├─ 1. Chunked upload assembled │
│ ├─ 2. AES-256-CBC encryption (random key+IV) │
│ ├─ 3. Encrypted file written to disk │
│ ├─ 4. Original filename randomized │
│ ├─ 5. Download password hashed (bcrypt) │
│ ├─ 6. Unique delete token generated │
│ └─ 7. Auto-delete on expiry │
│ │
│ Download ◀──HTTPS── Server │
│ │ │
│ ├─ 1. Password verified (bcrypt) │
│ ├─ 2. File decrypted with stored key+IV │
│ └─ 3. Original file served to client │
│ │
└──────────────────────────────────────────────────────────────────────┘
| Layer | Implementation |
|---|---|
| Transport | SSL/TLS (HTTPS) |
| Encryption at Rest | AES-256-CBC with per-file random key & IV |
| Password Protection | password_hash() with PASSWORD_DEFAULT (bcrypt) |
| File Obfuscation | bin2hex(random_bytes(6)) randomized filenames |
| Access Control | Unique download tokens + optional password gate |
| Data Lifecycle | Configurable expiry (1h / 1d / 7d / 30d) + delete link |
| Rate Limiting | IP-based throttle on contact form (60s cooldown) |
| Bot Protection | Honeypot field on contact form |
┌────────────────────────────────────────────────┐
│ Frontend │ HTML5 · CSS3 · Vanilla ES6+ JS │
│ Backend │ PHP 8+ (server tools only) │
│ Framework │ None — zero dependencies │
│ Build Step │ None — no npm, no bundler │
│ Design │ Glassmorphism · Micro-animations │
│ i18n │ Custom locales (TR + EN) │
│ SEO │ JSON-LD · Open Graph · Semantic │
└────────────────────────────────────────────────┘
ytools/
├── index.html # Landing page with all tool cards
├── assets/
│ ├── css/main.css # Complete design system
│ ├── js/main.js # Core logic, i18n, routing
│ ├── js/locales.js # TR + EN translations
│ └── js/localesBlog.js # Blog post translations
├── tools/
│ ├── dev/ # 8 developer tools
│ ├── design/ # 5 design tools
│ ├── security/ # 4 security tools
│ ├── text/ # 4 text tools
│ └── web/
│ ├── upload.php # ← AES-256-CBC file encryption
│ ├── view.php # ← AES-256-CBC file decryption
│ ├── cleanup.php # Expired file cleanup (cron)
│ ├── shorten.php # URL shortening backend
│ └── ...
├── blog/ # 5 SEO-optimized guides
├── includes/seo.php # Shared PHP helpers
└── uploads/ # Encrypted file storage (gitignored)
# Clone the repo
git clone https://github.com/yunusayan0/ytools.git
cd ytoolsJust open index.html in your browser. All client-side tools work instantly.
# Option A: PHP built-in server
php -S localhost:8000
# Option B: XAMPP / MAMP / Valet
# Point document root → ytools/Full bilingual support via custom i18n system:
// All UI strings live in locales.js
const locales = {
tr: { /* 200+ Turkish keys */ },
en: { /* 200+ English keys */ }
};Language is auto-detected from localStorage and toggled via the UI.
Built-in blog with developer guides — also fully bilingual:
| # | Guide | Topic |
|---|---|---|
| 1 | JSON Nedir? | Format basics & syntax |
| 2 | Regex Başlangıç Rehberi | Patterns & validation |
| 3 | Base64 Nedir? | Encoding explained |
| 4 | Güvenli Şifre Rehberi | Password security & 2FA |
| 5 | 10 Vazgeçilmez Araç | Must-have dev tools |
Contributions are welcome!
# 1. Fork the repo
# 2. Create your branch
git checkout -b feature/amazing-tool
# 3. Commit & push
git commit -m "feat: add amazing tool"
git push origin feature/amazing-tool
# 4. Open a Pull RequestMIT License — free to use, modify, and learn from.