# PacCrypt WebApp **PacCrypt** is a secure, feature-rich web app for encrypting and decrypting text and files โ€” built with Flask, JavaScript, and AES-GCM encryption. Now with an admin control panel, GitHub updater, and a built-in Pac-Man easter egg! ๐Ÿ•น๏ธ Live demo: [paccrypt.unnaturalll.dev](http://paccrypt.unnaturalll.dev) --- ## โœจ Features - ๐Ÿ”’ Basic and Advanced Encryption for Text & Files - ๐Ÿ“ Secure File Uploads with Pickup Passwords - ๐Ÿ”‘ Random Password Generator - ๐ŸŽฎ Hidden Pac-Man Game โ€” type `pacman` to play - ๐Ÿง  Smart UI: Auto-switches input sections, toggles encryption labels - ๐Ÿ“‹ Clipboard Copy Feedback with styled status boxes - ๐Ÿงพ Admin Panel: - Site map with live route list - Server restart & GitHub update button - Secure admin credential management - Server logs & upload cleanup - ๐Ÿงฉ System Settings Page for upload config - ๐Ÿ“œ Custom 403, 404, and 500 Error Pages - ๐Ÿค– robots.txt and /sitemap for crawlers - ๐Ÿ“ฑ Mobile-Responsive UI --- ## ๐Ÿ‘จโ€๐Ÿ’ป Installation ### ๐Ÿ“‹ Prerequisites - Python 3.7+ - Flask 3+ - Cryptography 42+ - Waitress 2.1+ - Git (for update feature) - Nginx (recommended) --- ### โšก Quick Setup ```bash git clone https://github.com/TySP-Dev/PacCrypt.git cd paccrypt-webapp-final python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt ``` Then run: - Development Mode: ```bash ./start_dev.sh # or start_dev.bat ``` - Production Mode: ```bash ./start_prod.sh # or start_prod.bat ``` Visit [http://127.0.0.1:5000](http://127.0.0.1:5000) --- ## ๐Ÿงญ Navigation & Usage ### ๐Ÿ” Encrypt & Decrypt - Choose between Basic Cipher or Advanced AES - Type your message or upload a file - Enter password (if AES) - Select mode using toggle (Encrypt/Decrypt) - Hit Execute ### ๐Ÿ“ค Share Files - Upload a file with two passwords: - Encryption password - Pickup password - Get a shareable URL and click ๐Ÿ“‹ Copy Link ### ๐Ÿ”‘ Generate Passwords - Click Generate - Then hit ๐Ÿ“‹ Copy ### ๐ŸŽฎ Pac-Man Game - Type `pacman` in the input box - Game appears with Restart/Exit controls - Classic arrow key controls ๐Ÿ•น๏ธ --- ## ๐Ÿ› ๏ธ Admin Panel Visit `/adminpage` after setting up credentials at `/admin-setup`. Features: - ๐Ÿ”„ Restart server - ๐Ÿ”ƒ Update from GitHub (git pull) - ๐Ÿงฝ Clear uploads - ๐Ÿ” Change admin password - ๐Ÿ“ View logs - โš™๏ธ Adjust upload settings --- ## ๐Ÿ›ก๏ธ Deployment Tips Minimal Nginx config: ```nginx server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` Use Let's Encrypt to add SSL/TLS support. --- ## ๐Ÿ—‚๏ธ Project Structure ``` paccrypt-webapp-final/ โ”œโ”€โ”€ app.py โ”œโ”€โ”€ requirements.txt โ”œโ”€โ”€ README.md โ”œโ”€โ”€ templates/ โ”‚ โ”œโ”€โ”€ index.html โ”‚ โ”œโ”€โ”€ 404.html โ”‚ โ””โ”€โ”€ 403.html โ”‚ โ””โ”€โ”€ 500.html โ”‚ โ””โ”€โ”€ admin.html โ”‚ โ””โ”€โ”€ admin_login.html โ”‚ โ””โ”€โ”€ admin_settings.html โ”‚ โ””โ”€โ”€ admin_setup.html โ”‚ โ””โ”€โ”€ pickup.html โ”œโ”€โ”€ static/ โ”‚ โ”œโ”€โ”€ css/ โ”‚ โ”‚ โ””โ”€โ”€ styles.css โ”‚ โ”œโ”€โ”€ js/ โ”‚ โ”‚ โ””โ”€โ”€ ui.js โ”‚ โ”‚ โ””โ”€โ”€ pacman.js โ”‚ โ”‚ โ””โ”€โ”€ main.js โ”‚ โ”‚ โ””โ”€โ”€ fileops.js โ”‚ โ”‚ โ””โ”€โ”€ encryption.js โ”‚ โ”œโ”€โ”€ img/ โ”‚ โ”‚ โ””โ”€โ”€ PacCrypt.png โ”‚ โ”‚ โ””โ”€โ”€ Github_logo.png โ”‚ โ”‚ โ””โ”€โ”€ sitemap.png โ”‚ โ””โ”€โ”€ audio/ โ”‚ โ””โ”€โ”€ chomp.mp3 โ”œโ”€โ”€ start_dev.bat โ”œโ”€โ”€ start_prod.bat โ”œโ”€โ”€ start_dev.sh โ”œโ”€โ”€ start_prod.sh ``` --- ## ๐Ÿ“„ License MIT ยฉ [TySP-Dev](https://github.com/TySP-Dev)