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'
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.