fdp · синхронизация папки на cashe

Загрузчик fdp.ps1

Скрипт для Windows: кладёшь в папку — и все файлы автоматически улетают
в папку с тем же именем на files.pipiska.fun

Скачать fdp.ps1
fdp.ps1 · ~52 КБ · Windows PowerShell 5.1+

или вручную: powershell -ExecutionPolicy Bypass -File fdp.ps1

1 Что это такое

  • Скрипт fdp.ps1 кладётся в папку, файлы из которой надо заливать на cashe (files.pipiska.fun).
  • При запуске он создаёт на сервере папку с тем же именем и начинает автоматически загружать туда файлы.
  • Новые и изменённые файлы улетают сами — проверка каждые 2 секунды, ничего нажимать не надо.
  • Загружает и из подпапок, сохраняя структуру.
  • Рассинхронизация: если удалишь файл локально — на сервере он остаётся. Удаление работает только в одну сторону.
  • Пароль спрашивается при первом запуске и хранится зашифрованным (DPAPI).

2 Установка

  1. Скачай fdp.ps1 кнопкой выше.
  2. Положи его в ту самую папку, файлы из которой должны заливаться на cashe.
  3. Запусти: дважды кликни по созданному fdp-start.cmd или в cmd:
powershell -ExecutionPolicy Bypass -File fdp.ps1копировать
  • Введи пароль сервера (например mdsh).
  • Скрипт создаст удалённую папку, настроит автозагрузку при старте Windows и команду fdp.
  • Всё — файлы начнут заливаться автоматически.
Совет: после установки перезапусти cmd/терминал, чтобы команда fdp стала доступна.

3 Команды

После установки в PATH появляется команда fdp. Статус и управление — из любой cmd:

КомандаДействие
fdpпоказать статус всех папок
fdp speed 1024ограничить скорость загрузки (КБ/с)
fdp speed 0убрать ограничение скорости
fdp stopостановить синхронизацию
fdp startзапустить синхронизацию
fdp syncпересинхронизировать сейчас
fdp loginсменить пароль
fdp registerвключить автозагрузку Windows
fdp unregisterвыключить автозагрузку Windows
fdp testпроверить подключение к серверу

4 Как это работает

Фоновый процесс проверяет папку каждые 2 секунды, сравнивает размер и время изменения файлов с сохранённым состоянием и загружает новые/изменённые. Данные и логи лежат в %APPDATA%\fdp\:

config\ — конфиг (пароль, скорость, адрес сервера)
status\ — текущий статус (читает команда fdp)
logs\ — журнал работы
fdp.cmd — сама команда fdp (добавляется в PATH)

Что умеет дополнительно

  • Автозагрузка при включении ПК — регистрируется в HKCU\...\Run, запускается скрыто.
  • Уведомление Windows (всплывающий баллон в трее) при ошибке — не чаще раза в минуту.
  • Ограничение скорости отдачи на сервер через fdp speed.
  • Защита от повторной заливки: упавший файл не дёргается 60 секунд.
  • Временные файлы .tmp / .part пропускаются.

5 Требования к серверу (API)

Сервер cashe (files.pipiska.fun) использует один общий пароль и сессионную куку — без пользователей.

1. Вход (получаем куку)

POST {base}/api/login
Content-Type: application/json

{"password":"<пароль>"}копировать

Успех = HTTP 2xx, сервер отдаёт Set-Cookie: cashe_auth=.... Дальше кука отправляется автоматически.

2. Создание папки

POST {base}/api/mkdir
Content-Type: application/json

{"path":"","name":"<имя папки>"}копировать

Успех = HTTP 2xx. Если папка уже есть — 400 {"error":"exists"}, скрипт считает это успехом.

3. Загрузка файла

POST {base}/api/upload
Content-Type: multipart/form-data

path: <имя папки, можно с подпапками, напр. "МояПапка/фото">
f:    <содержимое файла>копировать

Успех = HTTP 2xx ({"ok":true,"saved":[...]}).

Если API другой: отредактируй %APPDATA%\fdp\config\<папка>.json — поля api.login_path, api.create_folder_path, api.upload_path. Скрипт сам определит http или https при первом запуске.

6 Удаление (если что-то пошло не так)

Всё сломала и хочешь выпилить с компа полностью? Нажми кнопку — скачается архив, распакуй его и кликни uninstall.cmd дважды. Он сам запустит деинсталлятор и всё уберёт:

  1. Остановит работающие процессы fdp.
  2. Снимет автозагрузку при старте Windows.
  3. Удалит %APPDATA%\fdp (конфиг, логи, команда fdp).
  4. Очистит PATH от команды fdp.
  5. Удалит fdp.ps1 и fdp-start.cmd из твоей папки.

Твои файлы в папке синхронизации не удаляются. Права администратора не нужны.

Скачать деинсталлятор
fdp-uninstall.zip · 2 файла: uninstall.cmd + uninstall.ps1
Как запустить: распакуй архив (ПКМ → «Извлечь все…»), открой папку и сделай двойной клик по uninstall.cmd. Откроется чёрное окно — оно всё сделает само и покажет результат. После этого открой новое окно cmd — команда fdp пропадёт (или просто перезагрузись).