Version 2.1.2
NFiles is a small Windows and PHP toolset for distributing files from one main PC to Windows virtual machines through selected Proxmox hosts. Files are sent to Tiny File Manager on a host, then a manually launched NFiles agent on a VM copies them into C:\ and/or the current user's Desktop.
The Desktop application and VM agent do not run in the background.
Download the ready-to-use package from the latest GitHub release. Do not use Code → Download ZIP: that archive contains source files, not the prepared application package.
NFiles_server— place this folder in the web root of each Proxmox host, beside Tiny File Manager.NFiles_desktop— place this portable folder on the main PC. It contains theDisk CandDesktopsource folders.- Desktop creates one configured
NFiles_agent_<host>.exefor every saved host.
- On every host, place
NFiles_serverin the web root, beside Tiny File Manager. - On the main PC, start
NFiles_desktop.exe, enter the host addresses, and close the window once to save them. - Check each host in a browser:
http://HOST:8080/NFiles_server/api.php?action=health. The response must contain"ok":true.
- Start
NFiles_desktop.exe. - Click the folder icon to open the NFiles Desktop directory, then add files and folders to
Disk C(forC:\) and/orDesktop(for the user Desktop). - Use the upload arrow for one host, or
Upload allfor every saved host.
Folder structure is preserved. For example, Disk C/123/notes is copied to C:\123\notes on a VM.
Desktop automatically creates one agent file per host in NFiles_desktop/NFiles_agents, for example NFiles_agent_192.168.1.10.exe. Copy that EXE onto every VM served by the relevant host and run it to receive files.
Each agent run downloads every file still stored on its host. Existing files with the same names are replaced only after the incoming archive is downloaded and verified. Missing folders are created. Files not managed by NFiles are never removed from a VM.
Use Delete for one host or Delete from all hosts in Desktop when every VM has received the files. These actions delete only NFiles archives on the relevant host; they never delete files already copied to VMs.
The Tiny File Manager Docker image can use PHP defaults that limit uploads to 2M. If NFiles shows an upload-body or Unknown action error, check the active limits on the Proxmox host:
docker exec tinyfilemanager php -i | grep -E 'upload_max_filesize|post_max_size|max_execution_time|max_input_time'If the size limits are too small, create a NFiles-specific PHP configuration inside the container and restart only Tiny File Manager:
docker exec tinyfilemanager sh -c 'printf "%s\n" \
"upload_max_filesize = 512M" \
"post_max_size = 520M" \
"max_execution_time = 300" \
"max_input_time = 300" \
> /usr/local/etc/php/conf.d/99-nfiles-upload.ini'
docker restart tinyfilemanagerRun the first command again. upload_max_filesize must be 512M and post_max_size must be 520M. This affects only PHP inside the tinyfilemanager container, not the Proxmox host or VMs. Repeat the configuration if the container is removed and recreated.
NFiles_desktop.exeand generatedNFiles_agent_<host>.exefiles run without a visible console window.- NFiles has no token or server configuration file. Any device that can reach the NFiles server address can upload, download, or clear NFiles files; use it only on a trusted private network.
- Never expose the NFiles server or Tiny File Manager port to the public internet.
NFiles_server— разместите эту папку в веб-корне каждого Proxmox-хоста рядом с Tiny File Manager.NFiles_desktop— разместите эту портативную папку на основном ПК. В ней находятся исходные папкиDisk CиDesktop.- Desktop автоматически создаёт один настроенный файл
NFiles_agent_<host>.exeдля каждого сохранённого хоста.
- На каждом хосте разместите
NFiles_serverв web-root рядом с Tiny File Manager. - На основном ПК запустите
NFiles_desktop.exe, укажите адреса хостов и один раз закройте окно для сохранения. - Проверьте каждый хост в браузере:
http://HOST:8080/NFiles_server/api.php?action=health. В ответе должно быть"ok":true.
- Запустите
NFiles_desktop.exe. - Нажмите кнопку с иконкой папки, чтобы открыть папку NFiles Desktop, затем поместите файлы и папки в
Disk C(дляC:\) и/илиDesktop(для рабочего стола пользователя). - Используйте стрелку Upload для одного хоста или
Upload allдля всех сохранённых хостов.
Структура папок сохраняется. Например, Disk C/123/notes будет скопирован на ВМ как C:\123\notes.
Desktop автоматически создаёт по одному файлу агента на хост в NFiles_desktop/NFiles_agents, например NFiles_agent_192.168.1.10.exe. Скопируйте этот EXE на все ВМ, обслуживаемые нужным хостом, и запускайте его для получения файлов.
При каждом запуске агент получает все файлы, которые всё ещё хранятся на его хосте. Одноимённые файлы заменяются только после полной загрузки и проверки входящего архива. Отсутствующие папки создаются. Файлы, которыми NFiles не управляет, с ВМ никогда не удаляются.
Используйте Delete для одного хоста или Delete from all hosts в Desktop, когда все ВМ получили файлы. Эти действия удаляют только архивы NFiles с соответствующего хоста и никогда не удаляют файлы, уже скопированные на ВМ.
Образ Tiny File Manager в Docker может использовать стандартные лимиты PHP, ограничивающие загрузку до 2M. Если NFiles показывает ошибку тела загрузки или Unknown action, проверьте активные лимиты на Proxmox-хосте:
docker exec tinyfilemanager php -i | grep -E 'upload_max_filesize|post_max_size|max_execution_time|max_input_time'Если лимиты слишком малы, создайте отдельный PHP-конфиг для NFiles внутри контейнера и перезапустите только Tiny File Manager:
docker exec tinyfilemanager sh -c 'printf "%s\n" \
"upload_max_filesize = 512M" \
"post_max_size = 520M" \
"max_execution_time = 300" \
"max_input_time = 300" \
> /usr/local/etc/php/conf.d/99-nfiles-upload.ini'
docker restart tinyfilemanagerПовторно выполните первую команду. upload_max_filesize должен быть равен 512M, а post_max_size — 520M. Изменение касается только PHP внутри контейнера tinyfilemanager, а не Proxmox-хоста или ВМ. Если контейнер удалят и создадут заново, настройку нужно повторить.
NFiles_desktop.exeи созданные файлыNFiles_agent_<host>.exeзапускаются без видимого консольного окна.- В NFiles нет токена и серверного конфигурационного файла. Любое устройство, которое может обратиться к адресу NFiles-сервера, может загружать, скачивать или очищать файлы NFiles; используйте систему только в доверенной приватной сети.
- Никогда не открывайте доступ к NFiles-серверу или порту Tiny File Manager из публичного интернета.