File Sharing Using cURL
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 usingfzf
xclip -selection clipboard
copy sharable link to clipboardxclip -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.
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.