From 2c89380a5d7d9a3080d739517baab427555989c3 Mon Sep 17 00:00:00 2001 From: Marise Hayashi Date: Mon, 13 Aug 2018 23:14:54 +0300 Subject: [PATCH] Update README.md (#150) --- README.md | 102 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 74 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 2ee0860..4567a47 100644 --- a/README.md +++ b/README.md @@ -6,51 +6,87 @@ Transfer.sh currently supports the s3 (Amazon S3), gdrive (Google Drive) provide ## Usage -``` -Upload: - +### Upload: +```bash $ curl --upload-file ./hello.txt https://transfer.sh/hello.txt +``` -Encrypt & upload: - +### Encrypt & upload: +```bash $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt +```` -Download & decrypt: - +### Download & decrypt: +```bash $ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt +``` -Upload to virustotal: - +### Upload to virustotal: +```bash $ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal - ``` + ## Add alias to .bashrc or .zshrc -``` + +### Using curl +```bash transfer() { - curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) | tee /dev/null; + curl --progress-bar --upload-file "$1" https://transfer.sh/$(basename $1) | tee /dev/null; } alias transfer=transfer ``` -Now run it like this -``` -$ transfer test.txt -``` -## Link aliases +### Using wget +```bash +transfer() { + wget -t 1 -qO - --method=PUT --body-file="$1" --header="Content-Type: $(file -b --mime-type $1)" https://transfer.sh/$(basename $1); +} -Create direct download link: +alias transfer=transfer +``` -https://transfer.sh/1lDau/test.txt --> https://transfer.sh/get/1lDau/test.txt +## Add alias for fish-shell + +### Using curl +```bash +function transfer --description 'Upload a file to transfer.sh' + if [ $argv[1] ] + # write to output to tmpfile because of progress bar + set -l tmpfile ( mktemp -t transferXXX ) + curl --progress-bar --upload-file "$argv[1]" https://transfer.sh/(basename $argv[1]) >> $tmpfile + cat $tmpfile + command rm -f $tmpfile + else + echo 'usage: transfer FILE_TO_TRANSFER' + end +end + +funcsave transfer +``` -Inline file: +### Using wget +```bash +function transfer --description 'Upload a file to transfer.sh' + if [ $argv[1] ] + wget -t 1 -qO - --method=PUT --body-file="$argv[1]" --header="Content-Type: $(file -b --mime-type $argv[1])" https://transfer.sh/$(basename $argv[1]) + else + echo 'usage: transfer FILE_TO_TRANSFER' + end +end + +funcsave transfer +``` -https://transfer.sh/1lDau/test.txt --> https://transfer.sh/inline/1lDau/test.txt +Now run it like this: +```bash +$ transfer test.txt +``` -### On Windows +## Add alias on Windows -Put a file called transfer.cmd somewhere in your PATH with this inside it: -``` +Put a file called `transfer.cmd` somewhere in your PATH with this inside it: +```cmd @echo off setlocal :: use env vars to pass names to PS, to avoid escaping issues @@ -59,6 +95,16 @@ set FULL=%1 powershell -noprofile -command "$(Invoke-Webrequest -Method put -Infile $Env:FULL https://transfer.sh/$Env:FN).Content" ``` +## Link aliases + +Create direct download link: + +https://transfer.sh/1lDau/test.txt --> https://transfer.sh/get/1lDau/test.txt + +Inline file: + +https://transfer.sh/1lDau/test.txt --> https://transfer.sh/inline/1lDau/test.txt + ## Usage Parameter | Description | Value | Env @@ -94,13 +140,13 @@ If you want to use TLS using your own certificates, set tls-listener to :443, fo Make sure your GOPATH is set correctly. -``` +```bash go run main.go -provider=local --listener :8080 --temp-path=/tmp/ --basedir=/tmp/ ``` ## Build -``` +```bash go build -o transfersh main.go ``` @@ -108,7 +154,7 @@ go build -o transfersh main.go For easy deployment, we've created a Docker container. -``` +```bash docker run --publish 8080:8080 dutchcoders/transfer.sh:latest --provider local --basedir /tmp/ ``` @@ -126,5 +172,5 @@ Contributions are welcome. ## Copyright and license -Code and documentation copyright 2011-2014 Remco Verhoef. +Code and documentation copyright 2011-2018 Remco Verhoef. Code released under [the MIT license](LICENSE).