npm-increaser-downloads

A tool to promote your npm packages and boost their download counts through automated strategies.

MIT License

Downloads
35K
Stars
2

๐Ÿ“Š npm-increaser-downloads

A tool designed to simulate package downloads and increase the popularity score of npm packages, inspired by npm-downloads-increaser. This enhanced version allows developers to test and analyze the impact of download counts on package visibility and ranking within the npm ecosystem, with added support for packages not found in npms.io and several new features.

โœจ Features

  • Simulates package downloads from the npm registry
  • Supports packages not listed on npms.io
  • Configurable download count, concurrency, and timeout settings
  • Supports both CLI and programmatic usage
  • Real-time progress tracking and statistics
  • Handles scoped packages and various network conditions

โš ๏ธ Disclaimer

This tool is intended for educational and testing purposes only. Artificially inflating download counts may violate npm's terms of service. Use responsibly and at your own risk.

๐Ÿ–ฅ๏ธ Running from the command line

๐Ÿ“ฅ Installing

Install npm-increaser-downloads globally using npm:

npm install -g npm-increaser-downloads

or

npx npm-increaser-downloads

๐Ÿš€ Running

You can run npm-increaser-downloads in two ways:

  1. Interactive mode:
nid

This will prompt you for the necessary configuration options.

  1. Command-line arguments:
nid [options]

Available options:

  • -p, --package-name <name>: NPM package to increase the downloads of
  • -n, --num-downloads <number>: Number of times to download the package
  • -m, --max-concurrent-downloads <number>: Amount of downloads to run in parallel at once
  • -t, --download-timeout <number>: Max time (in ms) to wait for a download to complete
  • help: Display help information

Examples:

nid -p my-package -n 1000 -m 300 -t 3000
nid --package-name my-package --num-downloads 1000 --max-concurrent-downloads 300 --download-timeout 3000

For more information and all available options, run:

nid help

Once you specify your configuration, this will start spamming downloads for the provided package in the npmjs registry. This will increase the popularity score of the npm package.

NOTE: The npmJS Weekly Downloads are updated once every 24 hours, so results will not be instantly visible.

๐ŸŽฅ Demo

โš™๏ธ Configuration options

Property Description Example
packageName NPM package to increase the downloads of "npm-increaser-downloads"
numDownloads Number of times to download the package 1000
maxConcurrentDownloads Amount of downloads to run in parallel at once 300
downloadTimeout Max time (in ms) to wait for for a download to complete 3000

NOTE: slower networks may perform better with a lower maxConcurrentDownloads and a higher downloadTimeout

๐Ÿ› ๏ธ Running in TypeScript

๐Ÿ“ฅ Installing

Install the project using:

git clone https://github.com/MinhOmega/npm-increaser-downloads

๐Ÿ”ง Setting up your configuration

Open npm-increaser-downloads.config.ts from the root directory, and populate the configuration options as shown in the table above.

๐Ÿ’ป Running locally

Installing dependencies:

npm install

Running in development mode:

npm run dev

Running the CLI in development mode:

npm run dev:cli

Compiling to JavaScript:

npm run build

Running with Node:

npm start

Running tests:

npm test

Formatting code:

npm run format

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.