Skip to content
DomeNinchen edited this page Oct 9, 2026 · 1 revision

Files

The Files page (Content in the navigation, admins only) is a file browser for the channel file repositories of a virtual server. Every channel has a file area of its own in TeamSpeak, the place the clients' Channel Files window shows. Here you browse it, upload to it, download from it, make folders, preview pictures, move files between channels and delete.

What it needs

TeamSpeak's WebQuery has no file-transfer commands, so this page works over two other connections:

  • The server connection's SSH ServerQuery credentials. Without them the page says so instead of listing anything — see Getting Started.
  • The server's file-transfer port (30033 by default), which has to be open to the backend. The listing travels over SSH, but the bytes of every upload and download go over this separate port. Listing can work while this port is closed; the transfers then fail with "Could not reach the file-transfer port" — see Deployment.

Browsing

Pick a channel in the list on the left; its files appear on the right. Folders are listed first, then files alphabetically, with their size and the time they were last modified. The path above the list is clickable (/ is the top of the channel's area), the arrow goes one level up, and the counter shows how many items the folder holds. The listing is always fetched fresh, so an upload that finished while you were on another page shows up when you come back.

Point at a row and its buttons appear:

Button What it does
Preview (eye) Shows a picture in a window; only on pictures, see below.
Download Starts a download in your browser. On a folder it reads Download as ZIP.
Move to another channel Files only. Pick the target channel; the file is moved on the TeamSpeak server itself, its bytes never pass through the manager.
Delete After a confirmation. A folder is deleted with everything in it, and there is no undo.

New Folder in the header makes a folder in the folder you are looking at. A name that TeamSpeak cannot store (empty, containing / or a backslash, . or .., longer than 255 bytes) is flagged before you can press Create.

Uploading

Upload files opens the upload window, and so does dropping files or folders onto the file list. In the window you choose files, choose a folder, or drop more, and you look the list over before anything is sent: remove what you don't want, see how many files and how much data it is, and see empty folders marked. A folder keeps its structure when it is uploaded, and an empty folder is only taken along when the folder is dropped — the browser's folder picker reports files only.

  • Names with umlauts or other non-ASCII characters are flagged. A TeamSpeak client may not be able to download such a file afterwards ("file not found"). The window offers to upload it under a plain ASCII name instead (ä becomes ae, ö oe, ü ue, ß ss), per file or for all at once, or to keep the name as it is. For a folder the choice covers the folder's own name and everything inside it. The background is in Troubleshooting.
  • The largest file is set by the FILES_MAX_UPLOAD_MB environment variable (100 MB by default); the page prints the current limit under the list, and a file above it is not uploaded — it is reported as larger than the maximum upload size. See Configuration.
  • At most 2000 files and folders per upload. Upload a bigger tree in parts, or pack many tiny files into one archive.
  • If the name already exists, you are asked to Overwrite or Skip, with a tick to do the same for all the remaining files of that upload. Overwriting replaces the old file only once the new one has arrived completely; if the upload fails, the old file stays as it is.

The uploads are listed in a panel under the file list: waiting, making folders, uploading with a progress bar, finished, skipped, failed (with the reason) or canceled. They go up two at a time, because a TeamSpeak server hands out only a few transfer slots, and each one can be canceled. Clear finished tidies the list. The uploads belong to your browser tab and not to the page: they carry on while you look at other pages of the app. Reloading or closing the tab ends them, and the browser asks first for as long as something is still going.

Downloading

A download is a link that your browser opens itself, so the file streams straight to disk and the browser's own download list shows the progress. A folder comes as one ZIP, packed while it downloads. A folder that cannot be a ZIP (too many files, nested too deeply, or over 4 GiB) is refused before anything starts; the figures are in Troubleshooting.

Previewing pictures

The eye button, or a click on the picture's name, opens it in a window; the arrow keys (and the buttons) go to the previous and next picture of the folder, and the window offers a download too.

  • PNG, JPEG, GIF, BMP and WebP, from 1 byte up to 10 MB (and up to 64 megapixels), are previewed. The button appears for names that end like one of those.
  • The backend decides again by looking at the bytes, not at the name: a file called .png that is something else is refused with "not a picture the preview can show". SVG is never shown, whatever it is called, because it can carry scripts.
  • At most four previews run at once so that they cannot use up the server's few transfer slots; if one says the server is busy, press Try again.

When it doesn't work

The page's own messages (SSH missing, port unreachable, name refused by the server, HTTP 413 from a reverse proxy) and what to do about each are collected in Troubleshooting → The Files page. A reverse proxy of your own in front of the app needs a larger request-size limit for the upload route; the directives are sketched under Deployment.

The server's icon pool is a different thing and has its own page: Icons.


v0.1, last edited 09.10.2026

Getting started

Home
Getting Started
Install on Debian 13
Setup: same machine
Setup: elsewhere / rented
Users and Roles

Using the app

Dashboard
Virtual Servers and Instance
Channels
Clients
Client Database
Permissions
Server and Channel Groups
Moderation
Tokens and Passwords
Files
Icons
Bot Flows
Music Bots
Server Widgets
Server Maintenance
Server Logs
Query Console
Connection Journal
Themes and Appearance

Running it

Administration
Configuration
Deployment
Privacy and Hosting

When something is odd

Tips and Pitfalls
Troubleshooting

Contributing

Development

Repository · Changelog

Clone this wiki locally