author: planetwide
miamcloud is a flask-based web app designed to make file management simple and accessible through a sleek web interface. easily upload, download, and manage files or images directly from your server. the app also integrates with pystyle for a visually appealing experience, including interactive ascii banners and a clean terminal display.
UPDATE: added a login page for security and logs via webhook (discord)
- 🚀 file uploading: upload files effortlessly via the web interface.
- 🎯 file downloading: securely retrieve files through a custom download link.
- 🛠️ flask-based: works on any flask-supported platform, making deployment a breeze.
- 🌐 dynamic ip & port: automatically detects ip and port, or set them manually if preferred.
- 🧩 clean code: modular and easy-to-follow structure, perfect for customization.
- 📥 installation
- 📖 usage
- 🗂️ file routes
- 🔐 authentication
- 🌐 webhook logging
- 🤝 contributing
- 🐞 issues
- 📝 license
- 📗 credits
- 🖼️ preview
before starting, make sure you have:
- python 3.6+
- depandancies (pip install Flask pystyle PyYAML requests)
- clone the repo or download the project files:
git clone https://github.com/planetwiide/miam-cloud.git
cd miam-cloud
- install the dependencies:
pip install -r requirements.txt
- Login system with credentials stored in
users.yml
. - Session management via Flask's session handling.
- Webhook logs for successful and failed login attempts.
- Discord webhook integration to log key events, including:
- Login Success/Failure.
- File Uploads.
- File Downloads.
- App Start/Quit.
- start the app:
python main.py
-
input the ip and port when prompted, or hit enter to auto-configure.
-
open your browser and visit the displayed url (e.g., http://127.0.0.1:8080) to access the app.
- get /: returns the index.html page from front/.
- post /upload: handles file uploads.
- params:
- file: file to be uploaded.
- filename: custom name for the uploaded file.
- params:
- get /get/: retrieves a file by its filename. returns a default image if the file isn't found.
- get /images/: fetches an image from front/images/. if the image doesn't exist, returns a default image.
want to contribute? awesome! follow the steps below to get started:
- fork the repo.
- create a new branch for your feature/bug fix.
- commit your changes.
- push the changes to your fork.
- open a pull request.
found a bug or have a feature request? feel free to open an issue. we'll address it as soon as we can!
this project was inspired by the ♉ zodiac project by 🐐 billythegoat365. while i drew inspiration from his work, i want to clarify that i did not copy it directly. all code has been rewritten from scratch, and i have implemented my own ideas and features. i plan to continue developing and maintaining this project, with new features on the way soon. thanks to billy for the initial inspiration!
this project is licensed under the mit license.