No description
Find a file
2016-08-10 20:50:36 +02: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 trivial spelling fixes 2016-08-10 20:50:36 +02:00
transfersh-web trivial spelling fixes 2016-08-10 20:50:36 +02: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 Initial 2014-10-16 20:01:43 +02:00
bower.json Fixed bower dependencies 2014-10-20 16:50:03 +02:00
Dockerfile added profiling 2016-05-19 17:36:44 +02: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 Update README.md 2014-12-08 13:38:24 -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
===
$ 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.