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

Загрузка...

Интеграция с терминалом (Linux CLI)

Установите утилиту fs на любой Linux-сервер в одну строку без root-прав, чтобы загружать и скачивать файлы прямо из консоли.

Без прав root: скрипт сохранится в текущую директорию как ./fs.
С правами root: если выполнить sudo bash ..., скрипт установится глобально в /usr/local/bin/fs.
Конфигурация всегда сохраняется в профиль вашего пользователя (~/.config/fileshare/config).

Управление доступом (Zero-Knowledge)

Сохраните эту ссылку-ключ. Открыв её на другом устройстве, вы получите доступ к своим файлам. Секретный ключ находится в хэш-части URL (#auth=...) и никогда не отправляется на сервер.

Руководство пользователя и База Знаний (FAQ)

SafeShare (FileShare) — защищенный транзитный шлюз передачи данных (The Developer-First Ephemeral Transit Gate) для IT-специалистов, системных администраторов и DevOps-инженеров. Сервис объединяет беспарольную Zero-Knowledge безопасность в браузере с нативной консольной утилитой Linux CLI (fs).

Сценарий 1: Разделение проектов и безопасный старт (Magic Links)

«Мне нужно чистое изолированное пространство для нового заказчика, чтобы не смешивать его файлы с моими рабочими архивами, не вводя пароли».

В SafeShare отсутствует традиционная регистрация с привязкой email. Сессия управляется криптографической парой ключей в localStorage браузера. Перенос и привязка сессий осуществляются через Magic Links (ссылки с хэшем вида https://domain/#auth=ID:TOKEN). Согласно стандарту RFC 3986, фрагмент URL после символа # никогда не передается на HTTP-сервер, защищая ваш ключ от логов Nginx и прокси-серверов.

💡 Пошаговое руководство: Создание и синхронизация профилей
  1. Новый изолированный аккаунт: Откройте сайт в режиме Инкогнито. Сервер мгновенно сгенерирует чистую сессию с уникальным ID.
  2. Перенос на другое устройство: Перейдите во вкладку «Доступ», скопируйте Magic Link и откройте ссылку на целевом ПК или смартфоне.
  3. Бесшовная синхронизация: JavaScript в браузере перехватит хэш-ключ, сохранит его в локальном хранилище и вызовет history.replaceState(), скрыв ключ из адресной строки.

Сценарий 2: Автоматизация Linux-серверов и сбор логов (CLI)

«На удаленном сервере без графического интерфейса произошел сбой. Нужно собрать логи, сгруппировать их и быстро скачать на рабочий ноутбук, не оставляя мусора на сервере».

Консольный клиент fs работает поверх стандартных утилит curl или wget, не требует прав root для запуска и адаптирован для встраивания в bash-скрипты.

🛠 Рецепт решения задачи в терминале:

1. Установка и привязка к профилю в 1 строку:

curl -sSL "https://domain/api/cli" | bash -s -- "w_user:token"

2. Выгрузка с группировкой в виртуальную папку и локальным стиранием (--rm):

fs u /var/log/nginx/*.log -t "incident-logs" --rm

3. Скачивание всех логов единым архивом на рабочем компьютере:

fs get -t "incident-logs"

Сценарий 3: Передача артефактов и Право на ошибку (7-дневный Grace Period)

«Я отправил клиенту дамп БД с лимитом в 1 скачивание. У клиента оборвался мобильный интернет, попытка списалась, ссылка заблокировалась. Нужно ли выгружать файл заново?»

В SafeShare реализована двухуровневая модель удаления файлов: Soft Delete (Grace Period) и Hard Delete (Garbage Collector).

⏱ Механизм жизненного цикла данных:
  • Soft Delete (Программная блокировка): Когда счетчик скачиваний исчерпан или наступил срок TTL, файл блокируется по публичной ссылке (ответ 404 / 410). Следующие 7 дней файл остается в статусе "Grace Period". Владелец видит файл в веб-панели и CLI со специальным статусом и может в 1 клик восстановить квоту.
  • Hard Delete (Физическое уничтожение): Если в течение 7 дней квоты не были продлены, фоновый сборщик мусора безвозвратно стирает файл с диска (unlink) и каскадно очищает базу данных.
  • Императивное удаление: Команды fs rm в CLI или кнопка «Удалить файл» в Web UI выполняют Hard Delete немедленно, минуя Grace Period.

Сценарий 4: Утечка данных (Регламент компрометации Zero-Recovery)

«Что произойдет, если я случайно отправил свою ссылку-ключ (#auth=...) в публичный чат?»

В Zero-Knowledge архитектуре сервер не хранит email или телефон и не имеет механизмов сброса пароля (Zero-Recovery Policy).

🛡 Регламент действий при компрометации:
  1. Экстренное удаление: Через активную сессию (Web UI или CLI) выполните немедленное удаление всех критических файлов (Hard Delete).
  2. Смена профиля: Откройте сайт в новом окне браузера или режиме Инкогнито, чтобы получить новую чистую Zero-Knowledge сессию.

Вопросы и Ответы (FAQ)

Прямые ответы на ключевые вопросы об устройстве, безопасности, лимитах и автоматизации SafeShare.

Как устроен вход в SafeShare без логина и пароля (Zero-Knowledge Identity)?

Прямой ответ: SafeShare не использует email, логины и пароли. При первом посещении сервер генерирует криптографическую пару: уникальный идентификатор пользователя (user_id) и 256-битный токен управления сессией (management_token), сохраняемые в локальном хранилище localStorage браузера.

Технические подробности

Все запросы к REST API авторизуются через заголовки X-User-ID и X-Access-Token. Сервер не привязывает ваши файлы к личным данным, не отслеживает цифровой отпечаток устройства и не передает данные третьим лицам.

Что произойдет при очистке кэша браузера? Как не потерять доступ к файлам?

Прямой ответ: При полной очистке localStorage браузер потеряет локальные ключи и создаст новый профиль. Чтобы гарантированно сохранить доступ, скопируйте свою Magic Link (вкладка «Доступ») и сохраните её в менеджере паролей или закладках.

Как восстановить доступ

Переход по ссылке вида https://domain/#auth=w_user:token мгновенно восстанавливает рабочее пространство на любом компьютере, планшете или смартфоне. Хэш-фрагмент никогда не отправляется на сервер и не утекает в логи.

Что такое 7-дневный Grace Period и как восстановить заблокированный файл?

Прямой ответ: Grace Period (Льготный период 7 дней) — это режим Soft Delete, защищающий от потери файлов при обрыве соединения или исчерпании лимита скачиваний. Файл блокируется для публичного скачивания, но владелец видит его в панели и может восстановить доступ в 1 клик.

Инструкция по восстановлению

В Web UI нажмите кнопку «Восстановить доступ» в карточке файла и задайте новый срок (дни) или количество скачиваний. В консоли выполните: fs renew <токен> 30 5. Файл немедленно вернется в активный статус.

Как установить и запускать консольную утилиту fs на Linux без root-прав?

Прямой ответ: Утилита fs не требует root-прав и зависимостей помимо стандартных curl или wget. Если у вас нет прав записи в /usr/local/bin, скрипт автоматически сохраняется в текущую папку как ./fs, а ключи профиля безопасно пишутся в ~/.config/fileshare/config (права 600).

Команда установки
(curl -sSL "https://domain/api/cli" || wget -qO- "https://domain/api/cli") | bash -s -- "w_id:token"

Как выгрузить логи с сервера и сразу стереть их с локального диска?

Прямой ответ: Используйте встроенный флаг --rm в команде fs upload (или fs u). Утилита удалит локальный файл с диска сервера только после получения от сервера подтверждения успешной загрузки (HTTP 200/201).

Пример безопасного сбора логов
fs u /var/log/syslog /var/log/nginx/access.log -t "incident-2026" --rm

Как работают виртуальные папки (теги) и скачивание файлов архивом?

Прямой ответ: Тег — это виртуальная метка, группирующая файлы пользователя. Вы можете скачать все файлы одного тега в один клик через кнопку «Скачать ZIP» в интерфейсе либо через CLI командой fs get -t "имя_тега" (архив генерируется потоком на лету).

Команды работы с тегами

• Загрузка с тегом: fs u -t "firmware" app.bin
• Скачивание архива: fs get -t "firmware"
• Удаление всех файлов тега: fs rm -t "firmware"

Каковы технические ограничения на размер файлов, квоты и время хранения?

Прямой ответ: Стандартный лимит на одиночную загрузку — 55 МБ (до 10 ГБ при включении протокола Tus.io). Лимит скачиваний по умолчанию — 3 (настраивается от 1 до 100). Срок жизни (TTL) — по умолчанию 30 дней с автоматическим продлением при обновлении файла.

Опасные расширения

В целях безопасности на уровне сервера запрещена прямая выгрузка исполняемых веб-скриптов (.php, .phtml, .html, .sh). Упаковывайте скрипты в .tar.gz или .zip архивы перед передачей.

Видит ли администратор или сервер содержимое моих файлов?

Прямой ответ: SafeShare не сканирует и не индексирует содержимое пользовательских файлов. Файлы хранятся в изолированных папках с рандомизированными именами. Доступ к скачиванию возможен только при знании 24-байтного криптографического токена.

Шифрование

Передача данных защищена протоколом TLS 1.3 / HTTPS. Для конфиденциальных архивов рекомендуется дополнительное предварительное шифрование (gpg -c, 7z -p или встроенный WebCrypto в дорожной карте развития).

Как встроить SafeShare в CI/CD пайплайны (GitHub Actions, GitLab CI, crontab)?

Прямой ответ: Для CI/CD используйте флаг -k "ID:TOKEN" (разовый запуск с ключом из секретов репозитория) либо стандартный вызов curl на эндпоинт /api/upload.

Пример вызова в CI/CD
curl -sSL "https://domain/api/cli" | bash -s -- \
  -k "\${{ secrets.SAFESHARE_KEY }}" \
  -t "builds" \
  upload build/firmware.bin

Чем SafeShare принципиально отличается от WeTransfer, Google Drive и Transfer.sh?

Прямой ответ: SafeShare не содержит рекламы, трекеров и капч, не заставляет вводить email, объединяет Web UI с нативным Linux CLI, поддерживает in-place обновление файлов (fs ud), виртуальные папки с отдачей ZIP на лету и 7-дневный Grace Period для спасения оборванных загрузок.

Как обновить уже загруженный файл без изменения ссылки (In-Place Upsert)?

Прямой ответ: Используйте команду fs ud <файл> (или fs update) с тем же именем и тегом. Сервер выполнит in-place замену бинарного содержимого на диске, сохранив существующий публичный токен, ссылку и настройки квот. Если файл ранее не существовал, он будет автоматически загружен как новый (Upsert).

Пример in-place обновления
fs ud -t "builds" dist/app-v1.2.tar.gz
Пользовательское соглашение и Отказ от ответственности (B2B TOS):
SafeShare является транзитным шлюзом передачи данных, а не долговременным архивом резервных копий. Сервис не несет ответственности за потерю файлов вследствие исчерпания срока жизни (TTL) или квот скачиваний. Сохранность секретных ключей (Magic Links) лежит на пользователе. Размещение вредоносного ПО и нарушение законодательства влечет немедленную блокировку.