Files

153 lines
5.8 KiB
Markdown
Raw Permalink Normal View History

<div align="center">
# WSA WebDev
### Headless Android WebDAV Server for WSA
![Version](https://img.shields.io/badge/version-1.0.0-blue?style=for-the-badge)
![Platform](https://img.shields.io/badge/Platform-WSA-3DDC84?style=for-the-badge)
![Language](https://img.shields.io/badge/Language-Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white)
![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)
**Access your WSA file system from any browser — with root support, web file manager, and ADB control.**
Part of the [WSA Installer](https://github.com/WSA-Installer) organization.
</div>
---
## Overview
WSA WebDev is a headless Android WebDAV server APK for rooted Windows Subsystem for Android (WSA). It provides:
- **WebDAV Protocol** — Full WebDAV server with all standard methods
- **Root Access** — Access the entire Android filesystem via Magisk
- **Web File Manager** — Beautiful SPA with dark/light themes
- **ADB Control** — Start, stop, and monitor via ADB broadcasts
- **Auto-Start** — Boot receiver for automatic startup
- **Health Monitoring** — 30-second interval health checks
## Features
| Feature | Description |
|:--------|:------------|
| WebDAV Protocol | OPTIONS, GET, PUT, DELETE, MKCOL, COPY, MOVE, PROPFIND, PROPPATCH, LOCK, UNLOCK |
| Root Access | Full filesystem access via `su` (requires Magisk) |
| Web File Manager | Grid/list views, drag-drop, hex viewer, terminal, bookmarks |
| ADB Commands | START, STOP, RESTART, STATUS, HEALTH |
| Auto-Start | Boot receiver for automatic startup |
| Health Monitoring | 30-second interval checks with exponential backoff |
| Zero Dependencies | Pure Kotlin, no external libraries |
## Quick Start
### Prerequisites
- Windows with WSA installed
- Root access (Magisk) — optional, for root mode
- JDK 17 (for building)
- Python 3 (for build script)
### Build
```bash
# Windows
build.bat
# Linux/Mac
chmod +x build.sh
./build.sh
```
### Install
```bash
adb install output/app-release.apk
```
### Start Server
```bash
# User mode
adb shell am start -n com.wsa.webdav/.MainActivity
# Root mode
adb shell su -c "sh /data/data/com.wsa.webdav/files/app.sh start"
```
### Access Files
- **WebDAV:** `http://127.0.0.1:8088/files/`
- **Web File Manager:** `http://127.0.0.1:8088`
## Documentation
- [Installation Guide](docs/installation.md)
- [Configuration](docs/configuration.md)
- [WebDAV Protocol](docs/webdav-protocol.md)
- [ADB Commands](docs/adb-commands.md)
- [Root Access](docs/root-access.md)
- [Troubleshooting](docs/troubleshooting.md)
## Architecture
```
┌─────────────────────────────────────────────────────┐
│ WSA WebDev APK │
├─────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ WebDAV │ │ Web File Manager │ │
│ │ Server │◄──►│ (SPA) │ │
│ │ (Kotlin) │ └──────────────────┘ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ Filesystem │ │ Root Manager │ │
│ │ Provider │ │ (Magisk su) │ │
│ └─────────────┘ └──────────────────┘ │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ ADB │ │ Health Monitor │ │
│ │ Receiver │ │ (30s interval) │ │
│ └─────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────┘
```
## Tech Stack
| Technology | Purpose |
|:-----------|:--------|
| Kotlin | Primary language |
| Android SDK 34 | Target platform |
| WebDAV Protocol | File access |
| HTML/CSS/JS | Web file manager SPA |
| ADB | Remote control |
## Supported Environments
| Environment | Status |
|:------------|:-------|
| WSA with Magisk (root) | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
| WSA without root | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
| Android 13+ | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
| Android 14+ | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
| x86_64 | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
| ARM64 | ![Supported](https://img.shields.io/badge/Supported-3DDC84?style=flat-square) |
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
## License
This project is licensed under the MIT License — see [LICENSE](LICENSE) for details.
## Acknowledgments
- Part of the [WSA Installer](https://github.com/WSA-Installer) project
- Built by [AT Tech Zone](https://www.youtube.com/@AT_Tech_Zone)