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.
- 🌐 Web-based interface - Access from any browser
- 📁 Full file management - Upload, download, create folders, rename, delete
- 💬 BBS messaging system - Optional bulletin board for team communication
- 🔒 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 multiple operating systems
- 📝 Logging support - Optional request logging to file or stderr
- 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 -bbs messages.db
./taz \
-password secret \
-bbs team-messages.db \
-url "Documentation|https://example.com/docs" \
-url "Team Chat|https://chat.example.com" \
-log \
-log-file access.log
Create a config.json
file with your settings:
{
"password": "secret",
"bbs": "team-messages.db",
"url": [
"Documentation|https://example.com/docs",
"Team Chat|https://chat.example.com"
],
"log": true,
"log_file": "access.log"
}
Then run TAZ, pointing it to your config file:
./taz -config config.json
./taz -web-host 0.0.0.0 -web-port 8080
Option | Default | Description |
---|---|---|
-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 |
-bbs |
(empty) | Path to SQLite database for BBS messaging (disabled if not provided) |
-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. See details below. |
For complex setups, you can manage all command-line options using a JSON configuration file. This is useful for creating reusable and easily shareable configurations.
To use a configuration file, pass its path to the -config
flag:
./taz -config my_settings.json
In the JSON file, the option names are the same as the command-line flags, but with hyphens (-
) replaced by underscores (_
).
Example config.json
:
{
"web_host": "0.0.0.0",
"web_port": 8080,
"password": "secret",
"root": "/shared/team-files",
"bbs": "team-board.db",
"log": true,
"log_file": "taz_access.log",
"url": [
"Documentation|https://example.com/docs",
"Team Chat|https://chat.example.com"
]
}
Note: Any options passed directly on the command line will override the values specified in the configuration file. For example:
# The web port will be 9090, overriding the value in the config file.
./taz -config config.json -web-port 9090
The BBS (Bulletin Board System) feature provides a simple messaging interface for team communication:
- Enable BBS: Use the
-bbs
flag with a database file path (e.g.,-bbs messages.db
) - Database: Uses SQLite to store messages persistently
- Default behavior: BBS is disabled when no database path is provided
- Access: Available through the web interface alongside file management
Example BBS usage:
# Enable BBS with custom database
./taz -bbs team-board.db
# BBS disabled (default behavior)
./taz -root /shared/files
You can add custom links to the homepage using the -url
flag multiple times:
./taz \
-url "Company Intranet|http://intranet.company.com" \
-url "Project Repository|https://github.com/user/project" \
-url "https://eja.tv" # URL without custom name
git clone https://github.com/eja/taz.git
cd taz
make