Skip to content

PeeblyWeeb/osu-pack-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

osu-pack-downloader

A tool for downloading all of the osu! beatmap packs automatically and easily.

Important

This tool sends a lot of requests to osu!'s API and could potentially result in your account being limited if used improperly. It is recommended that you use the default settings unless you know what you are doing.

Requirements

You'll need to install the latest version of Python and you'll also need to have Microsoft Powershell if you're on Windows.

When your "terminal" is referenced it's most likely referring to Powershell if you're on windows, otherwise your default terminal on linux.

How to use

Step 1: Clone this repository

You can clone this repository in multiple ways

Either by selecting the "Code" button in the top right of this page, and selecting "Download ZIP" alt text

Or by using the git CLI and running git clone https://github.com/peeblyweeb/osu-pack-downloader

Step 2 (Optional, Recommended): Create a virtual environment

(Open your terminal in the root directory of this repository)

Create a virtual environment using the command py -m venv .venv on Windows, python3 -m venv .venv on linux, or using a separate tool of your choice.

And then use the command .venv/scripts/activate on Windows to enter the environment, or source .venv/bin/activate on linux.

PS: if you encounter an error on Windows along the lines of "execution of scripts is disabled on this system", refer to this doc by microsoft on how to resolve this issue.

Step 3: Install Dependencies

on Windows use pip install -r requirements.txt, on linux please use python3 -m pip install -r requirements.txt

Step 4: Setting up an osu! Application

Go to https://osu.ppy.sh/home/account/edit and scroll to the bottom until you see "OAuth"

Select "New OAuth Application" and set the Application Name field to whatever you want, but make sure you set the Application Callback URLs field to http://localhost:6748 (If you change the PORT variable in the configuration section below, remember to update it here as well)

Select "Register application" and copy your Client ID and Client Secret

Step 5: Actually running the script

Go back to your terminal from before and if you closed it previously, remember to re-enter the virtual enviroment you had created, reference the above for instructions on how.

And then run the script as following:

On Windows: $env:CLIENT_ID="PUT YOUR CLIENT ID HERE"; $env:CLIENT_SECRET="PUT YOUR CLIENT SECRET HERE"; py main.py

On Linux: CLIENT_ID="PUT YOUR CLIENT ID HERE" CLIENT_SECRET="PUT YOUR CLIENT SECRET HERE" python3 main.py

After running the script a browser tab will open prompting you to authorize your own application to your account. Select "Authorize" and watch as the maps start automatically downloading.

Configuration

There are a few configurable settings, but they require editing the main.py file.

Upon opening the main.py file, you should see a few variables declared in all caps at the top. The important ones being:

  • MAX_CONCURRENT_DOWNLOADS - how many downloads should it initiate at once
  • TARGET_GAMEMODES - what gamemodes to download beatmap packs for
  • PORT - what port the oauth server should run on

About

Bulk download osu! beatmap packs for your gamemode of choice!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages