Lots of new features

See release for more info
This commit is contained in:
Tyler
2025-04-29 16:38:33 -10:00
committed by GitHub
parent 265dff3329
commit 6ad2b65aba
20 changed files with 2034 additions and 442 deletions
+91 -86
View File
@@ -1,20 +1,29 @@
# PacCrypt WebApp
**PacCrypt** is a web-based platform that allows you to securely encrypt/decrypt text and files, generate passwords, and even enjoy a hidden Pac-Man game!
Built using Python (Flask), JavaScript, and AES-GCM encryption.
**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! 🕹️
Official Website: [paccrypt.unnaturalll.dev](http://paccrypt.unnaturalll.dev)
Live demo: [paccrypt.unnaturalll.dev](http://paccrypt.unnaturalll.dev)
---
## ✨ Features
- 🔒 **Basic and Advanced Encryption** (Text and Files)
- 🔑 **Password Generator**
- 🄹️ **Pac-Man Easter Egg** (Type `pacman` to unlock!)
- 📱 **Responsive Design** (Mobile Friendly)
- **One-Click Start Scripts** (Dev and Production modes)
- 🎨 **Modern Animated UI** (Dark Mode + Green Neon Theme)
- 🔒 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
---
@@ -22,90 +31,88 @@ Official Website: [paccrypt.unnaturalll.dev](http://paccrypt.unnaturalll.dev)
### 📋 Prerequisites
- **Python 3.7+**
- **Flask 3+**
- **Cryptography 42+**
- **Waitress 2.1+**
- **Nginx** (Recommended for production)
- Python 3.7+
- Flask 3+
- Cryptography 42+
- Waitress 2.1+
- Git (for update feature)
- Nginx (recommended)
---
### ⚡ Quick Setup
1. Clone the repository:
```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
```
```bash
git clone https://github.com/TySP-Dev/PacCrypt.git
cd paccrypt-webapp-final
```
Then run:
2. Create and activate a virtual environment:
- Development Mode:
```bash
./start_dev.sh # or start_dev.bat
```
```bash
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
```
- Production Mode:
```bash
./start_prod.sh # or start_prod.bat
```
3. Install required Python packages:
```bash
pip install -r requirements.txt
```
4. Start the app:
**Windows**:
```bash
start_dev.bat # For Development
start_prod.bat # For Production
```
**Linux / Mac**:
```bash
chmod +x start_dev.sh start_prod.sh
./start_dev.sh # For Development
./start_prod.sh # For Production
```
5. Access the app at:
[http://127.0.0.1:5000](http://127.0.0.1:5000)
Visit [http://127.0.0.1:5000](http://127.0.0.1:5000)
---
## 🚀 Usage Guide
## 🧭 Navigation & Usage
### 🔒 Text Encryption/Decryption
### 🔐 Encrypt & Decrypt
- Select **Encryption Type** (Basic or Advanced)
- Enter text
- Provide password (Advanced only)
- Choose **Encrypt** or **Decrypt**
- Click **Submit**
- 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
### 📁 File Encryption/Decryption
### 📤 Share Files
- Select **Advanced** encryption
- Upload a file
- Provide password
- Choose **Encrypt** or **Decrypt**
- Click **Submit**
- Upload a file with two passwords:
- Encryption password
- Pickup password
- Get a shareable URL and click 📋 Copy Link
### 🔑 Password Generator
### 🔑 Generate Passwords
- Click **Generate** to create a secure password
- Click **Copy** to save it to clipboard
- Click Generate
- Then hit 📋 Copy
### 🎮 Pac-Man Easter Egg
### 🎮 Pac-Man Game
- Type **`pacman`** into the input box to unlock the hidden Pac-Man game!
- Type `pacman` in the input box
- Game appears with Restart/Exit controls
- Classic arrow key controls 🕹️
---
## 🛡 Hosting with Nginx (optional)
## 🛠 Admin Panel
Recommended for secure public deployment.
Visit `/adminpage` after setting up credentials at `/admin-setup`.
Example minimal Nginx config:
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 {
@@ -121,52 +128,50 @@ server {
}
```
> Tip: Set up SSL with Let's Encrypt for HTTPS security! 🔐
Use Let's Encrypt to add SSL/TLS support.
---
## 📂 Project Structure
## 🗂️ 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/
│ │ └── script.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
├── README.md
```
---
## 🤝 Contributing
Contributions are welcome!
- Add new features
- Fix bugs
- Improve performance
- Expand the Pac-Man Easter Egg 🎮
---
## 📄 License
This project is licensed under the **MIT License**.
---
MIT © [TySP-Dev](https://github.com/TySP-Dev)