Back to projects

02

MiNAS

A web file explorer for a NAS, with no VPN and without exposing SMB to the internet.

The problem

Reaching a NAS from outside the office usually means a VPN or opening port 445, a well-known security risk. I wanted to manage files from my phone with neither.

What I built
  • Python agent that talks to the NAS over SMB with pysmb, designed to open the connection outbound so no ports are exposed.
  • FastAPI service connecting the interface with the agent.
  • React and TypeScript PWA to browse folders and upload, download, create, rename, delete and preview images and PDFs.
Challenge

The first plan was a native iOS app, but I don't own a Mac. I built a PWA instead: it runs on the iPhone and let me reuse my web stack.

Architecture
  1. Phone

    PWA

  2. API

    FastAPI

  3. Agent

    Python

  4. NAS

    SMB