curl, netcat, telnet.

You can easily upload your files to our service using a Unix/Linux command-line interface.
This service allows HTTP PUT for curl -T and some TCP ports for uploads using netcat/telnet.

Using curl (PUT method)

curl -T /path/to/file https://tempfile.me
curl -T /path/to/file https://tempfile.me/customfilename # use a different filename
curl -T /path/to/file https://tempfile.me/customfilename/15 # use a different filename and expire in 15 minutes
curl --upload-file /path/to/file https://tempfile.me/customfilename/60 # expire in 60 minutes
curl -T /path/to/file https://tempfile.me/customfilename/-1 # auto-destroy after first download
curl -T /path/to/file "https://tempfile.me/?expire=1440&autodestroy=1" # auto-destroy on dl and expire in 24 hours

Available HTTP parameters: expire, autodestroy, randomizefn, filename, shorturl

Using curl (POST method)

curl https://tempfile.me -F f=@/path/to/file
curl https://tempfile.me -F f=@/path/to/file -F expire=5 # expire in 5 minutes
curl https://tempfile.me -F f=@/path/to/file -F expire=120 -F autodestroy=1 # autodestroy on download or expire in 120 minutes
curl https://tempfile.me -F f=@/path/to/file -F shorturl=0 # force a long URL in order to prevent possible short URL bruteforce
curl https://tempfile.me -F f=@/path/to/file -F randomizefn=1 # randomize filename

Using TCP (netcat/telnet)

Are you an advanced IT person and need to upload your files using raw TCP session? It's possible right here. This service is inspired by tcp.st

Our TCP ports:

As a response we return 3 URLs: Management URL, Clearnet download URL and Onion download URL

The maximum size for TCP uploads is currently limited to 10000 MB

Netcat example
nc -q2 tempfile.me 7777 < /path/to/file
Telnet examples
Sending raw binary files via telnet is impractical, you better encode them in Base64 or Hex, that's why we have these ports

Our 7778 port is a TCP server decoding everything from Base64, so you just need to encode your file.
Below examples demonstrate how to upload a file using different tools for encoding

( sleep 1 && base64 /path/to/file ) | telnet tempfile.me 7778
( sleep 1 && perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' /path/to/file ) | telnet tempfile.me 7778

Our 7779 port is a TCP server decoding everything from Hex, so you just need to encode it. Here is how to upload using different tools for encoding in Hex

— fast (using xxd)
( sleep 1 && xxd -p /path/to/file | tr -d '\n' ) | telnet tempfile.me 7779
— fast (using perl)
( sleep 1 && perl -ne 'print unpack "H*", $_' /path/to/file ) | telnet tempfile.me 7779
— slow (using hexdump)
( sleep 1 && hexdump -ve '1/1 "%.2x"' /path/to/file ) | telnet tempfile.me 7779
— slow (using od)
( sleep 1 && od -v -t x1 -An /path/to/file | tr -d '\n ' ) | telnet tempfile.me 7779

We use sleep for telnet because unlike netcat, it has no -q option to receive data from server after sending eof
thus it might close the connection immediately after sending the data without receiving a response from us.
However, sleep may not be needed when sending big files.

Other requests

Get file's hashsum: curl https://tempfile.me/hashsum/somefile
Get text-only management information: curl https://tempfile.me/a/somefilemanageid
Delete a file: curl https://tempfile.me/a/somefilemanageid/delete
Delete a file via DELETE request: curl -X DELETE https://tempfile.me/a/somefilemanageid

A file download link can be adjusted for a desired presentation:
https://tempfile.me/somefile
https://tempfile.me/somefile.png (any extension can be appended independently of the actual MIME type, this also skips automatic redirection for images/videos)
https://tempfile.me/somefile/anyname.jpg (any filename can be appended in case short URL mode is enabled)

Non-HTTPS requests

This service allows HTTP uploads and downloads without SSL/TLS encryption in order to cover some rare use cases. From a simple need to download something on Windows XP or other ancient OS to various research purposes.

The following requests are accepted to bypass HTTPS redirection:

GET http://tempfile.me/nossl (main page)
GET http://tempfile.me/nossl/somefile (downloads)
POST http://tempfile.me/nossl (uploads via browsers and libraries)
PUT http://tempfile.me/nossl/ (uploads via PUT like curl -T)