PolyUploader Documentation

website·Indexed 29 days ago

https://polyuploader.vercel.app

A tool for remotely uploading files to various hosting sites. It features support for multiple hosts, API key management, upload history with manual deletion, and link protection. The project is built with a Rust backend and utilizes warp-cors to bypass CORS restrictions.

Tokens
9.2K
Snippets
63
Records
91
Agent score
75%

What's inside PolyUploader

  1. Overview of PolyUploader capabilities

    PolyUploader is a cross-platform, open-source tool (Windows, Linux, macOS) built with a Rust backend that allows users to upload files from local storage or via URL to up to 133 hosting sites simultaneously. Key features include:

    • API key integration for compatible hosts.
    • Upload profiles to automate frequent tasks.
    • Generation of a single sharing link to bundle multiple host links.
    • Integration with link protection services (e.g., PrivateBin, SafeLinking, Filecrypt) to secure upload links.
    • Detailed upload history with expiration status and deletion controls.
    • No account required for use.
  2. PolyUploader Project Architecture and Repositories

    PolyUploader is a file upload service that supports over a hundred hosts by utilizing a mix of official APIs, cURL-to-JavaScript conversions, and frontend request emulation. The project is split into two primary components: a website for documentation and a backend API for managing statistics, database operations, and unique shareable bundle links.
    Website (Documentation): https://github.com/spel987/PolyUploader-website
    API (Stats, Bundles, DB): https://github.com/spel987/PolyUploader-API
  3. Understand PolyUploader telemetry and data collection

    PolyUploader collects minimal usage data (telemetry) to generate anonymous statistics. The system only collects host names and upload dates; it never collects full upload links. The API is open-source for transparency and can be reviewed on GitHub.
    API Source: https://github.com/spel987/PolyUploader-API
    Statistics Page: https://p-u.vercel.app/statistics
  4. Upload files and extract links using upload_to_host

    The upload_to_host function allows you to send a file to a file host, extract the download link from the server response, and optionally manage the manual deletion of the uploaded file.
    function upload_to_host(request_data, response_format, link_extraction = [], affix = [], manage_file = []) {
      // ...
    }
  5. Backend technology stack for PolyUploader

    The PolyUploader backend is built using the following technologies: Rust for the core programming language, Tauri for the application framework, and warp-cors for handling Cross-Origin Resource Sharing (CORS) in the warp web server.
    - Rust: https://www.rust-lang.org
    - Tauri: https://tauri.app/
    - warp-cors: https://github.com/Bassetts/warp-cors
  6. Frontend technology stack for PolyUploader

    The PolyUploader frontend utilizes Tailwind CSS for styling, Font Awesome for iconography, and Flaticon (specifically assets by DinosoftLabs) for additional visual elements.
    - Tailwind CSS: https://tailwindcss.com/
    - Font Awesome: https://fontawesome.com
    - Flaticon: https://www.flaticon.com
  7. Bypass CORS restrictions using the integrated warp-cors proxy

    PolyUploader bypasses browser CORS restrictions by routing requests through a lightweight local HTTP proxy based on warp-cors. The proxy server runs internally on port 61337. Instead of requesting a remote URL directly, requests are prefixed with the local proxy address to avoid CORS errors.
    // Direct request (will trigger CORS)
    https://example.com
    
    // Proxied request (bypasses CORS)
    http://127.0.0.1:61337/https://example.com