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.

All the ports described below are available via our Tor hidden service as well - 5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion

Using curl (PUT method)

curl -T /path/to/file https://oshi.at
curl -T /path/to/file https://oshi.at/customfilename # use a different filename
curl -T /path/to/file https://oshi.at/customfilename/15 # use a different filename and expire in 15 minutes
curl --upload-file /path/to/file https://oshi.at/customfilename/60 # expire in 60 minutes
curl -T /path/to/file https://oshi.at/customfilename/-1 # auto-destroy after first download
curl -T /path/to/file http://5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion # upload using our Tor hidden service
curl -T /path/to/file "https://oshi.at/?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://oshi.at -F f=@/path/to/file
curl https://oshi.at -F f=@/path/to/file -F expire=5 # expire in 5 minutes
curl https://oshi.at -F f=@/path/to/file -F expire=120 -F autodestroy=1 # autodestroy on download or expire in 120 minutes
curl https://oshi.at -F f=@/path/to/file -F shorturl=0 # force a long URL in order to prevent possible short URL bruteforce
curl https://oshi.at -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 150 MB

Netcat example
nc -q2 oshi.at 7777 < /path/to/file
Telnet examples

Now let's imagine you've got an illegal access to a MIPS router running OpenWRT and found some rogue malware binary that you would like to analyze or send to VirusTotal. There is no netcat or curl, but only telnet and there is no easy way to download the file. Here comes dat boi!
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 oshi.at 7778
( sleep 1 && perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' /path/to/file ) | telnet oshi.at 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 oshi.at 7779
— fast (using perl)
( sleep 1 && perl -ne 'print unpack "H*", $_' /path/to/file ) | telnet oshi.at 7779
— slow (using hexdump)
( sleep 1 && hexdump -ve '1/1 "%.2x"' /path/to/file ) | telnet oshi.at 7779
— slow (using od)
( sleep 1 && od -v -t x1 -An /path/to/file | tr -d '\n ' ) | telnet oshi.at 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://oshi.at/hashsum/somefile
Get text-only management information: curl https://oshi.at/a/somefilemanageid
Delete a file: curl https://oshi.at/a/somefilemanageid/delete
Delete a file via DELETE request: curl -X DELETE https://oshi.at/a/somefilemanageid

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

Fast .onion domain

For convenience there is a text page that serve .onion link of this service: oshi.at/onion
A practical use example: curl -T file `curl https://oshi.at/onion` --socks5-hostname 127.0.0.1:9050

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://oshi.at/nossl (main page)
GET http://oshi.at/nossl/somefile (downloads)
POST http://oshi.at/nossl (uploads via browsers and libraries)
PUT http://oshi.at/nossl/ (uploads via PUT like curl -T)