Basic image, text & file uploader CDN for ShareX which allows you to upload your screenshots, text documents and any other files to your website and have a random link generated. Because of the length these links are very hard to bruteforce.
- ShareX installed
- A website or webserver (needs to accept PHP and file uploads via POST requests)
- A domain or subdomain
- Clone the code from GitHub.
- Go in the
Uploadfolder. - Open
upload.phpwith Notepad++. - Edit line 7, 8 and 9 to change your password and link (read the comments next to them).
- Password: this only lets users with the password upload files to your server
- Domain URL: set this to your domain (or subdomain) and don't forget the
/at the end of the line - Length: this specifies the length of the randomly generated folder- & filenames (e.g. https://cdn.knif.dev/img/3lfUh/S1E7M.png has a length of 5 (the URL starts with the domain, then
/img/, a random folder name with the length you specified (in this case5), a random file name with the specified length (in this case5) and the extension (in this case.png)))
- Upload the content of the
Uploadfolder to the root directory of your website (I prefer to make a subdomain called "cdn" and put the folder to its directory). - Make sure that sub-folders have permissions set to 755 (and Group ID set to 33 if applicable), with the upload.php script having permissions of 777.
- Open all three
.sxcufiles from theShareX-Configfolder with a Notepad++ and change theRequestURLandpasswordto your own. - Open ShareX, click on
DestinationsandCustom uploader settings. - Click on
Importand select the first.sxcufile, repeat this for the others aswell. - In the bottom left select the corresponding uploader (
Image,TextandFile). - Click on
Testto check if everything is working correctly.
Done! That's it. If something doesn't quite work out for you just contact me on Discord and I'll try my best to help you.
I created this project a few years ago and it is really hard to get it working with all these different NGINX/Apache configurations, so just try a few things before giving up.
If you get an upload failed because of "error: request entity too large" your server doesn't accept large files via PHP upload. You can fix this issue by increasing your PHP upload limit. If you can't increase it yourself you have to contact your hosting provider to do it for you.
Also maybe the script doesn't have enough permissions to create the files/folders correctly.
Try to change the permissions of all files and folders in the upload dir to 755 or 777.
If you still can't get it working just try to use the built in FTP uploader in ShareX, it's way easier to setup than this project 😉
- Statuspage for their amazing error 404 & 403 templates
- Pengu for his initial ShareX uploader script I used as a base
- ShareX for their awesome program that enables us to upload our screenshots
- GenericNerd for his fork, which fixed some issues with my script