No description
Find a file
2016-04-03 13:31:25 +08:00
.ebextensions added ignore invalid headers 2016-01-31 21:53:11 +01:00
extras Initial 2014-10-16 20:01:43 +02:00
transfersh-server fixed xss issue in text preview 2016-02-19 10:54:48 +01:00
transfersh-web added sandbox 2016-01-14 09:55:08 +01:00
.bowerrc several small improvements 2014-10-16 20:48:07 +02:00
.dockerignore docker, previews, tor, bugfixes 2014-11-13 21:41:43 +01:00
.gitignore docker, previews, tor, bugfixes 2014-11-13 21:41:43 +01:00
.jshintrc Initial 2014-10-16 20:01:43 +02:00
.travis.yml Initial 2014-10-16 20:01:43 +02:00
bower.json Fixed bower dependencies 2014-10-20 16:50:03 +02:00
Dockerfile fixes #13, allows parameters after docker run command 2014-12-08 14:11:35 +01:00
Gruntfile.js docker, previews, tor, bugfixes 2014-11-13 21:41:43 +01:00
LICENSE Initial 2014-10-16 20:04:20 +02:00
package.json docker, previews, tor, bugfixes 2014-11-13 21:41:43 +01:00
README.md Alias for fish-shell 2016-04-03 13:31:25 +08:00
Vagrantfile Initial 2014-10-16 20:01:43 +02:00

transfer.sh

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Transfer.sh support currently the s3 (Amazon S3) provider and local file system (local).

Build Status

Usage

Upload:
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt

Encrypt & upload:
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

Download & decrypt:
$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt

Upload to virustotal:
$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal

Add alias to .bashrc or .zshrc:
===
transfer() {
    # write to output to tmpfile because of progress bar
    tmpfile=$( mktemp -t transferXXX )
    curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile;
    cat $tmpfile;
    rm -f $tmpfile;
}

alias transfer=transfer
===

Add alias for fish shell, add function file to ~/.config/fish/functions/transfer.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 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
===

$ transfer test.txt

Development

npm install
bower install

go get github.com/PuerkitoBio/ghost/handlers
go get github.com/gorilla/mux
go get github.com/dutchcoders/go-clamd
go get github.com/goamz/goamz/s3
go get github.com/goamz/goamz/aws
go get github.com/golang/gddo/httputil/header
go get github.com/kennygrant/sanitize
go get github.com/dutchcoders/go-virustotal
go get github.com/russross/blackfriday

grunt serve
grunt build

go run transfersh-server/*.go -provider=local --port 8080 --temp=/tmp/ --basedir=/tmp/ 

Build

go build -o transfersh-server *.go

Docker

For easy deployment we've enabled Docker deployment.

docker build -t transfersh .
docker run --publish 8080:8080 --rm transfersh --provider local --basedir /tmp/

Contributions

Contributions are welcome.

Creators

Remco Verhoef

Uvis Grinfelds

Code and documentation copyright 2011-2014 Remco Verhoef. Code released under the MIT license.