Files
zpan/docs/i18n/README.ru.md
T

16 KiB
Raw Blame History

ZPan logo

ZPan

Файловый хостинг с открытым исходным кодом для вашего S3-совместимого хранилища.

Разворачивайте на Cloudflare Workers или в Docker. Загружайте файлы напрямую в объектное хранилище.

CI codecov Release GitHub Release Docker Image License

English · 简体中文 · 日本語 · 한국어 · Русский · Español · Português (BR)

Что такое ZPan?

ZPan — это лёгкая платформа файлового хостинга, построенная поверх S3-совместимого хранилища. Файлы загружаются напрямую с клиента в S3 через предподписанные (presigned) URL, полностью минуя пропускную способность сервера. Сервер выступает как уровень управления: аутентификация, метаданные, общий доступ, квоты, команды, WebDAV, интеграции с инструментами и административные операции.

Границы продукта намеренно очерчены: ZPan — это специализированный веб-диск на базе S3, а не обёртка над всеми потребительскими облачными дисками и не полноценный набор групповых приложений. Вы предоставляете S3-совместимый бакет, а ZPan даёт ему чистый веб-интерфейс, публичный общий доступ, API для хостинга изображений и варианты развёртывания, которые не требуют VPS или NAS.

Основные сценарии:

  • Веб-диск на S3 — управляйте файлами, папками, предпросмотрами, корзиной, квотами и командными рабочими пространствами поверх собственного объектного хранилища
  • Хостинг изображений — загружайте через PicGo, PicList, uPic, ShareX, Flameshot или API и мгновенно получайте стабильный URL
  • Общий доступ к файлам — публикуйте ссылки с паролем, сроком действия, лимитом загрузок, прямыми ссылками и возможностью сохранения на диск
  • Персональная домашняя страница — дайте каждому пользователю публичную страницу /u/username с подобранными общими файлами и просмотром в стиле папок
  • Внешний доступ — монтируйте файлы через WebDAV и запускайте воркеры-загрузчики для удалённой загрузки

Почему ZPan?

Только S3, по замыслу. ZPan не гонится за каждым облачным диском и не строит слой вложенных облачных хранилищ. Контракт хранилища остаётся простым и надёжным: S3-совместимые бакеты, такие как Cloudflare R2, AWS S3, Backblaze B2, MinIO, RustFS, Tigris и другие S3-совместимые сервисы.

Cloudflare Workers в первую очередь. ZPan построен вокруг Cloudflare Workers, D1, Hono и веб-стандартных API, а Docker и другие среды выполнения служат дополнительными целями развёртывания. Вы можете запустить полноценный уровень управления файловым хостингом, не владея VPS, не держа NAS включённым и не проксируя загрузки через постоянно работающий сервер.

Прямой путь передачи. Загрузки и скачивания используют предподписанные URL объектного хранилища, когда это возможно. Это снижает нагрузку на пропускную способность сервера, устраняет центральное узкое место передачи файлов и позволяет объектному хранилищу выполнять основную работу.

Практичные сценарии работы с файлами. ZPan включает веб-файловый менеджер, публичный общий доступ, настройку хостинга изображений, API-ключи, доступ по WebDAV, команды, квоты, задачи удалённой загрузки, предпросмотр файлов и административные элементы управления — не превращаясь при этом в платформу-агрегатор провайдеров.

Разворачиваемые воркеры-загрузчики. Удалённая загрузка не обязана выполняться внутри основного экземпляра ZPan. Вы можете развернуть загрузчик вместе с ZPan для простой настройки или запустить его отдельно в окружении с лучшим сетевым доступом и меньшими ограничениями со стороны исходных сайтов, а затем позволить ZPan импортировать завершённые файлы в объектное хранилище.

Границы продукта

ZPan хорошо подходит, когда вам нужно:

  • Сфокусированный веб-диск на базе S3 вместо зоопарка провайдеров хранилищ
  • Самостоятельно размещаемый хостинг изображений и приложение для обмена файлами на базе собственного бакета
  • Развёртывание в экосистеме Cloudflare без обслуживания VPS или NAS
  • Передача из браузера в S3 вместо проксирования файлов через сервер приложения
  • Интеграции с инструментами для скриншотов, публикации, WebDAV, удалённой загрузки и сценариев на основе API

ZPan не стремится быть:

  • Набором для совместного редактирования документов в реальном времени, как Nextcloud Office
  • Универсальным агрегатором облачных дисков, как AList
  • Браузером локальных серверных каталогов, как File Browser

Как ZPan соотносится с другими

Большинство проектов самостоятельного файлового хостинга отталкиваются либо от серверных файлов, либо от синхронизации с настольным ПК, либо от совместной работы, либо от агрегации множества провайдеров. ZPan отталкивается от S3-совместимого объектного хранилища и уровня управления, дружественного к Cloudflare Workers.

Возможность ZPan Cloudreve AList Nextcloud Seafile File Browser
Ориентация на продукт на базе S3
S3-совместимый бэкенд хранилища ⚠️
Прямой путь из браузера в объектное хранилище ⚠️ ⚠️
Развёртывание на Cloudflare Workers
Не требуется VPS/NAS
Сценарий хостинга изображений PicGo/ShareX
Публичная домашняя страница файлов для каждого пользователя ⚠️ ⚠️ ⚠️ ⚠️
Сценарий удалённой загрузки
Отдельно разворачиваемый загрузчик/узел ⚠️
Агрегация нескольких облачных дисков ⚠️
Локальный серверный каталог как основной корень файлов ⚠️ ⚠️ ⚠️
Совместное редактирование документов в реальном времени ⚠️
Выделенные клиенты синхронизации Запланировано
Модель команд/рабочих пространств ⚠️
Доступ по WebDAV
Ссылки для общего доступа
Развёртывание в Docker

Условные обозначения: первоклассная или ключевая возможность; ⚠️ частичная, зависящая от редакции или не являющаяся основным фокусом продукта; не является ключевой возможностью.

Развёртывание

Cloudflare Workers (рекомендуется)

Разворачивайте через GitHub Actions без управления сервером. Бесплатного тарифа достаточно для личного использования.

  1. Сделайте форк этого репозитория
  2. В своём форке перейдите в Settings → Secrets and variables → Actions и добавьте:
    • CLOUDFLARE_ACCOUNT_ID — находится в боковой панели панели управления Cloudflare
    • CLOUDFLARE_API_TOKEN — создайте его здесь с правами Workers Scripts:Edit, D1:Edit и R2 Storage:Edit (область R2 нужна для автоматического создания бакета для аватаров/логотипа)
  3. Перейдите на вкладку Actions, выберите Deploy to Cloudflare Workers и нажмите Run workflow

После первоначальной настройки workflow запускается автоматически каждый раз, когда вы синхронизируете свой форк с последним релизом.

AWS Lambda

Разворачивайте через GitHub Actions с использованием SAM. Lambda Function URL обеспечивает HTTPS без необходимости в API Gateway.

  1. Сделайте форк этого репозитория
  2. В своём форке перейдите в Settings → Secrets and variables → Actions и добавьте:
    • TURSO_DATABASE_URL и TURSO_AUTH_TOKEN — из Turso (бесплатно, без банковской карты)
    • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION
  3. Перейдите на вкладку Actions, выберите Deploy to AWS Lambda и нажмите Run workflow

См. docs/deploy/aws-lambda.md для полных инструкций по настройке и прав IAM.

Docker

Быстрый старт — загрузите готовый образ и подключите своё S3-хранилище:

curl -O https://raw.githubusercontent.com/saltbo/zpan/main/deploy/docker-compose.yml
docker compose up -d

С RustFS (самостоятельно размещаемое S3-совместимое хранилище, без внешних зависимостей):

curl -O https://raw.githubusercontent.com/saltbo/zpan/main/deploy/docker-compose.rustfs.yml
docker compose -f docker-compose.rustfs.yml up -d

После запуска:

  1. Откройте консоль RustFS по адресу http://localhost:9001 (admin / admin123) и создайте бакет (например, zpan-bucket)
  2. Откройте ZPan по адресу http://localhost:8222, зарегистрируйте пользователя (первый пользователь получает роль администратора)
  3. Перейдите в Admin → Storage и добавьте хранилище RustFS:
    • Endpoint: http://localhost:9000 (должен быть доступен из вашего браузера, а не внутренний хостнейм Docker)
    • Bucket: имя бакета, который вы создали на шаге 1
    • Region: us-east-1
    • Access Key / Secret Key: admin / admin123

Важно: конечная точка хранилища должна быть доступна из браузера клиента, поскольку файлы загружаются напрямую в S3 через предподписанные URL. Используйте http://localhost:9000 для локальной разработки или публичный URL вашего сервера для продакшена.

Документация

v1

Ищете ZPan v1 (версия на Go)? См. ветку v1.

Участие в разработке

Подробности см. в CONTRIBUTING.md.

Спасибо всем, кто внёс свой вклад в ZPan!

Лицензия

ZPan распространяется под лицензией GNU Affero General Public License v3.0. Подробности см. в файле LICENSE.