HYDRA Cloud Server runs entirely on your Android phone via Termux. It spins up a beautiful web UI accessible from any browser on your local WiFi network β laptop, tablet, or another phone. No cloud accounts. No subscriptions. No data leaving your home.
Upload, download, stream videos & music, and monitor your phone's health β all from a slick dark-themed web interface.
| Feature | Description |
|---|---|
| π€ Fast Upload | Drag-and-drop with 8MB chunk streaming & real-time speed meter |
| π₯ Download | One-click download with HTTP range request support |
| π¬ Media Streaming | In-browser video & audio player, image viewer |
| π Device Health | Live battery, RAM, storage, WiFi, CPU temp dashboard |
| π LAN Access | Any device on the same WiFi can connect instantly |
| π 100% Private | No internet required, no data leaves your network |
| π± Mobile-First UI | Responsive dark UI, works on any screen size |
| β‘ High Performance | Threaded Flask, 8MB chunks, up to 32GB file support |
hydra-cloud/
βββ hydra_server.py # Flask web server β the core engine
βββ hydra.sh # Termux launcher & setup menu
βββ docs/
β βββ INSTALL.md # Detailed installation guide
β βββ USAGE.md # Full usage reference
β βββ TROUBLESHOOTING.md # Common issues & fixes
βββ screenshots/
β βββ architecture.svg # System architecture diagram
β βββ menu.png # Terminal menu
β βββ files.png # Files tab UI
β βββ upload.png # Upload tab UI
β βββ health.png # Device health dashboard
βββ .github/
β βββ ISSUE_TEMPLATE/
β β βββ bug_report.md
β β βββ feature_request.md
β βββ CONTRIBUTING.md
βββ .gitignore
βββ LICENSE
βββ README.md
Download Termux from F-Droid β do not use the Play Store version.
pkg install git -y
git clone https://github.com/YOUR_USERNAME/hydra-cloud
cd hydra-cloud
chmod +x hydra.sh
bash hydra.shThe setup installs Python, Flask, and all dependencies automatically.
HYDRA is running on your network!
This phone: http://127.0.0.1:8888
WiFi LAN: http://192.168.X.XXX:8888
Navigate to the WiFi LAN address shown in Termux from any device on the same network.
1) First-time setup Install all dependencies
2) Start (LAN + localhost) Access on WiFi network
3) Start localhost only This phone only
4) Server status Check what's running
5) Speed test Test your WiFi performance
6) View logs See server activity
7) Stop everything Kill all HYDRA processes
8) Exit
Your Phone (Termux) Any Device on LAN
ββββββββββββββββββββββββ βββββββββββββββββββββ
β β β β
β hydra.sh β β Chrome / Firefox β
β (Launcher menu) β WiFi LAN β http://192.168 β
β β βββββββββββββββββΊβ .x.x:8888 β
β βΌ β β β
β hydra_server.py β β β’ Upload files β
β (Flask on :8888) β β β’ Download files β
β β β β β’ Stream media β
β βΌ β β β’ View health β
β ~/storage/shared/ β βββββββββββββββββββββ
β HYDRACloud/ β
ββββββββββββββββββββββββ
See the full architecture diagram.
Key technical details:
- 8MB streaming chunks β maximises WiFi throughput
- HTTP Range requests β enables seek & resume in video players
- Threaded Flask β simultaneous upload + download + streaming
- 32GB max file size β handles any file you throw at it
- Wake lock β keeps server alive when screen is off
| π Files Browser | π€ Upload Interface |
![]() |
![]() |
| π Device Health | π₯οΈ Terminal Menu |
![]() |
![]() |
Full walkthrough: setup, file upload, video streaming, device health dashboard.
| Requirement | Details |
|---|---|
| Device | Any Android phone or tablet |
| Android | 7.0 (API 24) or newer |
| App | Termux via F-Droid |
| Storage | Grant Termux storage access when prompted |
| Network | WiFi (for LAN access from other devices) |
| Python + Flask | Installed automatically by setup (option 1) |
Edit variables at the top of hydra.sh to customise:
PORT=8888 # Change the server port
UPLOAD_DIR="$HOME/storage/shared/HYDRACloud" # Change the storage folderIn hydra_server.py:
CHUNK_SIZE = 8 * 1024 * 1024 # Upload chunk size (default 8MB)
app.config['MAX_CONTENT_LENGTH'] = 32 * 1024 * 1024 * 1024 # Max file size (32GB)| Method | Endpoint | Description |
|---|---|---|
GET |
/ |
Main web UI |
GET |
/api/files |
JSON list of all files |
GET |
/api/health |
Device health stats as JSON |
POST |
/upload |
Upload a file (multipart/form-data) |
GET |
/download/<filename> |
Download a file |
GET |
/stream/<filename> |
Stream with HTTP range support |
DELETE |
/delete/<filename> |
Delete a file |
HYDRA is designed for trusted local networks (your home WiFi) only.
- No authentication is implemented by default
- Do not expose port 8888 to the internet or forward it on your router
- On untrusted networks, use localhost only mode (option 3)
Contributions are welcome! See CONTRIBUTING.md.
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature - Commit:
git commit -m 'Add your feature' - Push:
git push origin feature/your-feature - Open a Pull Request
MIT License β see LICENSE for details.
- Termux β the Android terminal that makes this possible
- Flask β lightweight Python web framework
- Built with β€οΈ for anyone who wants their phone to do more
If HYDRA is useful, please β star the repo!




