WebDavUI is a modern, responsive web application that provides an intuitive interface for accessing, browsing, and managing files through WebDAV protocol. Built with Next.js and React, it offers a seamless file exploration experience with rich file previewing capabilities.
- WebDAV Integration: Connect to any WebDAV-compatible server
- File Explorer: Browse directories and files with an intuitive UI
- File Preview: Preview various file types directly in the browser:
- Images
- Videos
- Audio files
- PDFs
- Office documents
- Text files with syntax highlighting
- Responsive Design: Works on desktop and mobile devices
- Share System: Access shared folders through simple URLs
- Theme Toggle: Switch between light and dark modes
-
Frontend:
- Next.js 15.x
- React 19.x
- TypeScript
- SCSS Modules for styling
-
Libraries:
webdav: For WebDAV protocol communicationreact-pdf: PDF viewingreact-syntax-highlighter: Syntax highlighting for code filesmime-types: File type detectionmaterial-file-icons: File iconspdfjs-dist: PDF rendering
-
/app: Next.js app directory/page.tsx: Homepage with share access/[share]/[[...path]]/page.tsx: File explorer for a specific share/preview/[...filepath]/page.tsx: File preview pages/api/webdav/: API routes for WebDAV communication/components/: React components for different file previews/styles/: SCSS modules for styling/types/: TypeScript type definitions
-
/lib: WebDAV client and server utilities -
/public: Static assets
- Node.js (v18.x or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/webdavui.git
cd webdavui- Install dependencies
npm install
# or
yarn install- Run the development server
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
Configure your WebDAV server details in the appropriate configuration files.
npm run build
npm run start
# or
yarn build
yarn startA Dockerfile is included for containerized deployment:
docker build -t webdavui .
docker run -p 3000:3000 webdavuiThis project is licensed under the terms included in the LICENSE file.
Contributions are welcome! Please feel free to submit a Pull Request.