No description
Find a file
2017-03-22 22:31:24 +01:00
cmd Major rewrite 2017-03-22 18:09:21 +01:00
extras Initial 2014-10-16 20:01:43 +02:00
server Cleanup code and improve error messages 2017-03-22 22:28:40 +01:00
vendor Bump frontend 2017-03-22 22:30:31 +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 added profiling 2016-05-19 21:38:50 +02:00
.jshintrc Initial 2014-10-16 20:01:43 +02:00
.travis.yml Fix travis 2017-03-22 20:59:56 +01:00
Dockerfile Update Docker build 2017-03-22 22:28:05 +01:00
LICENSE Initial 2014-10-16 20:04:20 +02:00
lock.json Bump frontend 2017-03-22 22:30:31 +01:00
main.go Major rewrite 2017-03-22 18:09:21 +01:00
manifest.json Major rewrite 2017-03-22 18:09:21 +01:00
README.md Major rewrite 2017-03-22 18:09:21 +01:00
Vagrantfile Initial 2014-10-16 20:01:43 +02:00

transfer.sh Gitter Go Report Card Docker pulls Build Status

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).

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
===
$ 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

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.