Как быстро делиться файлами через transfer.sh из терминала Linux

Что такое transfer.sh?
transfer.sh — бесплатный сервис для временного обмена файлами через командную строку Linux. Загрузить файл можно одной командой cURL или через простую shell‑функцию. Это удобно, когда не хочется открывать веб-интерфейс или когда вы работаете удалённо по SSH.
Определение в одну строку: cURL — утилита командной строки для передачи данных по сети; transfer.sh — приёмник файлов с выдачей публичной ссылки.
Ключевые возможности:
- Не требует графического интерфейса — работает из терминала.
- Максимальный размер файла: 10 GB.
- Файлы хранятся не дольше 14 дней.
- Можно зашифровать файлы GPG перед отправкой.
- Поддержка заголовков для ограничения числа загрузок и количества дней.
Важно: transfer.sh предназначен для временного обмена. Не используйте его как главное долговременное хранилище личных данных.
Загрузка файла через cURL
cURL — стандартный инструмент для передачи данных. Самый простой пример загрузки на transfer.sh:
curl --upload-file https://transfer.sh Замените
Если нужно изменить имя скачиваемого файла, добавьте желаемое имя в URL:
curl --upload-file https://transfer.sh/ Пример: переименовать локальный hello.txt в test.md при скачивании.
Ограничение числа загрузок и срока доступности задаётся HTTP‑заголовками. Пример команды с заголовками:
curl --upload-file -H "Max-Downloads: 5" -H "Max-Days: 7" https://transfer.sh/ Заголовки:
- Max-Downloads: максимально допустимое число скачиваний.
- Max-Days: количество дней, в течение которых файл доступен.
Совет: если вы отправляете чувствительную информацию, зашифруйте файл GPG перед отправкой и поделитесь публичным ключом получателю.
Удобная shell‑функция для частого использования
Чтобы не набирать длинную команду каждый раз, добавьте небольшую функцию в ваш ~/.bashrc или ~/.zshrc. Ниже — аккуратная и проверенная версия функции. Она:
- автоматически архивирует директории (zip),
- поддерживает передачу имени для скачивания,
- показывает прогресс и выводит ссылку.
transfer() {
if [ $# -eq 0 ]; then
echo "Нет аргументов. Использование: transfer <файл|директория> [имя_для_скачивания]" >&2
return 1
fi
src="$1"
dst="$(basename "$src")"
if [ $# -ge 2 ]; then dst="$2"; fi
if [ ! -e "$src" ]; then
echo "$src: файл или каталог не найден" >&2
return 1
fi
if [ -d "$src" ]; then
tmpfile="/tmp/transfer-$(date +%s).zip"
(cd "$src" && zip -r -q "$tmpfile" .)
curl --progress-bar --upload-file "$tmpfile" "https://transfer.sh/$dst.zip" | tee /dev/stderr
rm -f "$tmpfile"
else
curl --progress-bar --upload-file "$src" "https://transfer.sh/$dst" | tee /dev/stderr
fi
}После добавления функции перезапустите терминал или выполните source ~/.bashrc (или source ~/.zshrc). Затем достаточно вызвать:
transfer ~/Документы/отчёт.pdfМини‑методология: безопасный обмен файлами через transfer.sh
- Решите, нужно ли шифрование. Для конфиденциальных данных — всегда шифруйте.
- Подготовьте файл: сжать директорию или минимизировать лишние данные.
- Загрузите файл с ограничениями (Max-Downloads, Max-Days).
- Передайте ссылку получателю по защищённому каналу (например, мессенджер с E2E).
- При необходимости удалите ссылку/контент (по возможности обратитесь к администратору сервиса).
Короткая команда шифрования и загрузки (пример):
gpg --symmetric --cipher-algo AES256 secret.txt
curl --upload-file secret.txt.gpg -H "Max-Downloads: 3" -H "Max-Days: 3" https://transfer.sh/secret.txt.gpgКогда transfer.sh не подходит
- Для долговременного хранения. Файлы удаляются через максимум 14 дней.
- Для больших корпоративных данных с требованиями соответствия (compliance).
- Если нужна интеграция с облачной синхронизацией и версионированием.
- При необходимости гарантированного удаления после скачивания (лучше использовать специализированные сервисы).
Важно: Не используйте transfer.sh для хранения секретов, паролей или персональных данных без шифрования.
Альтернативы и когда их выбирать
- Облачные провайдеры (Google Drive, Dropbox, OneDrive) — для долговременного хранения и совместной работы.
- S3/Storage buckets — для интеграции в приложения и контроля доступа.
- PrivNote/One‑time link сервисы — когда нужно одноразовое чтение и автоматическое удаление.
Выбор зависит от требований: срок хранения, контроль доступа, соответствие нормативам и бюджет.
Чеклист по ролям
Для отправителя:
- Проверить размер файла (≤ 10 GB).
- При необходимости зашифровать файл.
- Установить Max-Downloads и Max-Days.
- Передать ссылку защищённо.
Для получателя:
- Сохранить файл локально и проверить хэш (если отправлено).
- Удалить временные файлы после использования.
Для администратора системы:
- Настроить политику обучения пользователей о временном обмене.
- Предоставить альтернативные корпоративные каналы для чувствительных данных.
Небольшой глоссарий в одну строку
- cURL — утилита командной строки для передачи данных по HTTP и другим протоколам.
- GPG — инструмент для шифрования файлов и сообщений.
- Max-Downloads / Max-Days — заголовки, регулирующие количество загрузок и длительность хранения на transfer.sh.
Критерии приёмки
- Ссылка, возвращённая сервисом, открывается и загружает ожидаемый файл.
- Установленные заголовки Max-Downloads и Max-Days соблюдаются при проверке (по возможности).
- Для зашифрованных файлов получатель может расшифровать содержимое с правильным ключом.
Итог
transfer.sh — простой и быстрый способ одноразово или временно поделиться файлами прямо из терминала. Для регулярного обмена небольшими файлами это экономит время. Для конфиденциальных или долговременных данных используйте шифрование и/или облачные провайдеры.
Важно: Всегда взвешивайте риски и используйте шифрование для приватных данных.
Summary:
- transfer.sh удобен для быстрых временных обменов.
- Максимум 10 GB и 14 дней хранения.
- Можно переименовывать файлы и ограничивать доступ через заголовки.
- Для безопасности шифруйте файлы GPG перед отправкой.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента