Tired of having to open a web browser to upload some files and make them available to people on the Web? Don’t want to remember a complicated API to do it on the command line? chunk.io is designed to be the simplest way to upload a file from the command line.

Why ?

Every web site that allows you to upload files either requires you to open a web browser, and/or provides an API that’s just too complicated to be usable from the command-line. chunk.io solves this, and more:

Upload any kind of file, not just text files, up to 50MB (sign-up for up to 5GB!);

Do it with your command-line tool of choice; that may not look like much at first, but this is much more convenient when you’re spending your time in a terminal. No context-switching, and faster. Plus you get all the benefits of UNIX pipes.

Syntax highlight uploaded source files by appending a Pygments lexer extension to the file URI. Reference a specific line when you share it with others.

And, your files are securely stored on Amazon S3.

Command-line usage

Transfer a single file from your filesystem

Here is what you type in your command line:

$ curl -T path/to/file chunk.io

Here is what you receive (as a text/uri-list payload):

http://chunk.io/f/1edae590c82d46deb930b4237828d809

Simple heh? From now on we’ll no longer separate request and response, i.e. the previous example will be written as:

Tips

Be awesome

You’ve just uploaded a Ruby script? What about getting it syntax highlighted by appending a rblang parameter to the end of the URL? Try http://chunk.io/f/f43a0651d53f46318db4c859311f5632?lang=rb for an example. This works with all extensions supported by the Pygments library. You can also highlight specific lines of the file by putting a reference after the hash tag in the URL: http://chunk.io/f/f43a0651d53f46318db4c859311f5632?lang=rb#43-58.

For image files, just set the lang to png, jpg, etc. to get the image displayed in a proper HTML page: http://chunk.io/f/21e058de49c04431b66b148576662d9d?lang=jpg. More options to come.

Remember the multi-file to .tar example? Try to append ?lang=tar or ?lang=archive you’ll get a nice page displaying the files in the archive!

Stream content (beta)

Ever wanted to share a log file with colleagues over HTTP? With real-time updates when new content appear? Then you should try the new streaming feature!

In a first terminal (producer), create a new stream, and send content to it

In another terminal (listener), access the URL and see live logs across the internet!

$ curl $URL

Terminating the producer will also terminate the connection on the listener(s).

Enjoy!

Is it free?

Yes. Anonymous uploads are limited to 50MB, and may be deleted after 6 months. Register if you want your files to be available forever. Registered accounts can upload and share files up to 5GB in size.