Skip to content

ZanixonGroup/uploader

Repository files navigation

🚀 Uploader

A lightweight, multi-service file hosting uploader for Node.js

NPM Version Repo Size Last Commit License

FeaturesInstallationSupported HostsQuick StartContributing


✨ Features

  • 📦 Lightweight: Zero unnecessary dependencies.
  • Simple API: Easy to integrate with just a few lines of code.
  • 🌐 Multi-Host: Supports various free file hosting services.
  • 🛡️ Reliable: Built-in error handling for seamless uploads.

📥 Installation

Install the package via npm:

npm install @zanixongroup/uploader

Or using yarn:

yarn add @zanixongroup/uploader

☁️ Supported Hosts

Here is a list of currently supported hosting services:

Provider File Type Expiry Best For
Pomf All Permanent General usage
Quax Image, Video, Audio Permanent Media hosting
Videy Video Permanent Video sharing
Catbox All Permanent General usage
Litterbox All 1h, 12h, 24h, 72h Temporary files
Ryzumi Image, Video, Audio 24 Hours Short-term media
Uguu All 3 Hours Fast temporary sharing
Cloudku All Permanent General usage
Picsur Image Unknown Simple images

🚀 Quick Start

1. Basic Usage (ES Modules)

import { Pomf } from "@zanixongroup/uploader";
import fs from "fs";

// Using Buffer
const buffer = fs.readFileSync("./my-image.jpg");

Pomf(buffer)
  .then((url) => console.log("Uploaded successfully:", url))
  .catch((err) => console.error("Upload failed:", err));

2. Using Specific Providers

Some providers such as Litterbox allow expiration time settings:

import { Litterbox } from "@zanixongroup/uploader";

const media = fs.readFileSync("./document.pdf");

// Optional: '1h', '12h', '24h', '72h'
Litterbox(media, "24h")
  .then(console.log)
  .catch(console.log);

3. CommonJS Usage

If your project still uses CommonJS:

const { Catbox } = require("@zanixongroup/uploader");

(async () => {
  try {
    const res = await Catbox(myBuffer);
    console.log("Result:", res);
  } catch (e) {
    console.error(e);
  }
})();

🛠 Contributing

We greatly appreciate your contributions! If you want to add a new provider or fix a bug, please follow these steps:

  1. Fork this repository.
  2. Create a new branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to that branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

See CONTRIBUTING.md for more details.


🐞 Issues

Found a bug or have a feature suggestion? Feel free to open an Issue. We'll try to respond as soon as possible.


Made with ❤️ by ZanixonGroup

Releases

No releases published

Packages

No packages published

Contributors 5