通知:デフォルトの送信ホストは@timvisee(info)によって提供されます。寄付を検討し、それを実行し続けるのを手伝ってください。
コマンドラインからファイルを簡単かつ安全に共有します。送信クライアント。
単一の簡単なコマンドを使用して、安全でプライベート、暗号化されたリンクを介して、コマンドラインからファイルとディレクトリを簡単かつ安全に共有します。ファイルは送信サービスを使用して共有され、最大1GBの場合があります。他の人は、このツールを使用して、またはWebブラウザーを使用してこれらのファイルをダウンロードできます。
ここにデモが表示されませんか? 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またはxselapt install xclipyum install xclippacman -S xclipcrypto-openssl機能を備えたオプションのopenSSL機能:»インストーラー( v1.1.0j以降)crypto-openssl機能を備えたオプションのopenSSL機能: brew install [email protected]pkg install opensslpkg install ca_root_nssxclip & xsel : pkg install xclip xsel-conradffsendまだ初期段階にあるため、現在は限られたインストールオプションのみが利用可能です。追加のパッケージをお気軽に寄付してください。
必ず要件を満たしてインストールしてください。
以下のオペレーティングシステムの特定の手順を参照してください。
サポートされている場合は、SNAPパッケージを使用することをお勧めします。
または、事前に構築されたバイナリを使用して手動でインストールすることもできます。
64ビット( x86_64 )のパッケージとバイナリのみが提供されます。その他のアーキテクチャや構成については、ソースからコンパイルできます。
より多くのパッケージオプションがまもなく登場します。
注: ffsend snapパッケージは分離されており、ホームディレクトリ内のファイルのみにアクセスできます。この制限が必要ない場合は、別のインストールオプションを選択してください。
注:デフォルトでsnapの構成方法により、手動変更なしでSSHなどの一部のコンテキストからパッケージを使用することはできません。問題が発生している場合は、事前に構築されたバイナリなどの別のインストール方法を参照するか、問題を開きます。
» ffsend
snap install ffsend
ffsend --help» ffsend-bin (プリコンパイルされたバイナリ、最新リリース、推奨)
» ffsend (ソースからのコンパイル、最新リリース)
» ffsend-git (ソースからのコンパイル、最新の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 --helpLinuxバイナリの最新リリースアセットをご覧ください。
ffsend-v*-linux-x64-static BINARYを使用して、問題の機会を最小限に抑えます。まだ利用できない場合は、使用可能になるまで以前のバージョンのアーティファクトを使用できます。
続行する前に、必ず要件を満たしてインストールしてください。
バイナリ実行可能ファイルを作成する必要があり、 /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注:MacPortsのFFSENDは現在自動的に更新されておらず、わずかに時代遅れになる可能性があります。
MacPortsをインストールしたら、実行できます。
sudo port selfupdate
sudo port install ffsend注:NIXパッケージは現在自動的に更新されておらず、わずかに時代遅れになる可能性があります。
nix-channel --update
nix-env --install ffsend
ffsend --helpMacOSバイナリの最新リリースアセットをご覧ください。まだ利用できない場合は、使用可能になるまで以前のバージョンのアーティファクトを使用できます。
次に、ダウンロードしたバイナリを実行可能ファイルとしてマークします。その後、 ffsendコマンドをグローバルに利用できるようにするには/usr/local/bin/にそれを移動することをお勧めします。
# 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パッケージの使用をお勧めします。
または、事前に構築されたバイナリを使用して手動でインストールすることもできます。
LinuxにWindowsサブシステムを使用している場合は、代わりに事前に構築されたLinuxバイナリをインストールすることを強くお勧めします。
64ビット( x86_64 )バイナリのみが提供されます。その他のアーキテクチャや構成については、ソースからコンパイルできます。
.msiインストーラーと一緒にchocolateyパッケージが近日公開されます。
scoopしていることを確認し、実行してください。
scoop install ffsend
ffsend --helpWindowsバイナリの最新リリースアセットをご覧ください。 ffsend-v*-windows-x64-static BINARYを使用して、問題の機会を最小限に抑えます。まだ利用できない場合は、使用可能になるまで以前のバージョンのアーティファクトを使用できます。
同じディレクトリのコマンドラインから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 installffsend Termuxを介してAndroidで使用できます。最初にインストールしてください:»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 opensslまたはこちらの指示を参照してくださいpkg 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 --helpffsendがさまざまな機能を含めるかどうかを切り替えるために、さまざまな使用フラグを使用できます。次の機能が利用可能で、その一部はデフォルトで有効になっています。
| 特徴 | 有効になっています | 説明 |
|---|---|---|
send2 | デフォルト | V2サーバーの送信のサポート |
send3 | デフォルト | 送信V3サーバーのサポート |
crypto-ring | デフォルト | リングを暗号化バックエンドとして使用します |
crypto-openssl | OpenSSLを暗号化バックエンドとして使用します | |
clipboard | デフォルト | クリップボードへのリンクをコピーするためのサポート |
history | デフォルト | 歴史のファイルを追跡するためのサポート |
archive | デフォルト | アップロードとダウンロードのアーカイブと抽出のサポート |
qrcode | デフォルト | 共有URLのQRコードのレンダリングのサポート |
urlshorten | デフォルト | 共有URLを短縮するためのサポート |
infer-command | デフォルト | バイナリ名に基づいてサブコマンドを推測するためのサポート |
no-color | エラーのある色のサポートなしでコンパイルし、メッセージをヘルプします |
建物または設置中に機能を有効にするには、 cargoを使用するときに--features <features...>でそれらを指定します。 --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システムの場合、Windows端子の色のサポートは薄暗いため、 no-colorフラグを提供することをお勧めします。
次の環境変数を使用して、次のデフォルトを構成できます。 CLIフラグは、コマンドラインの引数との関係をよりよく説明するために、それに伴い表示されます。
| 変数 | CLIフラグ | 説明 |
|---|---|---|
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フラグ | 説明 |
|---|---|---|
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 | Clipboardへのリンクを共有します |
FFSEND_COPY_CMD | --copy-cmd | ダウンロードコマンドをクリップボードにコピーします |
FFSEND_QUIET | --quiet | 静かな情報を記録します |
FFSEND_VERBOSE | --verbose | ログ説明情報 |
一部の環境変数は、コンパイル時に設定して、いくつかのデフォルトを調整することができます。
| 変数 | 説明 |
|---|---|
XCLIP_PATH | clipboard-bin (Linux、 *BSD)を使用するときに、固定xclipバイナリパスを設定します |
XSEL_PATH | clipboard-bin (Linux、 *BSD)を使用するときに固定xselバイナリパスを設定します |
現時点では、構成またはdotfileファイルのサポートはありません。これは、後のリリースで追加されます。
ffput 、 ffget ffsend 、 ffsendを使用してアップロードおよびダウンロードするためだけにffputやffgetを使用するなど、単一のサブコマンド用の個別のバイナリを持つことをサポートしています。これにより、次のようなシンプルで直接的なコマンドが可能になります。
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 ):デフォルトではい/いいえのプロンプトのyesオプションを想定します。--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 ffsendツールです。
暗号化/復号化の手順と、正確に使用される暗号化の詳細なリストは、公式のサービス文書に記載されています。
ダウンロード時にファイルを解読するために使用される暗号化の秘密は、 # (hash)の背後にある共有URLに含まれています。この秘密は、ブラウザで共有リンクを使用するときに、リモートサーバーを直接送信することはありません。ただし、Webページがいくつかの悪意のあるJavaScriptスニペットをロードすることが可能です。このシナリオは非常にありそうもないが、これが起こらないようにするいくつかのオプションがある。
ffsendツールのみを使用してください。ブラウザの共有リンクを使用しないでください。--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ライセンスの下でリリースされます。詳細については、ライセンスファイルをご覧ください。