Skip to content

spel987/PolyUploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PolyUploader

Upload your files remotely to different hosting sites.



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)
  • 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 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
  1. Install the latest version of Rust: https://www.rust-lang.org/tools/install
  2. Install Tauri-CLI with this command:
cargo install tauri-cli
  1. 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
  1. Run the script command to build the CSS file:
npm run tailwind

- 🖥️ Or simply download and run the release (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\<User>\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 size1 - -
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 size1 ✔️ -
x0.at https://x0.at 512 MB depends on the file size1 - -
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?

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

🖼️ See screenshots of the application single_upload multiple_upload history api_keys profiles settings_windows_context_menu

Comparison with Mirrored.to, Mirrorace.org and MultiUp

PolyUploader Mirrored.to Mirrorace.org MultiUp
Number of hosting providers supported 133 422 543 44
No need for a user account to fully use the service ✔️
Maximum file size limit infinite4 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 deleted7 ✔️
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. 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. 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

// 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));
  });
}
// 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) 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:

⭐ Star history

Star History Chart

Credits

Developer:

Contributors:

  • Tux 528 (GitHub): UX design, UI polishing, valuable feedback, testing, and ideas for improvement.

Backend:

Frontend:

The sites used

All the sites listed in the table here.

Suggestions

If you have any questions or suggestions, please open an issue.

Footnotes

  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 3

  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. 2 3

  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. 2 3