ViraMediaWeb

ESP8266/ESP32 lightweight web-based file manager, media server and LittleFS storage system with upload, delete and direct file access.

1
0
1
C++
public

πŸš€ ViraMediaWeb

Designed By Mostafa MirMousavi

Lightweight Web File Manager + Media Server + Mini CDN for ESP8266 / ESP32


✨ Overview

ViraMediaWeb transforms your ESP8266/ESP32 into a powerful embedded web storage system.

It works like a mini cloud server directly on your microcontroller.


⚑ Features

  • πŸ“ Modern web-based file manager dashboard
  • ⬆️ Drag & Drop file upload
  • πŸ–ΌοΈ Image preview in browser
  • πŸ“‚ File listing via API
  • πŸ—‘οΈ Delete files remotely
  • 🌐 Direct file access (http://ip/vfm)
  • ⚑ Lightweight & fast (LittleFS)
  • πŸ”Œ Async Web Server support

πŸ–₯️ Web Interface

Access via browser:
http://DEVICE_IP/vfm


🧠 Supported Platforms

  • ESP8266 (NodeMCU / Wemos D1 Mini)
  • ESP32 (All variants)

βš™οΈ Architecture

ESP8266 / ESP32
β†’ File System Layer (LittleFS / SPIFFS)
β†’ Async HTTP Server Engine
β†’ ViraMediaWeb UI Core
β†’ REST API Gateway
β†’ Client Browser / External Apps


πŸ“¦ Installation

1. Install Library

Copy this repository into:

Documents/Arduino/libraries/ViraMediaWeb


2. Required Dependencies

Install these libraries:

  • ESPAsyncWebServer
  • ESPAsyncTCP (ESP8266)
  • AsyncTCP (ESP32)
  • LittleFS or SPIFFS

πŸš€ Quick Start Example

#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <ViraMediaWeb.h>

AsyncWebServer server(80);
ViraMediaWeb media;

void setup() {

  Serial.begin(115200);

  WiFi.begin("SSID", "PASSWORD");

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  Serial.println(WiFi.localIP());

  media.begin();
  media.attach(server);

  server.begin();
}

void loop() {
}


🌐 Web Access

  • /
    Main System Web UI (your custom ESP application interface)

  • /vfm
    ViraMediaWeb File Manager Dashboard
    (File upload, delete, preview and storage management)

πŸ‘‰ Dashboard (File Manager UI) will load automatically.

πŸ“ API Endpoints

Route Method Description
/ GET System Web UI
/vfm GET Web UI File Manager Dashboard
/upload POST Upload file
/files GET List files
/delete?name= GET Delete file
/storage GET Storage info



Direct file access (acts as mini CDN):


http://DEVICE_IP/ < filename . filetype >



πŸ’‘ Use Cases
Smart IoT dashboards
Local network file sharing
Embedded media server
ESP-based mini cloud storage
Industrial monitoring systems
Smart home file interface
πŸ”₯ Web UI Features

βœ” File upload panel

βœ” Storage usage monitor

βœ” File list viewer

βœ” Image thumbnails

βœ” Delete button

βœ” View/Open file in new tab

βœ” Drag & Drop upload support

⚑ Example Workflow
Connect ESP to WiFi
Open IP in browser
Upload files via web UI
Access files via URL
Use API in your own projects

🧩 Integration Example (Web Project)

You can use uploaded files inside your own website:

<img src="http://DEVICE_IP/logo.png" />
<script>
fetch("http://DEVICE_IP/files")
  .then(r => r.json())
  .then(data => console.log(data));
</script>


🧠 Technical Notes

Fully async architecture (no blocking server calls)
Designed for low memory microcontrollers
Optimized for LAN usage
Works as embedded HTTP file server

πŸ‘¨β€πŸ’» Author

Mostafa MirMousavi (viramedar)

Embedded Systems | Network Engineering | IoT Development | Infrastructure Design

πŸ“œ License

MIT License

πŸš€ ViraMediaWeb Concept

Turn your ESP device into a smart web storage node inside your network

v0.3.3[beta]