File Sharing Using cURL

FlareXesFlareXes
3 min read

These days, sharing photographs, videos, and document files is a pretty routine task. If you don't want to use any Google or Microsoft accounts, the procedure can occasionally get very frustrating. Then the only option is to use a website that offers this feature without requiring a login, such as WeTransfer.

But what if you want to share something more quickly or from a terminal then we can use a very interesting and mind-blowing website THE NULL POINTER. This site allows you to create an HTTP POST request to send a file very quickly. I just have to do

curl -F 'file=@yourfile.png' https://0x0.st

And, this will return a shareable link in the terminal (fast and easy enough).

The full source code is accessible as a Git Repo If you'd like to run a server and website like this, it is amazing.

Installing Required Dependencies

cURL comes pre-installed in most Linux distributions but in case you didn't have it installed.

Install on Ubuntu / Debian

sudo apt install curl fzf

Install on Arch OS

sudo pacman -Sy curl fzf

Create A File Sharing CLI Utility 'fshare'

curl -sS -F "file=@$(find $HOME | fzf)" https://0x0.st | xclip -selection clipboard && xclip -selection clipboard -o

In the command above, you simply upload a file to THE NULL POINTER, copy the shareable link to the clipboard, and then stdout the link on the terminal.

Explanation

  • -sS show any info on stdout only if any error occurred

  • -F allow uploading a file on THE NULL POINTER

  • "file=@$(find $HOME | fzf)" grab file location using fzf

  • xclip -selection clipboard copy sharable link to clipboard

  • xclip -selection clipboard -o finally also stdout on terminal

Now, we can simply create an alias out of this by simply pasting in .zshrc or .bashrc

alias fshare='curl -sS -F "file=@$(find $HOME | fzf)" https://0x0.st | xclip -selection clipboard && xclip -selection clipboard -o'

Rather than an alias, I usually prefer to use a standalone bash script and making it executable. I have fshare bash script on my GitHub (Check Here). Where you can always get updated version of fshare there. So to install it run below commands.

sudo wget https://raw.githubusercontent.com/FlareXes/Micro-Utils/main/bin/fshare -O /usr/local/bin/fshare

sudo chmod +x /usr/local/bin/fshare

fshare

But, THE NULL POINTER is a free service which means it comes with restrictions some of which are listed below.

0x0.st is not a platform for:

  • piracy

  • extremist material of any kind

  • malware / botnet C&C

  • anything related to crypto currencies

  • tor exit nodes not allowed

  • any file types:

    • application/x-dosexec

    • application/x-executable

    • application/x-hdf5

    • application/java-archive

    • android apks and system images

Check out their website for more information.

If you don't like these restrictions then spin up your own server because it is open-source and available as a git repo and don't spam on them.

0
Subscribe to my newsletter

Read articles from FlareXes directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

FlareXes
FlareXes

Hi there This is FlareXes! I'm a full-on tech-savvy kid with a passion for many things in IT. Working on casual programming projects, tinkering with Linux and always smashing the cyber security stuff is my thing. And, that what you'll find here. I'm always excited to share my knowledge and experience with others forks through my blogs, videos and personally.