Ever wanted to upload files to Pixeldrain without actually downloading them first? Well, you're in luck! This little app does exactly that - it's like having a magical file transporter that takes files from anywhere on the internet and plops them right into your Pixeldrain account. โจ
This is a web app that lets you:
- ๐ Grab files from any URL and upload them to Pixeldrain
- ๐ Switch between dark and light mode (because we're not savages)
- ๐ฑ Use it on your phone, tablet, or that ancient laptop from 2010
- ๐ Watch the upload progress in real-time (no more guessing games!)
- ๐ Keep track of all your uploaded files
- ๐จ Look at pretty monospace fonts while you wait
You'll need:
- Node.js (v14 or newer) - because we're not living in the past
- npm or yarn (pick your poison)
- A Pixeldrain API key (this is NOT optional - we need it to talk to Pixeldrain!)
- Clone this bad boy:
git clone https://github.com/sh13y/Pixeldrain-URL-Uploader.git
cd Pixeldrain-URL-Uploader
- Install the dependencies (this is where the magic happens):
npm install
# or if you're a yarn person
yarn install
- Create a
.env
file in the root directory (this is where you put your secret sauce):
PIXELDRAIN_API_KEY=your_api_key_here
๐ก Pro Tip: You can get your API key from your Pixeldrain account. No API key = no uploads. It's like trying to enter a club without a VIP pass! ๐ซ
- Fire up the development server:
npm start
# or
yarn start
- Open your browser and head to
http://localhost:3000
- you're in business! ๐
- Find a file URL you want to upload (you know, that thing that starts with http:// or https://)
- (Optional) Give it a fancy name if you want to be extra
- Hit that "Upload to Pixeldrain" button
- Watch the progress bar do its thing (it's like watching paint dry, but more exciting!)
- Copy the Pixeldrain link when it's done (because sharing is caring)
index.html
: The main webpage. It's like the blueprint of a house, but for a website.app.js
: The brain of the operation. It handles:- File uploads (the magic part)
- Progress tracking (so you know what's happening)
- Theme switching (dark/light mode)
- File history management (keeping track of your stuff)
- Copy-to-clipboard functionality (for sharing)
styles.css
: Makes everything look pretty. We use:- Tailwind CSS for the heavy lifting
- Custom CSS for the special effects
- JetBrains Mono font for that sweet monospace look
- Express server that:
- Handles file uploads to Pixeldrain
- Manages API communication
- Serves the frontend files
- Handles errors gracefully (because stuff happens)
- User enters a URL
- Backend downloads the file (streaming, so it's memory efficient)
- File gets uploaded to Pixeldrain
- Progress is tracked in real-time
- Success/error messages are shown
- Uses CSS variables for colors
- Supports system preference detection
- Persists user preference in localStorage
- Smooth transitions between themes
- Shows all uploaded files
- Displays file size, type, and name
- Provides quick copy buttons
- Calculates total storage used
pixeldrain-uploader/
โโโ public/ # The frontend stuff
โ โโโ app.js # Where the magic happens
โ โโโ styles.css # Making things pretty
โ โโโ index.html # The webpage itself
โโโ server.js # The backend wizardry
โโโ package.json # Dependencies and scripts
โโโ LICENSE # The legal stuff
โโโ README.md # You're reading this right now!
Found a bug? Want to add a feature? Here's how to contribute:
- Fork this repo (make your own copy)
- Create a new branch (
git checkout -b feature/your-awesome-idea
) - Make your changes
- Push to your branch (
git push origin feature/your-awesome-idea
) - Open a Pull Request (let's see what you've got!)
This project is licensed under the WTFPL - Do What The Fuck You Want To Public License.
TL;DR: Do whatever the fuck you want with this code. No strings attached, no conditions, no warranty. It's yours to do with as you please! ๐
The full license text is in the LICENSE file. It's probably the shortest license you'll ever read - just one line that says "You just DO WHAT THE FUCK YOU WANT TO." ๐
- Pixeldrain - For being awesome and letting us use their service
- Express.js - For making the backend less painful
- Tailwind CSS - For making things look good without the headache
- JetBrains Mono - For being the best monospace font ever
If you're stuck, try:
- Reading the docs (they're actually helpful!)
- Checking the issues section
- Opening a new issue if you can't find your answer
Remember: Google is your friend, but we're here if you need us! ๐