Skip to content

yunusayan0/ytools

Repository files navigation

⚡ YTools

Ad-Free Micro Tools for Developers

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.

Live License Open Source Language


🔒 Privacy First · ⚡ Zero Framework · 🧠 No Login · 🚫 No Tracking · 🌍 Bilingual


🎯 Why YTools?

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                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

🧰 Tool Suite

⚡ Developer Tools ×8

Tool
JSON Formatter Beautify · Minify · Validate
JSON ↔ YAML Bi-directional conversion
Base64 Codec Encode & Decode
Regex Tester Live matching & group capture
Timestamp Converter Unix ↔ Human-readable
Code Minifier HTML · CSS · JavaScript
URL Codec Encode & Decode
Markdown Preview Real-time GFM renderer

🎨 Design Tools ×5

Tool
Color Picker HEX · RGB · HSL
Gradient Generator Linear & Radial CSS
Shadow Generator Visual box-shadow builder
PX ↔ REM Converter Customizable root size
SVG Optimizer Strip metadata & minify

✍️ Text Tools ×4

Tool
Case Converter 9 formats (camelCase, snake_case, …)
Word Counter Chars · Words · Sentences · Read time
List Sorter A-Z · Shuffle · Dedupe · Numeric
Text Reverser By character, word, or line

🔐 Security Tools ×4

Tool
Password Generator Cryptographically secure
Hash Generator MD5 · SHA-1 · SHA-256 · SHA-512
JWT Decoder Header + Payload inspector
UUID Generator Random v4

🌐 Web & File Tools ×4

Tool
File Upload AES-256 encrypted · Password protected
URL Shortener Clean short links
QR Code Generator Text & URL support
Video Converter Lossless remux (no re-encode)

🟢 Most tools run 100% in your browser — zero data leaves your device. 🟠 Server tools use HTTPS + AES-256 encryption at rest.


🔒 Security Architecture

┌──────────────────────────────────────────────────────────────────────┐
│                     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

🛠 Tech Stack

┌────────────────────────────────────────────────┐
│  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  │
└────────────────────────────────────────────────┘

📂 Project Structure

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)

🚀 Getting Started

# Clone the repo
git clone https://github.com/yunusayan0/ytools.git
cd ytools

🟢 Static Tools (No Server)

Just open index.html in your browser. All client-side tools work instantly.

🟠 Server Tools (PHP Required)

# Option A: PHP built-in server
php -S localhost:8000

# Option B: XAMPP / MAMP / Valet
# Point document root → ytools/

🌍 Localization

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.


📚 Blog

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

🤝 Contributing

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 Request

📄 License

MIT License — free to use, modify, and learn from.


👨‍💻 Created by Yunus Ayan

📧 hello@yunusayan.com


⭐ Star this repo if you find it useful!