Draxon Images is a robust, Flask-based image hosting platform designed for speed, reliability, and ease of use. It offers seamless image uploading, secure storage via ImgBB integration, and a user-friendly dashboard for managing your visual assets.
- 🚀 Fast & Reliable Uploads: Supports drag-and-drop uploads for PNG, JPG, JPEG, GIF, and WEBP formats.
- ☁️ ImgBB Integration: Leverages the power of ImgBB for secure and scalable image storage.
- 🔐 User Accounts: complete registration and login system to manage your uploads.
- 📊 Dashboard & Analytics: Track image views, storage usage, and manage your gallery from a centralized dashboard.
- 🔗 Flexible Sharing: Instantly generate Direct links, HTML embed codes, Markdown snippets, and BBCode for forums.
- ⏱️ Expiration Control: Choose how long your images stay live: 1 day, 1 week, 1 month, or forever.
- 📱 Mobile-Responsive: A clean, modern interface that works perfectly on desktop and mobile devices.
- 🛡️ Secure: Environment-based configuration for API keys and secrets.
Before you begin, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/DraxonV1/DraxonImages.git cd draxon-images -
Install dependencies:
pip install -r requirements.txt
-
Configure Environment Variables: Create a
.envfile in the root directory by copying the example below or using the provided template.# .env MAIN_DOMAIN=localhost:3008 CDN_DOMAIN=cdn.yourdomain.com IMGBB_API_KEY=your_imgbb_api_key_here SECRET_KEY=your_generated_secret_key MAX_IMAGES_PER_USER=25 MAX_FILE_SIZE=15728640 # 15MB in bytes
Note: For local development, you can set
MAIN_DOMAINtolocalhost:3008(or your chosen port).
-
Start the application:
python app.py
-
Access the app: Open your browser and navigate to
http://localhost:3008. -
Upload an Image:
- Click "Upload" to try it out as a guest (images expire in 1 day).
- Register for an account to unlock permanent storage and the dashboard.
DraxonImages/
├── app.py # Main Flask application
├── config.py # Configuration loader
├── requirements.txt # Project dependencies
├── .env # Environment variables (not committed)
├── database.json # Local JSON database for user/image metadata
├── static/ # CSS, JS, and image assets
└── templates/ # HTML templates (Jinja2)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ in free time by DraxonV1
