FlareXes
FlareXes

Follow

FlareXes

Follow

File Sharing Via cURL

File sharing from terminal which suck less

FlareXes's photo
FlareXes
·Jun 24, 2022·

2 min read

File Sharing Via cURL
Play this article

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'

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.