An open API service indexing awesome lists of open source software.

https://github.com/spel987/PolyUploader

Upload your files remotely to different hosts.
https://github.com/spel987/PolyUploader

Last synced: 5 months ago
JSON representation

Upload your files remotely to different hosts.

Awesome Lists containing this project

README

          

# PolyUploader
## Upload your files remotely to different hosting sites.


πŸ“– Documentation website |
πŸ“ˆ Statistics |
🧾 Terms





πŸš€ Quick overview |
⬇️ Installation |
🌐 Supported hosts |
πŸ” Comparison with Mirrored.to, Mirrorace.org and MultiUp



πŸ“Š Telemetry |
πŸ› οΈ Managing CORS |
πŸ—’οΈ Notes from the developer |
πŸ‘€ Credits






PolyUploader - Upload files to 130+ hosts simultaneously | Product Hunt
Download PolyUploader

Buy Me a Coffee at ko-fi.com

# Quick overview:

- Upload from local storage or via URL to 133 hosts at once
- Link your own API keys for compatible hosts
- View a detailed history of your uploads with expiration status and delete buttons
- Create and manage upload profiles to automate frequent tasks
- Generate a single sharing link to bundle multiple host links (e.g. [example](https://p-u.vercel.app/QZZGsMNho9))
- No account required, fully open-source, fast, and free
- Built with a focus on speed and security using Rust backend

Be sure to respect the [terms](https://p-u.vercel.app/terms) when using the software.

# Installation

## - πŸ”§ Use the application by compiling it by hand:

1) **Clone the repository:**

```
git clone https://github.com/spel987/PolyUploader.git
```

2) **Install the latest version of Rust:** https://www.rust-lang.org/tools/install
3) **Install Tauri-CLI with this command:**

```
cargo install tauri-cli
```

4) **Start compilation with this command:**

```
cargo tauri build
```

You'll find the installer in the `.\src-tauri\target\release\bundle` folder.

**Or start debugging the application with this command:**

```
cargo tauri dev
```

*Optional: If you wish to modify the CSS with TailwindCSS:*

1) **Install the latest version of Node.js:** https://nodejs.org
2) **Install the dependencies:**

```
npm i
```

3) **Run the script command to build the CSS file:**

```
npm run tailwind
```

## - πŸ–₯️ Or simply download and run the [release](https://github.com/spel987/PolyUploader/releases/latest) (Windows only).

> 1) For the moment, the application is only available on Windows. I tried to build the application for Linux but I kept getting webkit errors and on top of that Linux doesn't handle certain CSS effects in the same way. The application wouldn't look very good and would be full of bugs. However, why not work to solve this problem in future versions.
> 2) I'm not providing a portable version at the moment. In fact, Tauri creates a `C:\Users\\AppData\Local\PolyUploader` folder containing the data required by the Webview.

# Supported hosts

## πŸ“‹ All hosts

### πŸ—’οΈ Legend

| Column | Emoji(s) | Meaning(s) |
| ------------------------------------ | --------- | ------------------------------------------------------------------ |
| Name | 🎞️ | 🎞️ = Specialist video streaming host |
| πŸ“ Max file size / πŸ• File retention | πŸ‘», πŸ‘€ | πŸ‘» = Anonymous upload limits
πŸ‘€ = Account-based upload limits |
| πŸ—‘οΈ Supports manual file deletion | βœ”οΈ, πŸ”§, - | βœ”οΈ = Yes
πŸ”§ = Only with API key
- = Not supported |
| πŸ”‘ API key support | ✨, πŸ”’, - | ✨ = API key optional
πŸ”’ = API key required
- = Not supported |

### 🌐 Hosts

| Name | Url | πŸ“ Max file size | πŸ• File retention time | πŸ—‘οΈ Supports manual file deletion | πŸ”‘ API key support |
| :------------------------------------------------------------------------- | :--------------------------- | :--------------------: | :--------------------------: | :-------------------------------: | :----------------: |
| 1fichier | https://1fichier.com | πŸ‘», πŸ‘€ 300 GB | πŸ‘» 15 days
πŸ‘€ 30 days | βœ”οΈ | ✨ |
| Turbobit | https://turbobit.net | πŸ‘» 200 MB
πŸ‘€ 200 GB | πŸ‘» 7 days
πŸ‘€ 30 days | - | ✨ |
| Bowfile | https://bowfile.com | 20 GB | 30 days | βœ”οΈ | - |
| Gofile | https://gofile.io | πŸ‘», πŸ‘€ infinite | πŸ‘», πŸ‘€ 10 days | βœ”οΈ | ✨ |
| Hitfile | https://hitfile.net | πŸ‘» 4 GB
πŸ‘€ 100 GB | πŸ‘», πŸ‘€ 30 days | - | ✨ |
| 1Cloudfile | https://1cloudfile.com | 5 GB | 30 days | βœ”οΈ | - |
| file-upload.org | https://file-upload.org | 200 MB | 60 days | - | - |
| RapidFileShare | http://rapidfileshare.net | 512 MB | 5 days | βœ”οΈ | - |
| Upload.ee | https://upload.ee | 100 MB | 50 days | βœ”οΈ | - |
| Netu 🎞️ | https://netu.ac | πŸ‘» 8 GB
πŸ‘€ 100 GB | πŸ‘», πŸ‘€ 30 days | - | ✨ |
| Buzzheavier | https://buzzheavier.com | πŸ‘», πŸ‘€ infinite | πŸ‘», πŸ‘€ 7 days | πŸ”§ | ✨ |
| HexUpload | https://hexload.com | 2 GB | 60 days | βœ”οΈ | - |
| VikingFile | https://vikingfile.com | 10 GB | 20 days | - | - |
| DailyUploads | https://dailyuploads.net | infinite | 30 days | - | - |
| UsersDrive | https://usersdrive.com | 2.25 GB | 10 days | βœ”οΈ | - |
| Send.now | https://send.now | 100 GB | 15 days | - | - |
| Mexa.sh | https://mexa.sh | 500 MB | 60 days | βœ”οΈ | - |
| MegaUp | https://megaup.net | 5 GB | 60 days | βœ”οΈ | - |
| Uploadify | https://uploadify.net | 2 GB | infinite | βœ”οΈ | - |
| Clicknupload | https://clicknupload.click | 2 GB | 7 days | βœ”οΈ | - |
| Filespace | https://filespace.com | 150 MB | 10 days | βœ”οΈ | - |
| Gulfup | https://www.gulf-up.com | πŸ‘» 200 MB
πŸ‘€ 10 GB | πŸ‘» 10 days
πŸ‘€ 30 days | βœ”οΈ | ✨ |
| Fastupload | https://fastupload.io | 50 GB | 30 days | βœ”οΈ | - |
| UploadHive | https://uploadhive.com | infinite | 30 days | - | - |
| DepositFiles | https://dfiles.eu | 10 GB | 90 days | - | - |
| Download.gg | https://download.gg | 25 GB | infinite | βœ”οΈ | - |
| Ranoz | https://ranoz.gg | 5 GB | 30 GB | - | - |
| Sendvid 🎞️ | https://sendvid.com | 1 GB | 90 days | - | - |
| Uploady | https://uploady.io | πŸ‘» 1 GB
πŸ‘€ 100 GB | πŸ‘», πŸ‘€ 30 days | βœ”οΈ | ✨ |
| AnonTransfer | https://anontransfer.com | 1 GB | 30 days | - | - |
| FileMirage | https://filemirage.com | πŸ‘», πŸ‘€ 50 GB | πŸ‘», πŸ‘€ 60 days | - | ✨ |
| Litterbox | https://litterbox.catbox.moe | 1 GB | 24 hours | - | - |
| Temp.sh | https://temp.sh | 4 GB | 3 days | - | - |
| TmpFiles.org | https://tmpfiles.org | 100 MB | 1 hour | - | - |
| Gofile.to | https://gofile.to | 5 GB | infinite | - | - |
| Free.fr | https://transfert.free.fr | 10 GB | 7 days | βœ”οΈ | - |
| Uguu.se | https://uguu.se | 32 MB | 3 hours | - | - |
| lurkmore Uguu | https://upload.lurkmore.com | 1.28 GB | 24 hours | - | - |
| Uguu | https://uguu.aishiteiru.moe/ | 128 MB | 24 hours | - | - |
| Pomf.lain.la | https://pomf.lain.la | 1 GB | infinite | - | - |
| Filer.net | https://filer.net | 500 MB | 180 days | - | - |
| Filebin | https://filebin.net | infinite | 7 days | βœ”οΈ | - |
| DoUploads | https://douploads.net | 1 GB | 10 days | βœ”οΈ | - |
| Dataupload | https://dataupload.net | 300 MB | 30 days | βœ”οΈ | - |
| Upstore | https://upstore.net | 1 GB | 30 days | - | - |
| uFile | https://ufile.io | 5 GB | 30 days | - | - |
| KrakenFiles | https://krakenfiles.com | πŸ‘» 1 GB
πŸ‘€ 5 GB | πŸ‘» 30 days
πŸ‘€ 90 days | πŸ”§ | ✨ |
| Rapidshare.io | https://rapidshare.io | 1 GB | 10 days | βœ”οΈ | - |
| Media.cm 🎞️ | https://media.cm | 300 MB | 90 days | - | - |
| Oshi.at | https://oshi.at | 5 GB | 2 hours | βœ”οΈ | - |
| bashupload | https://bashupload.com | 50 GB | 3 days | - | - |
| Tommo.team | https://tommo.team | 4 GB | 30 days | - | - |
| Desiupload | https://desiupload.co | infinite | 15 days | - | - |
| tempfiles.ninja | https://tempfiles.ninja | 100 MB | 24 hours | βœ”οΈ | - |
| Fileditch | https://fileditch.com | 5 GB | 30 days | - | - |
| Up2Share | https://up2sha.re | πŸ‘» 64 MB
πŸ‘€ 1 GB | πŸ‘», πŸ‘€ 30 days | πŸ”§ | ✨ |
| Dbree | https://dbree.org | 100 MB | 60 days | - | - |
| udrop | https://udrop.com | 10 GB | 7 days | βœ”οΈ | - |
| Tempsend | https://tempsend.com | 2 GB | 7 days | - | - |
| Curl.by | https://curl.by | 32 MB | 30 days | - | - |
| Uptomega | https://uptomega.net | 1 GB | 3 days | - | - |
| Data Vaults | https://datavaults.co | 1 GB | 3 days | - | - |
| qu.ax | https://qu.ax | 256 MB | infinite | - | - |
| FileTmp | https://filetmp.com | 300 MB | 5 hours | - | - |
| CCU.to | https://ccu.to | 5 GB | 3 days | - | - |
| Dosya.co | https://dosya.co | 2 GB | 45 days | βœ”οΈ | - |
| ImgBB | https://imgbb.com | 32 MB | infinite | - | - |
| IMG Bank | https://imgbank.cz | 4 MB | infinite | - | - |
| ki.tc | https://ki.tc | 400 MB | depends on the file size[^1] | - | - |
| UploadFile.pl | https://uploadfile.pl | 5.98 GB | 30 days | βœ”οΈ | - |
| NippyFile | https://nippyfile.com | 100 MB | infinite | - | - |
| Filestore | https://filestore.to | 2 GB | 15 days | βœ”οΈ | - |
| Fast Down | https://down.fast-down.com | 10 GB | 30 days | - | - |
| Theuser.cloud | https://theuser.cloud | 5 GB | 30 days | βœ”οΈ | - |
| CyberFile | https://cyberfile.me | 10 GB | 5 days | βœ”οΈ | - |
| end2end | https://end2end.tech | 2 GB | infinite | βœ”οΈ | - |
| c-v.sh | https://c-v.sh | 512 MB | depends on the file size[^1] | βœ”οΈ | - |
| x0.at | https://x0.at | 512 MB | depends on the file size[^1] | - | - |
| 1filesharing | https://1filesharing.com | 1 GB | 10 days | βœ”οΈ | - |
| Nopaste | https://nopaste.net | 2 GB | 21 days | - | - |
| TmpSend | https://tmpsend.com | 1 GB | 7 days | - | - |
| Mega4up | https://mega4upload.net | 200 MB | 15 days | βœ”οΈ | - |
| Hostuje | https://hostuje.net | 2.5 GB | 90 days | βœ”οΈ | - |
| UploadFlix | https://uploadflix.com | 3 GB | 20 days | βœ”οΈ | - |
| DZ4Up | https://dz4up.com | 2 GB | 30 days | βœ”οΈ | - |
| WDFiles | https://wdfiles.ru | 3 GB | 15 days | βœ”οΈ | - |
| m1rai | https://up.m1r.ai | 100 MB | infinite | - | - |
| s3kai | https://up.s3k.ai | 1 GB | 15 days | - | - |
| XUP | https://www.xup.in | 100 MB | 150 days | βœ”οΈ | - |
| Filepv | https://filepv.com | 2 GB | 30 days | - | - |
| F2H | https://f2h.io | 1 GB | 50 days | - | - |
| ayaya.beauty | https://ayaya.beauty | 1 GB | 14 days | βœ”οΈ | - |
| DropMB | https://dropmb.com | 512 MB | 365 days | - | - |
| Nelion | https://nelion.me | 20 MB | 7 days | βœ”οΈ | - |
| Atomauth | https://atomauth.com | 1 GB | infinite | - | - |
| imouto.kawaii.su | https://imouto.kawaii.su | 20 MB | 30 days | - | - |
| DoodStream 🎞️ | https://doodstream.com | infinite | 60 days | - | πŸ”’ |
| Pixeldrain | https://pixeldrain.com | 20 GB | 90 days | πŸ”§ | πŸ”’ |
| Drop.download | https://drop.download | 50 GB | 10 days | - | πŸ”’ |
| FileMoon 🎞️ | https://filemoon.sx | 50 GB | 10 days | - | πŸ”’ |
| Catbox | https://catbox.moe | 200 MB | infinite | πŸ”§ | πŸ”’ |
| ddownload | https://ddownload.com | 2 GB | 30 days | πŸ”§ | πŸ”’ |
| mp4upload 🎞️ | https://mp4upload.com | 500 MB | 30 days | - | πŸ”’ |
| DropGalaxy | https://dropgalaxy.com | 5 GB | 120 days | - | πŸ”’ |
| Nitroflare | https://nitroflare.com | 10 GB | 90 days | - | πŸ”’ |
| Vidoza 🎞️ | https://vidoza.net | 50 GB | 30 days | - | πŸ”’ |
| Katfile | https://katfile.com | 5 GB | 10 days | πŸ”§ | πŸ”’ |
| Rapidgator | https://rapidgator.net | 80 GB | 30 days | πŸ”§ | πŸ”’ |
| StreamA2Z 🎞️ | https://streama2z.com | 10 GB | 60 days | πŸ”§ | πŸ”’ |
| StreamWish 🎞️ | https://streamwish.com | 50 GB | infinite | - | πŸ”’ |
| StreamRuby 🎞️ | https://streamruby.com | 50 GB | 10 days | - | πŸ”’ |
| Voe.sx 🎞️ | https://voe.sx | 25 GB | 60 days | πŸ”§ | πŸ”’ |
| DevUploads | https://devuploads.com | 5 GB | 30 days | - | πŸ”’ |
| Darkibox 🎞️ | https://darkibox.com | 10 GB | 30 days | πŸ”§ | πŸ”’ |
| Filegram 🎞️ | https://filegram.to | 15 GB | 30 days | πŸ”§ | πŸ”’ |
| Goodstream 🎞️ | https://goodstream.one | 25 GB | 60 days | πŸ”§ | πŸ”’ |
| Dropload 🎞️ | https://dropload.io | 7 GB | 30 days | - | πŸ”’ |
| GeTT | https://gett.su | 2 GB | 30 days | - | πŸ”’ |
| OneUpload 🎞️ | https://oneupload.to | 4 GB | 20 days | πŸ”§ | πŸ”’ |
| EarnVids 🎞️ | https://earnvids.com | 50 GB | 30 days | - | πŸ”’ |
| Vinovo 🎞️ | https://vinovo.si | 15 GB | 60 days | - | πŸ”’ |
| Uploadrar | https://uploadrar.com | 30 GB | 30 days | - | πŸ”’ |
| Vidguard 🎞️ | https://vidguard.to | 15 GB | 30 days | πŸ”§ | πŸ”’ |
| SaveFiles 🎞️ | https://savefiles.com | 20 GB | 15 days | πŸ”§ | πŸ”’ |
| Filespayouts | https://filespayouts.com | 10 GB | 60 days | - | πŸ”’ |
| Fileaxa | https://fileaxa.com | 1 GB | 15 days | - | πŸ”’ |
| SuperVideo 🎞️ | https://supervideo.cc | 6 GB | 30 days | - | πŸ”’ |
| MixLoads | https://mixloads.to | 30 GB | 20 days | - | πŸ”’ |
| Up4Stream | https://up4stream.com | 20 GB | 15 days | πŸ”§ | πŸ”’ |
| Uqload 🎞️ | https://uqload.cx | 4 GB | 30 days | - | πŸ”’ |
| LuluStream 🎞️ | https://lulustream.com | 150 GB | 10 days | - | πŸ”’ |
| UpFiles | https://upfiles.com | 25 GB | 30 days | - | πŸ”’ |
| StreamBolt 🎞️ | https://streambolt.tv | 5 GB | 30 days | - | πŸ”’ |
> [Don't know where to get your API key for a host?](https://polyuploader.vercel.app/get-api-keys)

### πŸ“‘ Details of hosts

| Category | Count |
| :----------------------------------- | :---: |
| 🌐 Number of hosts | 133 |
| πŸ”“ Hosts not requiring an API key | 96 |
| ✨ Hosts supporting optional API key | 11 |
| πŸ”’ Hosts requiring an API key | 37 |
| πŸ—‘οΈ Hosts supporting manual deletion | 58 |
| 🎞️ Specialist video streaming host | 24 |

If you know of a host that I can add, please open an [issue](https://github.com/spel987/PolyUploader/issues).



πŸ–ΌοΈ See screenshots of the application

single_upload
multiple_upload
history
api_keys
profiles
settings_windows_context_menu

# Comparison with [Mirrored.to](https://mirrored.to), [Mirrorace.org](https://mirrorace.org) and [MultiUp](https://multiup.io)

| | PolyUploader | [Mirrored.to](https://mirrored.to) | [Mirrorace.org](https://mirrorace.org) | [MultiUp](https://multiup.io) |
| :------------------------------------------------------------------------ | :----------: | :--------------------------------: | :------------------------------------: | :---------------------------: |
| Number of hosting providers supported | 133 | 42[^2] | 54[^3] | 44 |
| No need for a user account to fully use the service | βœ”οΈ | ❌ | ❌ | ❌ |
| Maximum file size limit | infinite[^4] | 750MB | 5GB | 500GB |
| History of uploaded files | βœ”οΈ | ⚠️[^5] | ⚠️[^5] | ⚠️[^5] |
| Flags up offline hosts and prevents the user from uploading files to them | βœ”οΈ | ⚠️[^6] | ❌ | βœ”οΈ |
| Uploaded file can be deleted[^7] | βœ”οΈ | ❌ | ❌ | ❌ |
| Ability to upload a file from a URL | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ |
| Ability to upload multiple files simultaneously | ❌ | βœ”οΈ[^8] | βœ”οΈ[^9] | βœ”οΈ |
| Profile features | βœ”οΈ | ⚠️[^10] | ⚠️[^10] | ⚠️[^10] |
| Created links accessible from a shareable link | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ |
| Supports user API keys for concerned hosts | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ |
| Open-source | βœ”οΈ | ❌ | ❌ | ❌ |
> The aim of this comparison is not to discredit Mirrored.to, Mirrorace.org and MultiUp or simply to say that PolyUploader is better. It is only a summary table of the functions supported or not by the 4 services to help you choose.

### πŸ—’οΈ Legend

| Emoji | Meaning |
| :---------: | :-----------: |
| βœ”οΈ | Yes |
| ❌ | No |
| ⚠️ | Partially |

# Telemetry

PolyUploader collects minimal usage data (telemetry) to help improve the service. Only the host names and upload dates are collected, **never the full upload links**.

This data is used to generate anonymous statistics available at [https://p-u.vercel.app/statistics](https://p-u.vercel.app/statistics).
It’s genuinely helpful for me as a developer (seeing that my software is used and works well is both motivating and rewarding).

For those who are cautious about telemetry, the PolyUploader API is fully open-source and publicly available here: https://github.com/spel987/PolyUploader-API.

# Managing CORS

To bypass CORS restrictions on certain hosts, PolyUploader uses a lightweight local HTTP proxy named [`warp-cors`](https://github.com/Bassetts/warp-cors). Instead of running the proxy as a standalone executable (`warp-cors.exe`), the logic has been integrated directly into the Rust backend. I've tweaked the `warp-cors` code to better suit my needs, especially for handling session cookies.

## πŸ€” How it works

At startup, the app launches the `warp-cors` proxy server internally (on port `61337`). Rather than sending requests directly to `https://example.com`, they're routed through:

```
http://127.0.0.1:61337/https://example.com
```

This avoids any browser CORS errors entirely.

## πŸͺ› Integration

- The Rust backend imports and launches the `warp-cors` proxy via its library interface.
- Requests that require CORS bypass are automatically prefixed in the frontend.

## πŸ—’οΈ Example

```rust title="main.rs"
// Launch the warp-cors proxy
use tokio::runtime::Builder;
use warp_cors::app::{Config, run};

fn main() {
std::thread::spawn(|| {
let rt = Builder::new_multi_thread()
.enable_all()
.build()
.unwrap();
let cfg = Config { host: "0.0.0.0".into(), port: 61337 };
rt.block_on(run(cfg));
});
}
```

```js title="example.js"
// Use the proxy
const proxy = "http://127.0.0.1:61337/";
upload_to_host([
proxy + "https://upload.gofile.io/uploadfile/",
"POST",
sent_data_form
]);
```

# Notes from the developer

To handle file uploads, I rely on various methods depending on the host: some provide APIs, others require converting cURL commands to JavaScript, and a few need request emulation based on their frontend behavior.

Maintaining support for over a hundred hosts has been a real challenge, especially as I’m working solo on this project while still pursuing my studies. While many hosts share similar logic (a lot of them run on XFileSharing Pro), each one brings its own quirks, making the work complex and often repetitive.

Special thanks to **Tux 528** ([@Tux528](https://github.com/Tux528)) for his valuable external feedback and all the ideas he brought to help improve and optimize the project.

If you enjoy the work and find it useful, feel free to ⭐ star the repository, it truly means a lot!

If you’d like to learn more, feel free to explore the repositories:
- [PolyUploader-website](https://github.com/spel987/PolyUploader-website): contains the documentation
- [PolyUploader-API](https://github.com/spel987/PolyUploader-API): powers the statistics, the unique shareable bundle links and other things to do with the database








## ⭐ Star history





Star History Chart

# Credits

### Developer:

- spel987

Email: `spel987@pm.me`

GitHub: https://github.com/spel987

### Contributors:

- Tux 528 ([GitHub](https://github.com/Tux528)): UX design, UI polishing, valuable feedback, testing, and ideas for improvement.

### Backend:

- Rust: https://www.rust-lang.org/
- Tauri: https://tauri.app/
- warp-cors: https://github.com/Bassetts/warp-cors/

### Frontend:

- Tailwind CSS: https://tailwindcss.com/
- Font Awesome: https://fontawesome.com/
- Flaticon (and author [DinosoftLabs](https://www.flaticon.com/authors/dinosoftlabs)): https://www.flaticon.com/free-icon/box_5899516

### The sites used

All the sites listed in the table [here](#supported-hosts).

# Suggestions

If you have any questions or suggestions, please open an [issue](https://github.com/spel987/PolyUploader/issues).

[^1]: **"depends on the file size"** means that the host keeps your files according to their weight. They use different algorithms. *For more information, please visit the chosen site.*
[^2]: Only 10 hosts are proposed when we don't use an account.
[^3]: Only 36 hosts are proposed when we don't use an account.. Many hosts are no longer supported, and I've found that around 60% of hosts are no longer functional.
[^4]: File size is not restricted by the software, but by the host. It all depends on the host's capacity.
[^5]: History is only available to registered users.
[^6]: Offline hosts are not deactivated, we need to go to "https://www.mirrored.to/p/host-status" for status information.
[^7]: Provided that the host is able to delete it and offers the ability to do so.
[^8]: This feature is limited to 20 files.
[^9]: This feature is limited to 50 files.
[^10]: Only a "profile" that checks off the favorite hosts selected in the settings. User account required.