Azur Lane asset downloader and extractor
Project description
Azur Lane Asset Downloader and Extractor
This tool automatically downloads the newest assets directly from the game's CDN servers and allows extraction of Texture2D files as PNG images.
Upgrade Notice
From 2.x / no version number to 3.x+
When upgrading from versions 2.x or with no version number, the project has to be newly set up. To retain all current data the following folders can be copied to the new folder of the project:
config: Only user_config.yml is required, the rest can be deleted.ClientAssetsor directory set inasset-directoryof the config: Contains all currently downloaded assets, version information und update logs used for extraction. Highly recommend to transfer to the new project folder.
Setup
Before installation, Python 3.11 or newer needs to be available on the system. It is recommended to set the project up using venv or a similar virtual environment manager. The project can be installed using pip:
pip install azlassets
To create the config file to be able to edit it before first time usage, execute azl in a terminal.
Settings
The config/user_config.yml file provides a few settings to filter which files will be downloaded and extracted. The options download-folder-listtype and extract-folder-listtype can be set to either "blacklist" or "whitelist". Depending on this it will filter by the top-level folder names (subfolders are not supported) or top-level filenames (files inside top-level folders or lower cannot be filtered) set in download-folder-list and extract-folder-list. This allows to cut down the download and extraction times by skipping unneeded assets.
Usage
The program can be executed using azl <command> with different commands available depending on the desired functionality, which will be explained in the following sections.
Importer
Using this is not necessary to get all files, but recommended as the asset server may not have all files available. An import will guarantee that all game assets will be available on your system (if so desired) and avoid potentially spamming the asset server with errors of missing files on the first download.
The import supports all game clients (EN, JP, CN, KR, TW) and multiple forms of importing the assets. The recommended and easiest way is by downloading the .xapk from one of many Google Play Store app distributors (like APKMirror or APKPure). They can be found by searching for the package name, which are as follows:
- EN: com.YoStarEN.AzurLane
- JP: com.YoStarJP.AzurLane
- KR: kr.txwy.and.blhx
- TW: com.hkmanjuu.azurlane.gp
Alternatively, if the game is already installed, for example on emulators, you can copy the obb file onto your system and use it instead of the xapk. On Android it can be found in the folder /storage/emulated/0/Android/obb/[PACKAGE_NAME]/.
Since the CN client is not distributed through the Google Play Store, there is no xapk/obb file for it, but there is an android download link on the website which will download an apk file (not xapk like the others). Alternatively, the APK is installed in the folder /data/app/com.bilibili.azurlane-1/ on android (Note: Root access is required to access this folder).
The import command can be executed by passing it the filepath to the xapk/apk/obb:
azl import [FILEPATH]
Should the program not automatically detect which client these files belong to, an additional client argument can be added:
azl import [FILEPATH] -c {CLIENT}
Downloader
All assets normally distributed via the in-app downloader can be downloaded by simply executing:
azl download [CLIENT]
where CLIENT has to be either EN, CN, JP, KR or TW. You can check which files have been downloaded or deleted using the difflog files in ClientAssets/[CLIENT]/difflog.
There are some additional arguments available:
--force-refresh: Ignores the version check to run the downloader when on the newest version, useful after editing the config file--repair: Checks all files on disk and only downloads missing ones, useful for resuming the download if it crashed--check-integrity: Checks for modified, deleted or corrupt files and redownloads them--skip-unknown-version-error: Ignores the error when a new version type gets added to the game
Extractor
The asset extraction supports extraction of all newly downloaded files or single asset bundles. The newly downloaded assets can be extracted by executing:
azl extract [CLIENT]
where CLIENT is again one of EN, CN, JP, KR or TW. The extracted images will then be saved in ClientExtract/[CLIENT]/ Since only Texture2D assets are exported, it's not desired to try to export from all assetbundles (See settings section).
A single assetbundle can be extracted by passing the filepath to the script:
azl extractor -f [FILEPATH]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file azlassets-4.0.0.tar.gz.
File metadata
- Download URL: azlassets-4.0.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24993807a0b84685ee43100b41ce2fa7e9447483b467e7057aa0bcf32e4a8c1b
|
|
| MD5 |
94aeee7200aca3250b80582dacf1faea
|
|
| BLAKE2b-256 |
c4a2cec277f74f77076e8fd1952c01e237b83771dd1d3ec162b63b1e437d40ac
|
Provenance
The following attestation bundles were made for azlassets-4.0.0.tar.gz:
Publisher:
publish.yml on nobbyfix/AzurLane-AssetDownloader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
azlassets-4.0.0.tar.gz -
Subject digest:
24993807a0b84685ee43100b41ce2fa7e9447483b467e7057aa0bcf32e4a8c1b - Sigstore transparency entry: 1429697188
- Sigstore integration time:
-
Permalink:
nobbyfix/AzurLane-AssetDownloader@e1440566c8bf0bc25789fb594e555392ec98c75b -
Branch / Tag:
refs/tags/v4.0.0 - Owner: https://github.com/nobbyfix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e1440566c8bf0bc25789fb594e555392ec98c75b -
Trigger Event:
release
-
Statement type:
File details
Details for the file azlassets-4.0.0-py3-none-any.whl.
File metadata
- Download URL: azlassets-4.0.0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04e7e2588efd33b8f6461dcba1eadd9c5d95dc2e30e027f0e96c38231712631b
|
|
| MD5 |
0774339719ffb70cbfa907a38f8f7d34
|
|
| BLAKE2b-256 |
f3d9597e3e7272eb942cf00682d00bcca483206aefe66d018d7f63c090342196
|
Provenance
The following attestation bundles were made for azlassets-4.0.0-py3-none-any.whl:
Publisher:
publish.yml on nobbyfix/AzurLane-AssetDownloader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
azlassets-4.0.0-py3-none-any.whl -
Subject digest:
04e7e2588efd33b8f6461dcba1eadd9c5d95dc2e30e027f0e96c38231712631b - Sigstore transparency entry: 1429697197
- Sigstore integration time:
-
Permalink:
nobbyfix/AzurLane-AssetDownloader@e1440566c8bf0bc25789fb594e555392ec98c75b -
Branch / Tag:
refs/tags/v4.0.0 - Owner: https://github.com/nobbyfix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e1440566c8bf0bc25789fb594e555392ec98c75b -
Trigger Event:
release
-
Statement type: