Уведомление: хост отправки по умолчанию предоставляется @Timvisee (info). Пожалуйста, рассмотрите возможность пожертвовать и помогать поддерживать его.
Легко и надежно обмениваться файлами из командной строки. Отправленный клиент.
Легко и надежно обмениваться файлами и каталогами из командной строки через безопасную, частную и зашифрованную ссылку, используя одну простую команду. Файлы используются с использованием службы отправки и могут составлять до 1 ГБ. Другие могут загружать эти файлы с помощью этого инструмента или через свой веб -браузер.
Здесь не видно демонстрации? Посмотреть его на Asciinema.
Все файлы всегда зашифрованы на клиенте, а секреты никогда не передаются с удаленным хостом. Можно указать необязательный пароль, и срок службы файла по умолчанию составляет 1 (до 20) загрузки или 24 часа, чтобы убедиться, что ваши вещи не остаются в Интернете навсегда. Это обеспечивает безопасную платформу для обмена вашими файлами. Узнайте больше о безопасности здесь.
Общественная служба отправки, которая используется в качестве хоста по умолчанию, предоставляется @Timvisee (Info).
Это применение никоим образом не связано с Firefox или Mozilla.
Примечание. Этот инструмент в настоящее время находится в бета -версии, так как некоторые дополнительные желаемые функции еще предстоит реализованы
Чтобы получить список предстоящих функций и идей, посмотрите на текущие открытые проблемы на Gitlab.
Легко загружать и загружать:
# Simple upload
$ ffsend upload my-file.txt
https://send.vis.ee/ # sample-share-url
# Advanced upload
# - Specify a download limit of 1
# - Specify upload expiry time of 5 minutes
# - Enter a password to encrypt the file
# - Archive the file before uploading
# - Copy the shareable link to your clipboard
# - Open the shareable link in your browser
$ ffsend upload --downloads 1 --expiry-time 5m --password --archive --copy --open my-file.txt
Password: ******
https://send.vis.ee/ # sample-share-url
# Upload to your own host
$ ffsend u -h https://example.com/ my-file.txt
https://example.com/ # sample-share-url
# Simple download
$ ffsend download https://send.vis.ee/ # sample-share-urlОсмотрите удаленные файлы:
# Check if a file exists
$ ffsend exists https://send.vis.ee/ # sample-share-url
Exists: yes
# Fetch remote file info
$ ffsend info https://send.vis.ee/ # sample-share-url
ID: b087066715
Name: my-file.txt
Size: 12 KiB
MIME: text/plain
Downloads: 0 of 10
Expiry: 18h2m (64928s)Другие команды включают:
# View your file history
$ ffsend history
# LINK EXPIRE
1 https://send.vis.ee/ # sample-share-url 23h57m
2 https://send.vis.ee/ # other-sample-url 17h38m
3 https://example.com/ # sample-share-url 37m30s
# Change the password after uploading
$ ffsend password https://send.vis.ee/ # sample-share-url
Password: ******
# Delete a file
$ ffsend delete https://send.vis.ee/ # sample-share-url Используйте флаг --help , help справки или см. Раздел справки для всех доступных подкомандов.
apt install openssl ca-certificatesxclip или xsel для поддержки буфера обменаapt install xclipyum install xclippacman -S xclipcrypto-openssl : »Инсталлятор ( v1.1.0j или выше)crypto-openssl Функция: brew install [email protected]pkg install opensslpkg install ca_root_nssxclip & xsel для поддержки буфера обмена: pkg install xclip xsel-conrad Поскольку ffsend все еще находится на ранних стадиях, сейчас доступны только ограниченные параметры установки. Не стесняйтесь вносить дополнительные пакеты.
Убедитесь, что вы выполняете и установили требования.
Смотрите конкретные инструкции по операционной системе ниже:
Использование пакета SNAP рекомендуется, если поддерживается.
В качестве альтернативы вы можете установить его вручную, используя предварительно построенные двоичные файлы.
Только 64-битные ( x86_64 ) пакеты и двоичные файлы предоставляются. Для других архитектур и конфигураций вы можете собрать из источника.
Скоро будет больше вариантов пакетов.
ПРИМЕЧАНИЕ. Пакет ffsend snap изолирован и может получить доступ только к файлам в вашем домашнем каталоге. Выберите другую опцию установки, если вы не хотите этого ограничения.
Примечание. Из -за того, как snap настроен по умолчанию, вы не сможете использовать пакет из некоторых контекстов, таких как SSH, без ручных модификаций. Если у вас возникают проблемы, пожалуйста, обратитесь к другому методу установки, таким как предварительно построенные двоичные файлы, или откройте проблему.
» ffsend
snap install ffsend
ffsend --help » ffsend-bin (предварительно скомпилированный бинарный, последний выпуск, рекомендуется)
» ffsend (компили из Source, последний выпуск)
» ffsend-git (компили из Source, последняя master коммит)
yay -S ffsend
# or
aurto add ffsend-bin
sudo pacman -S ffsend-bin
# or using any other AUR helper
ffsend --helpПримечание. Пакет NIX в настоящее время не обновляется автоматически и может быть немного устаревшим.
»Ffsend
nix-channel --update
nix-env --install ffsend
ffsend --helpПримечание: пакет Fedora поддерживается участниками и может быть немного устаревшим.
»Ffsend
sudo dnf install ffsend
ffsend --helpПримечание. Альпийский пакет поддерживается участниками, он может быть устарел. Выберите другой метод установки, если не хватает важного обновления.
»Ffsend
apk add ffsend --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing
ffsend --help Проверьте последние активы релиза для бинарных файлов Linux.
Используйте бинар ffsend-v*-linux-x64-static , чтобы минимизировать вероятность проблем. Если он еще не доступен, вместо этого вы можете использовать артефакт из предыдущей версии, пока он не будет доступен.
Убедитесь, что вы выполняете и установили требования, прежде чем продолжить.
Вы должны сделать бинарный исполняемый файл и можете захотеть переместить его в /usr/bin чтобы сделать его легко исполняемым:
# Rename binary to ffsend
mv ./ffsend- * ./ffsend
# Mark binary as executable
chmod a+x ./ffsend
# Move binary into path, to make it easily usable
sudo mv ./ffsend /usr/local/bin/
ffsend --help Рекомендуется использовать homebrew пакет.
В качестве альтернативы вы можете установить его через Macports или вручную использовать предварительно построенные двоичные файлы.
Убедитесь, что вы установили homebrew и запустите:
brew install ffsend
ffsend --helpПРИМЕЧАНИЕ. FFSEND в MacPorts в настоящее время не обновляется автоматически и может быть немного устаревшим.
После установки MacPorts вы можете запустить:
sudo port selfupdate
sudo port install ffsendПримечание. Пакет NIX в настоящее время не обновляется автоматически и может быть немного устаревшим.
nix-channel --update
nix-env --install ffsend
ffsend --helpПроверьте последние активы релиза для бинарного макоса. Если он еще не доступен, вместо этого вы можете использовать артефакт из предыдущей версии, пока он не будет доступен.
Затем отметьте загруженный бинар как исполняемый файл. Затем вы можете переместить его в /usr/local/bin/ чтобы сделать команду ffsend в глобальном уровне:
# Rename file to ffsend
mv ./ffsend- * ./ffsend
# Mark binary as executable
chmod a+x ./ffsend
# Move binary into path, to make it easily usable
sudo mv ./ffsend /usr/local/bin/
ffsend Рекомендуется использование пакета scoop .
В качестве альтернативы вы можете установить его вручную, используя предварительно построенные двоичные файлы.
Если вы используете подсистему Windows для Linux, настоятельно рекомендуется вместо этого установить предварительно построенный бинар Linux.
Только 64-битные ( x86_64 ) двоичные файлы предоставляются. Для других архитектур и конфигураций вы можете собрать из источника.
Скоро появится chocolatey упаковка вместе с установщиком .msi .
Убедитесь, что вы scoop , и запустите:
scoop install ffsend
ffsend --help Проверьте последние активы релиза для двоичных файлов Windows. Используйте бинар ffsend-v*-windows-x64-static , чтобы минимизировать вероятность проблем. Если он еще не доступен, вместо этого вы можете использовать артефакт из предыдущей версии, пока он не будет доступен.
Вы можете использовать ffsend из командной строки в том же каталоге:
.ffsend.exe --help Чтобы сделать его глобально вызовом в качестве ffsend , вы должны сделать двоичный файл доступным в вашем системном PATH . Самое простое решение - переместить его в System32 :
move .ffsend.exe C:WindowsSystem32ffsend.exe » ffsend
ПРИМЕЧАНИЕ. В настоящее время пакет FreeBSD поддерживается авторами FreeBSD и может быть слегка устаревшим.
# Precompiled binary.
pkg install ffsend
# Compiles and installs from source.
cd /usr/ports/www/ffsend && make install ffsend можно использовать на Android через Termux, установите его первым: »termux
Примечание. В настоящее время пакет Android поддерживается участниками Termux и может быть немного устаревшим.
# Install package.
pkg install ffsend
ffsend helpЕсли ваша система запускает Docker, вы можете использовать изображение Docker. В настоящее время нет других двоичных файлов или пакетов.
Вместо этого вы можете построить проект из источника.
Изображение Docker доступно для использования ffsend , работающего в контейнере. Установите каталог для /data , поэтому он доступен для ffsend в контейнере и используйте команду, как обычно.
» timvisee/ffsend
# Invoke without arguments
docker run --rm -it -v $( pwd ) :/data timvisee/ffsend
# Upload my-file.txt
docker run --rm -it -v $( pwd ) :/data timvisee/ffsend upload my-file.txt
# Download from specified link
docker run --rm -it -v $( pwd ) :/data timvisee/ffsend download https://send.vis.ee/ # sample-share-url
# Show help
docker run --rm -it -v $( pwd ) :/data timvisee/ffsend help
# To update the used image
docker pull timvisee/ffsend На Linux или MacOS вы можете определить псевдоним в конфигурации своей оболочки, чтобы он был вызовом в качестве ffsend :
alias ffsend= ' docker run --rm -it -v "$(pwd):/data" timvisee/ffsend 'Примечание. Эта реализация ограничена доступом к путям, которые вы предоставляете через указанное крепление.
Чтобы построить и установить ffsend самостоятельно, вы выполняете следующие требования, прежде чем продолжить:
gitrust v1.63 (MSRV) или выше (установите с помощью rustup )apt install build-essential cmake pkg-config libssl-devyum install gcc gcc-c++ make cmake openssl-develpacman -S openssl base-develemerge -a dev-util/pkgconfig dev-util/cmake dev-libs/openssldnf install gcc gcc-c++ make cmake openssl-develcrypto-openssl функцией: см. Инструкции здесьcrypto-openssl brew install cmake pkg-config opensslpkg install rust gmake pkgconf python36 libxcb xclip ca_root_nss xsel-conradffsend , который управляет зависимостями для вас. Затем пройдите через один из следующих шагов, чтобы скомпилировать и установить ffsend :
Скомпилируйте и установите его прямо из груза:
# Compile and install from cargo
cargo install ffsend -f
# Start using ffsend
ffsend --help Или клонировать хранилище и установите его с помощью cargo :
# Clone the project
git clone https://github.com/timvisee/ffsend.git
cd ffsend
# Compile and install
cargo install --path . -f
# Start using ffsend
ffsend --help
# or run it directly from cargo
cargo run --release -- --helpИли клонировать репозиторий и вызовать двоичный файл напрямую (Linux/macOS):
# Clone the project
git clone https://github.com/timvisee/ffsend.git
cd ffsend
# Build the project (release version)
cargo build --release
# Start using ffsend
./target/release/ffsend --help Различные флаги использования доступны для ffsend , чтобы включить, включать ли различные функции. Доступны следующие функции, некоторые из которых включены по умолчанию:
| Особенность | Включено | Описание |
|---|---|---|
send2 | По умолчанию | Поддержка для отправки V2 -серверов |
send3 | По умолчанию | Поддержка для отправки V3 -серверов |
crypto-ring | По умолчанию | Используйте кольцо как бэкэнд криптографии |
crypto-openssl | Используйте OpenSSL в качестве бэкэнда криптографии | |
clipboard | По умолчанию | Поддержка копирования ссылок на буфер обмена |
history | По умолчанию | Поддержка отслеживания файлов в истории |
archive | По умолчанию | Поддержка архивации и извлечения загрузок и загрузки |
qrcode | По умолчанию | Поддержка рендеринга QR -кода для URL -адреса Share |
urlshorten | По умолчанию | Поддержка сокращения URL -адресов акций |
infer-command | По умолчанию | Поддержка вывода подкоманда на основе бинарного имени |
no-color | Скомпилируйте без поддержки цвета по ошибке и помощи сообщению |
Чтобы включить функции во время строительства или установки, укажите их с помощью --features <features...> при использовании cargo . Вы можете отключить функции по умолчанию в первую очередь, используя --no-default-features . Вот несколько примеров:
# Defaults set of features with no-color, one of
cargo install --features no-color
cargo build --release --features no-color
# No default features, except required
cargo install --no-default-features --features send3,crypto-ring
# With history and clipboard support
cargo install --no-default--features --features send3,crypto-ring,history,clipboard Для систем Windows рекомендуется предоставить флаг no-color , так как опорная поддержка в терминалах Windows является требовать.
Следующие переменные среды могут использоваться для настройки следующих значений по умолчанию. Флаг CLI показан вместе с ним, чтобы лучше описать отношение к аргументам командной строки:
| Переменная | CLI Flag | Описание |
|---|---|---|
FFSEND_HISTORY | --history <FILE> | Путь файла истории |
FFSEND_HOST | --host <URL> | Загрузите хост |
FFSEND_TIMEOUT | --timeout <SECONDS> | Запросить тайм -аут (0, чтобы отключить) |
FFSEND_TRANSFER_TIMEOUT | --transfer-timeout <SECONDS> | Тайм -аут перевода (0, чтобы отключить) |
FFSEND_EXPIRY_TIME | --expiry-time <SECONDS> | Загрузка по умолчанию |
FFSEND_DOWNLOAD_LIMIT | --download-limit <DOWNLOADS> | По умолчанию предел загрузки |
FFSEND_API | --api <VERSION> | Серверная версия API, - поиск |
FFSEND_BASIC_AUTH | --basic-auth <USER:PASSWORD> | Основные учетные данные HTTP аутентификации для использования. |
Эти переменные среды могут использоваться для переключения флага, просто сделав их доступными. Фактическое значение этих переменных игнорируется, а переменные могут быть пустыми.
| Переменная | CLI Flag | Описание |
|---|---|---|
FFSEND_FORCE | --force | Силовые операции |
FFSEND_NO_INTERACT | --no-interact | Нет взаимодействия для подсказок |
FFSEND_YES | --yes | Предположите да для подсказок |
FFSEND_INCOGNITO | --incognito | Режим инкогнито, не используйте историю |
FFSEND_OPEN | --open | Открыть общий ссылку загруженного файла |
FFSEND_ARCHIVE | --archive | Архивные файлы загружены |
FFSEND_EXTRACT | --extract | Извлеките файлы, загруженные |
FFSEND_COPY | --copy | Скопируйте ссылку «Поделиться» в буфер обмена |
FFSEND_COPY_CMD | --copy-cmd | Скопировать команду загрузки в буфер обмена |
FFSEND_QUIET | --quiet | Займите тихой информации |
FFSEND_VERBOSE | --verbose | Журнал словесной информации |
Некоторые переменные среды могут быть установлены на время компиляции, чтобы настроить некоторые значения по умолчанию.
| Переменная | Описание |
|---|---|
XCLIP_PATH | Установите фиксированный двоичный путь xclip при использовании clipboard-bin (Linux, *BSD) |
XSEL_PATH | Установите фиксированный двоичный путь xsel при использовании clipboard-bin (Linux, *BSD) |
В настоящее время не доступна поддержка файлов конфигурации или dotfile . Это будет что -то добавленное в более позднее выпуск.
ffput , ffget ffsend поддерживает наличие отдельных двоичных файлов для отдельных подкомандов, таких как наличие ffput и ffget только для загрузки и загрузки с использованием ffsend . Это позволяет простые и прямые команды, такие как:
ffput my-file.txt
ffget https://send.vis.ee/ # sample-share-urlЭто работает для предопределенного списка бинарных имен:
ffput → ffsend upload ...ffget → ffsend download ...ffdel → ffsend delete ...src/config.rs как INFER_COMMANDSВы можете использовать следующие методы для настройки этих двоичных файлов с одной командой:
ffsend и переименоватьНа Linux и MacOS вы можете использовать следующую команду для настройки символических ссылок в текущем каталоге:
ln -s $( which ffsend ) ./ffput
ln -s $( which ffsend ) ./ffget Поддержка этой функции доступна только тогда, когда ffsend составлен с флагом infer-command . Это обычно включается по умолчанию. Для проверки поддержки доступна с существующей установкой, убедитесь, что функция указана при выборе ffsend debug .
Обратите внимание, что пакет snap в настоящее время не поддерживает это из -за того, как работает этот формат пакета.
ffsend оптимизирован для использования в автоматических сценариях. Он предоставляет несколько специализированных аргументов для управления ffsend без взаимодействия с пользователем.
--no-interact ( -I ): не разрешайте взаимодействие с пользователем. Для подсказок, не имеющих значения по умолчанию, приложение выйдет из -за ошибки, если не предоставлены --yes или --force . Это всегда следует давать при использовании автоматических сценариев.--yes ( -y ): предположим, что вариант да/без приглашения по умолчанию.--force ( -f ): Сила продолжить действие, пропускает любые предупреждения, которые в противном случае покинули бы заявление.--quiet ( -q ): будьте тихи, печатайте как можно меньше информации.Вообще говоря, используйте следующие правила при автоматизации:
--no-interact ( -I ).--yes ( -y ) и --force ( -f ) для действий, которые вы хотите завершить, несмотря ни на что.--quiet ( -q ), например, при загрузке. Эти флаги также могут автоматически установить путем определения переменных среды, как указано здесь:
»Конфигурация и среда
Вот несколько примеров команд в bash :
# Stop on error
set -e
# Upload a file
# -I: no interaction
# -y: assume yes
# -q: quiet output, just return the share link
URL= $( ffsend -Iy upload -q my-file.txt )
# Render file information
# -I: no interaction
# -f: force, just show the info
ffsend -If info $URL
# Set a password for the uploaded file
ffsend -I password $URL --password= " secret "
# Use the following flags automatically from now on
# -I: no interaction
# -f: force
# -y: yes
export FFSEND_NO_INTERACT=1 FFSEND_FORCE=1 FFSEND_YES=1
# Download the uploaded file, overwriting the local variant due to variables
ffsend download $URL --password= " secret " Для получения дополнительной информации об этих аргументах вызовите ffsend help и проверьте: »Конфигурация и среда
Для других вопросов, касающихся автоматизации или запросов функций, обязательно откройте проблему.
Суммируя; Инструмент ffsend и служба отправки можно считать безопасными и могут использоваться для обмена конфиденциальными файлами. Примечание, однако, что созданная ссылка для загрузки позволит кому -либо загрузить файл. Убедитесь, что вы не делитесь этой ссылкой с несанкционированными людьми.
Для получения более подробной информации о шифровании, пожалуйста, прочитайте остальные абзацы в этом разделе безопасности.
ПРИМЕЧАНИЕ. Несмотря на то, что метод шифрования считается безопасным, этот инструмент ffsend не предоставляет никакой гарантии каким -либо образом, формы или формы для файлов, которые каким -то образом дешифровали без надлежащего авторизации.
ffsend использует шифрование на стороне клиента, чтобы гарантировать, что ваши файлы надежно зашифрованы, прежде чем они будут загружены на удаленный хост. Это делает невозможным для третьих сторон расшифровать ваш файл, не имея секрета (ключ шифрования). Файл и его метаданные зашифрованы с использованием 128-bit AES-GCM , а ключ подписи HMAC SHA-256 используется для аутентификации запроса. Это согласуется с документацией по шифрованию, предоставленной службой отправки, ffsend является инструментом для.
Подробный список на этапах шифрования/дешифрования, и о том, что точно используется шифрование, можно найти здесь, в официальной службе документации.
Секрет шифрования, который используется для расшифровки файла при загрузке, включен в URL -адрес Share, стоящий за # (хэш). Этот секрет никогда не отправляет удаленный сервер непосредственно при использовании ссылки на Share в вашем браузере. Однако было бы возможно, чтобы веб -страница загрузила какой -то злонамеренный фрагмент JavaScript, который в конечном итоге крадет секрет по ссылке после загрузки страницы. Хотя этот сценарий крайне маловероятен, есть некоторые варианты, чтобы предотвратить это:
ffsend , не используйте ссылку Share в вашем браузере.--password во время загрузки или использования подкоманды password впоследствии.Полный обзор шифрования можно найти в официальной службе документации здесь.
$ ffsend help
ffsend 0.2.72
Tim Visee <[email protected]>
Easily and securely share files from the command line.
A fully featured Send client.
The default public Send host is provided by Tim Visee, @timvisee.
Please consider to donate and help keep it running: https://vis.ee/donate
USAGE:
ffsend [FLAGS] [OPTIONS] [SUBCOMMAND]
FLAGS:
-f, --force Force the action, ignore warnings
-h, --help Prints help information
-i, --incognito Don't update local history for actions
-I, --no-interact Not interactive, do not prompt
-q, --quiet Produce output suitable for logging and automation
-V, --version Prints version information
-v, --verbose Enable verbose information and logging
-y, --yes Assume yes for prompts
OPTIONS:
-A, --api <VERSION> Server API version to use, '-' to lookup [env: FFSEND_API]
--basic-auth <USER:PASSWORD> Protected proxy HTTP basic authentication credentials (not FxA) [env: FFSEND_BASIC_AUTH]
-H, --history <FILE> Use the specified history file [env: FFSEND_HISTORY]
-t, --timeout <SECONDS> Request timeout (0 to disable) [env: FFSEND_TIMEOUT]
-T, --transfer-timeout <SECONDS> Transfer timeout (0 to disable) [env: FFSEND_TRANSFER_TIMEOUT]
SUBCOMMANDS:
upload Upload files [aliases: u, up]
download Download files [aliases: d, down]
debug View debug information [aliases: dbg]
delete Delete a shared file [aliases: del, rm]
exists Check whether a remote file exists [aliases: e]
generate Generate assets [aliases: gen]
help Prints this message or the help of the given subcommand(s)
history View file history [aliases: h]
info Fetch info about a shared file [aliases: i]
parameters Change parameters of a shared file [aliases: params]
password Change the password of a shared file [aliases: pass, p]
version Determine the Send server version [aliases: v]
This application is not affiliated with Firefox or Mozilla.
ffsendЭтот проект выпущен по лицензии GNU GPL-3.0. Проверьте файл лицензии для получения дополнительной информации.