mirror of
https://github.com/dutchcoders/transfer.sh.git
synced 2024-12-26 04:10:18 +01:00
Merge pull request #259 from dopessoa/ISSUE-230
Create examples.md and update README.md
This commit is contained in:
commit
e340ad9e45
2 changed files with 178 additions and 69 deletions
71
README.md
71
README.md
|
@ -58,76 +58,9 @@ curl -sD - --upload-file ./hello https://transfer.sh/hello.txt | grep 'X-Url-Del
|
|||
X-Url-Delete: https://transfer.sh/hello.txt/BAYh0/hello.txt/PDw0NHPcqU
|
||||
```
|
||||
|
||||
## Add alias to .bashrc or .zshrc
|
||||
## Examples
|
||||
|
||||
### Using curl
|
||||
```bash
|
||||
transfer() {
|
||||
curl --progress-bar --upload-file "$1" https://transfer.sh/$(basename "$1") | tee /dev/null;
|
||||
echo
|
||||
}
|
||||
|
||||
alias transfer=transfer
|
||||
```
|
||||
|
||||
### 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");
|
||||
echo
|
||||
}
|
||||
|
||||
alias transfer=transfer
|
||||
```
|
||||
|
||||
## Add alias for fish-shell
|
||||
|
||||
### Using curl
|
||||
```fish
|
||||
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 transferXXXXXX )
|
||||
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
|
||||
```
|
||||
|
||||
### Using wget
|
||||
```fish
|
||||
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
|
||||
```
|
||||
|
||||
Now run it like this:
|
||||
```bash
|
||||
$ transfer test.txt
|
||||
```
|
||||
|
||||
## Add alias on Windows
|
||||
|
||||
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
|
||||
set FN=%~nx1
|
||||
set FULL=%1
|
||||
powershell -noprofile -command "$(Invoke-Webrequest -Method put -Infile $Env:FULL https://transfer.sh/$Env:FN).Content"
|
||||
```
|
||||
See good usage examples on [examples.md](examples.md)
|
||||
|
||||
## Link aliases
|
||||
|
||||
|
|
176
examples.md
Normal file
176
examples.md
Normal file
|
@ -0,0 +1,176 @@
|
|||
# Table of Contents
|
||||
|
||||
* [Aliases](#aliases)
|
||||
* [Uploading and downloading](#uploading-and-downloading)
|
||||
* [Archiving and backups](#archiving-and-backups)
|
||||
* [Encrypting and decrypting](#encrypting-and-decrypting)
|
||||
* [Scanning for viruses](#scanning-for-viruses)
|
||||
|
||||
## Aliases
|
||||
<a name="aliases"/>
|
||||
|
||||
## Add alias to .bashrc or .zshrc
|
||||
|
||||
### Using curl
|
||||
```bash
|
||||
transfer() {
|
||||
curl --progress-bar --upload-file "$1" https://transfer.sh/$(basename "$1") | tee /dev/null;
|
||||
echo
|
||||
}
|
||||
|
||||
alias transfer=transfer
|
||||
```
|
||||
|
||||
### 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");
|
||||
echo
|
||||
}
|
||||
|
||||
alias transfer=transfer
|
||||
```
|
||||
|
||||
## Add alias for fish-shell
|
||||
|
||||
### Using curl
|
||||
```fish
|
||||
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 transferXXXXXX )
|
||||
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
|
||||
```
|
||||
|
||||
### Using wget
|
||||
```fish
|
||||
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
|
||||
```
|
||||
|
||||
Now run it like this:
|
||||
```bash
|
||||
$ transfer test.txt
|
||||
```
|
||||
|
||||
## Add alias on Windows
|
||||
|
||||
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
|
||||
set FN=%~nx1
|
||||
set FULL=%1
|
||||
powershell -noprofile -command "$(Invoke-Webrequest -Method put -Infile $Env:FULL https://transfer.sh/$Env:FN).Content"
|
||||
```
|
||||
|
||||
## Uploading and Downloading
|
||||
<a name="uploading-and-downloading"/>
|
||||
|
||||
### Uploading with wget
|
||||
```bash
|
||||
$ wget --method PUT --body-file=/tmp/file.tar https://transfer.sh/file.tar -O - -nv
|
||||
```
|
||||
|
||||
### Uploading with PowerShell
|
||||
```posh
|
||||
PS H:\> invoke-webrequest -method put -infile .\file.txt https://transfer.sh/file.txt
|
||||
```
|
||||
|
||||
### Upload using HTTPie
|
||||
```bash
|
||||
$ http https://transfer.sh/ -vv < /tmp/test.log
|
||||
```
|
||||
|
||||
### Uploading a filtered text file
|
||||
```bash
|
||||
$ grep 'pound' /var/log/syslog | curl --upload-file - https://transfer.sh/pound.log
|
||||
```
|
||||
|
||||
### Downloading with curl
|
||||
```bash
|
||||
$ curl https://transfer.sh/1lDau/test.txt -o test.txt
|
||||
```
|
||||
|
||||
### Downloading with wget
|
||||
```bash
|
||||
$ wget https://transfer.sh/1lDau/test.txt
|
||||
```
|
||||
|
||||
## Archiving and backups
|
||||
<a name="archiving-and-backups"/>
|
||||
|
||||
### Backup, encrypt and transfer a MySQL dump
|
||||
```bash
|
||||
$ mysqldump --all-databases | gzip | gpg -ac -o- | curl -X PUT --upload-file "-" https://transfer.sh/test.txt
|
||||
```
|
||||
|
||||
### Archive and upload directory
|
||||
```bash
|
||||
$ tar -czf - /var/log/journal | curl --upload-file - https://transfer.sh/journal.tar.gz
|
||||
```
|
||||
|
||||
### Uploading multiple files at once
|
||||
```bash
|
||||
$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/
|
||||
```
|
||||
|
||||
### Combining downloads as zip or tar.gz archive
|
||||
```bash
|
||||
$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
|
||||
$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip
|
||||
```
|
||||
|
||||
### Transfer and send email with link (using an alias)
|
||||
```bash
|
||||
$ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com
|
||||
```
|
||||
## Encrypting and decrypting
|
||||
<a name="encrypting-and-decrypting"/>
|
||||
|
||||
### Encrypting files with password using gpg
|
||||
```bash
|
||||
$ cat /tmp/hello.txt | gpg -ac -o- | curl -X PUT --upload-file "-" https://transfer.sh/test.txt
|
||||
```
|
||||
|
||||
### Downloading and decrypting
|
||||
```bash
|
||||
$ curl https://transfer.sh/1lDau/test.txt | gpg -o- > /tmp/hello.txt
|
||||
```
|
||||
|
||||
### Import keys from [keybase](https://keybase.io/)
|
||||
```bash
|
||||
$ keybase track [them] # Encrypt for recipient(s)
|
||||
$ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' https://transfer.sh/test.txt # Decrypt
|
||||
$ curl https://transfer.sh/sqUFi/test.md | keybase decrypt
|
||||
```
|
||||
|
||||
## Scanning for viruses
|
||||
<a name="scanning-for-viruses"/>
|
||||
|
||||
### Scan for malware or viruses using Clamav
|
||||
```bash
|
||||
$ wget http://www.eicar.org/download/eicar.com
|
||||
$ curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
|
||||
```
|
||||
|
||||
### Upload malware to VirusTotal, get a permalink in return
|
||||
```bash
|
||||
$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
|
||||
```
|
Loading…
Reference in a new issue