Temporary Autonomous Zone - A lightweight, cross-platform web-based file manager for instant file sharing and management.
TAZ is a simple, self-contained web application that allows you to quickly set up a file management interface on any supported device. Perfect for temporary file sharing, collaborative work environments, or when you need instant access to files across different devices on a network.
The Android app provides a comprehensive mobile interface, allowing you to run as a local WiFi access point, connect via BLE discovery, or scan your existing network for peers.
- Web-based interface - Access from any browser
- Full file management - Upload, download, create folders, rename, delete
- PMTiles Viewer - Built-in support for viewing and navigating
.pmtilesmap files - BBS messaging system - Optional bulletin board for team communication with audio room capability
- Optional password protection - Secure write operations
- External links - Add custom links to your file manager homepage
- Responsive design - Works on desktop and mobile
- Zero dependencies - Single binary deployment
- Cross-platform - Available for Linux, macOS, Windows, and Android
- Logging support - Optional request logging to file or stderr
TAZ includes a specialized viewer for geospatial data. When a .pmtiles file is detected in the file list:
- Globe Icon: A map icon will appear alongside the standard download one.
- Full-Screen Map: Clicking the globe icon opens a high-performance, full-screen zoomable map interface.
- GPS Integration: The map will automatically center on your current GPS position upon opening, if available.
The app launches with a dashboard offering five main functions:
- WiFi Server - Create a local WiFi access point with QR code sharing.
- Radio Scan - Scan for BLE tags to automatically connect to existing TAZ instances.
- Network Scan - Scan the local subnet to discover other TAZ nodes running on the network.
- Settings - Configure app behavior, server name, and security.
- Open - Open the embedded browser to manage your local files.
Before choosing an operational mode, you can configure the instance:
- Public - Toggle between public (0.0.0.0) or private (127.0.0.1) access.
- Bluetooth - Enable/disable BLE credential sharing when hosting.
- Name - Set a custom name for your TAZ node (defaults to a random ID).
- Password - Set a password for create/update/delete operations.
- Save & Return - Applies changes and restarts the internal server.
- Creates a temporary local WiFi network.
- Generates a random SSID and Password.
- Displays a status screen with two toggleable QR codes:
- Show WiFi QR: Scannable credentials to join the network.
- Show Browser QR: Scannable URL to open the file manager.
- Open Local: A shortcut to open the hosted instance in the internal view.
- Scans for Bluetooth Low Energy advertisements from other TAZ servers.
- Automatically receives WiFi credentials and IP information.
- Connects the device to the detected WiFi network and opens the interface.
- Scans the current local subnet (e.g.,
192.168.1.x) for port35248. - Lists all discovered active TAZ nodes.
- One-tap connection to any discovered node.
The Android app requires specific permissions to function:
- Location & Nearby Devices: Required for BLE scanning, WiFi management, and centering the map viewer.
- Audio: Required for the BBS audio room feature.
- WiFi Control: Required to create hotspots and connect to networks.
The BBS (Bulletin Board System) feature provides a simple messaging interface for team communication with added audio capability:
- Audio Room: Special microphone button brings participants to an audio-only room.
- Audio Controls: Participants can enable/disable their microphone at any time.
- Download the appropriate binary for your platform from the Releases page.
- Make it executable (Unix-like systems):
chmod +x taz
- Run with default settings:
./taz
- Open your browser to
http://localhost:35248.
./taz -root /path/to/your/files./taz -password mypassword -web-port 8080./taz \
-password secret \
-url "Documentation|https://example.com/docs" \
-log \
-log-file taz.logFor complex setups, you can manage all command-line options using a JSON configuration file.
To use a configuration file, pass its path to the -config flag:
./taz -config my_settings.jsonExample config.json:
{
"web_host": "0.0.0.0",
"web_port": 8080,
"password": "secret",
"root": "/shared/team-files",
"log": true,
"log_file": "taz_access.log",
"url": [
"Documentation|https://example.com/docs",
"Team Chat|https://chat.example.com"
]
}| Option | Default | Description |
|---|---|---|
-name |
(empty) | Set the display name for the instance/node |
-web-host |
localhost |
Host address to listen on |
-web-port |
35248 |
Port for the web server |
-password |
(empty) | Password for write operations |
-root |
files |
Root directory for file management |
-log |
false |
Enable request logging |
-log-file |
(empty) | Path to log file (uses stderr if empty) |
-url |
(none) | External links (format: Name|URL), can be used multiple times |
-config |
(empty) | Path to a JSON configuration file |
To build the console binary:
git clone https://github.com/eja/taz.git
cd taz
make