Open Shop Channel Downloader
|Open Shop Channel Downloader|
Open Shop Channel Downloader, or OSC-DL, is a desktop program and command line program that is made to allow easy access to the Open Shop Channel application repository. The tool can download and extract homebrew application present on a given repository.
- 1 Using the GUI
- 2 Using the CLI
- 3 Credits
- 4 Update History
- 4.1 v126.96.36.199 (Efficient & Informative)- June 17, 2021
- 4.2 v1.2.11 - June 22, 2021
- 4.3 v1.2.10 (Search & Categories) - November 19, 2020
- 4.4 v1.2.9 (Integration & Quality) - October 10, 2020
- 4.5 v1.2.8 (Aesthetically Pleasing) - September 15, 2020
- 4.6 v1.2.7 (Debug & WiiLoad) - July 28, 2020
- 4.7 v1.2.6 (Export & GUI Enhancements) - June 19, 2020
- 4.8 Pre-Release v1.2.5 (Color Scheme & GUI) - June 5, 2020
- 4.9 Pre-Release v1.2.3 (Hosts & Secondary Repositories) - May 28th, 2020
- 4.10 v1.2.0 (Quality Improvements) - May 28th, 2020
- 4.11 v1.1.0 (Get & Extract) - April 27th, 2020
- 4.12 v1.0 (Initial release)- April 27th, 2020
Using the GUI
After downloading the GUI build for your operating system (or running the file xosc_dl.py in python3), the program will list the full list of homebrew applications currently on the Open Shop Channel repository.
On the right side of the program, the metadata and information for the currently selected app is displayed, including the long description and the download button.
The following metadata is displayed:
- App Name: Display Name of the app, as specified in it's meta.xml file.
- Short Description: Short description, either grabbed from the app's meta.xml file or overwritten by the metadata.json on the server.
- Long Description: Long description, either grabbed from the app's meta.xml file or overwritten by the metadata.json on the server.
- Version: Version of the app, as specified in it's meta.xml file.
- Developer: Author of the app, as specified in it's meta.xml file.
- Contributors: Contributors listed in it's meta.xml file.
- Release Date: Release date of the app, as specified in it's meta.xml file.
The output file name can be edited, or have osc-dl extract it right after download.
To start downloading an app, press the Download button. The program may freeze for a few moments when it is grabbing an app.
Using the CLI
Downloading Homebrew (get command)
Homebrew can be downloaded from the Open Shop Channel by using osc-dl get
Example usage: osc-dl get -n wiixplorer
The following arguments can be used
- -n / --name Required. Name of homebrew app to download
- -c / --noconfirm Disable download confirmation message after application metadata displays.
- -o / --output Output file name.
Homebrew Metadata (meta command)
Visual metadata or metadata items about homebrew applications can be obtained in the Open Shop Channel by using osc-dl meta
Example usage: osc-dl meta -n wiixplorer
Another example usage: osc-dl meta -n wiixplorer -t version
The following arguments can be used
- -n / --name Required. Name of homebrew app to obtain metadata for.
- -t / --type Type of metadata to obtain (display_name, developer, version, short_description, long_description, release_date, contributors)
- -o / --output Output file name.
List Homebrew (list command)
The list of names of all homebrew on the Open Shop Channel repository can be viewed by using osc-dl list
Example usage: osc-dl list
Currently, there are no arguments, although a way to filter the results or save to a file is planned.
Querying Homebrew (query command)
Homebrew available on the Open Shop Channel can be searched by using osc-dl query
Example usage: osc-dl query -n wiixplorer
This command is unfinished, and can currently only check for exact matches.
The following arguments can be used
- -n / --name Required. Name of homebrew app to query.
- -v / --verify Caused query to return "True" if the app is present and "False" if it isn't.
Download Everything (get-all command)
This command was intended for debugging, and we don't recommend using it, as it might have an unexpected behaviour.
Example usage: osc-dl get-all
This command is not maintained nor supported, and although specified in help, setting output directory is not possible at the time.
OSC-DL was written by dhtdht020, along with all GitHub contributors who helped make it what it is.
v188.8.131.52 (Efficient & Informative)- June 17, 2021
Additions + Enhancements:
- The progress bar now indicates the download progress.
- A link to view the developer on oscwii.org was added when viewing developer profiles.
- Application list is now much more verbose, viewing further metadata about applications at a glance.
- Icons are now displayed on the category selection.
- OSCDL no longer downloads broken zip files if the server returns an error during app download.
- OSCDL no longer freezes during app downloads.
- OSCDL no longer freezes while switching between categories.
- OSCDL no longer freezes while displaying developer profiles.
- Renamed "controllers" to "peripherals".
- OSCDL will now launch even without an internet connection.
- HOTFIX 184.108.40.206: Fixed sending apps to Wii when using the installer version.
CLI rewrite: This release is the first to include the rewritten CLI mode. This rewrite of CLI mode is incompatible with older versions, and behaves differently. It is currently a beta and includes a partial feature set. Documentation on this version can be found here. CLI release is available here (Build #320): https://github.com/dhtdht020/osc-dl/actions/runs/947443472
v1.2.11 - June 22, 2021
This version has been succeeded by https://github.com/dhtdht020/osc-dl/releases/tag/220.127.116.11
v1.2.10 (Search & Categories) - November 19, 2020
- Added a search bar, to easily filter through all apps by their name.
- Added the option to filter apps by category.
- You can now filter apps by their developer, by pressing the arrow next to the developer name under metadata.
API Integration: This release is the first one to exclusively use the new Open Shop Channel API and ditch the legacy scraping method. This causes a big noticeable difference in terms of performance. However, since the API returns less detailed and unformatted descriptions, pressing the "Description" metadata tab would load it through the legacy scraping method.
- Apps in the app list now have their category name next to them.
- Clarified the process of sending to wii.
- It is now possible to use hostnames as well as IPv6 addresses when sending to Wii.
- The refresh button has been removed and replaced with the category dropdown. Use F5 key instead.
v1.2.9 (Integration & Quality) - October 10, 2020
- Supported controllers are now shown on the new Controllers tab.
- The window can now be resized!
- Splash now shows loading status.
- Save file dialog now shows up when downloading homebrew apps.
API Integration: Recently, we released a public API. This is the first release of OSC-DL to make use of it, with the following changes:
- The display name for apps is now displayed on the application list, instead of their internal name.
- The category name, supported controllers, and the file size are both grabbed from the API- not from the meta XML.
- The release dates are now obtained from the API.
- App icons are now aligned to the left
- The progress bar now gets updated while transmitting apps to the Wii.
- Icons now only load after the metadata is loaded, to reduce loading times.
- Repository list can now be updated from a remote server, so OSC-DL can make use of repositories added after the latest release.
- You can now press F5 to refresh the application list.
- The contributors field is no longer displayed, replaced with file size.
- Fake Listing debug option: broken.
- CLI Feature: metadata types.
- Fixed a bug involving locale setting under Linux.
- Fixed date parsing.
v1.2.8 (Aesthetically Pleasing) - September 15, 2020
- The raw date is now parsed and properly formatted as DD/MM/YYYY
- Added list of clients
- Added a button to check for updates under Clients -> Open Shop Channel DL
- Icons for homebrew apps are now displayed! They might slow down the program though :(
- Added a brand new announcement banner system!
- A splash image now shows up while the program is loading, so it doesn't appear frozen!
- CLI now also gets the ability to transmit apps to Wiis through the network.
- GUI now returns to main tab when a new app is selected.
- OSC-DL GUI also has an icon now.
- Added icons to that empty padding!
- Misc improvements to code quality.
- Updater no longer returns "up to date" when out of date.
- The program now handles cases in which the server cannot be contacted.
- Icons now load for apps in secondary repositories.
v1.2.7 (Debug & WiiLoad) - July 28, 2020
This is a GUI focused release. (Thanks @DismissedGuy!)
- New icon!
- Added WiiLoad button
- Added debug tab
- Added the ability to create a log file, allowing for easier debugging of GUI.
- You can now directly transmit apps to your wii with WiiLoad!
- Several small enhancements.
v1.2.6 (Export & GUI Enhancements) - June 19, 2020
This is a GUI focused release.
- Added status bar
- Moved progress bar to status bar
- Added status tip, to be displayed whenever an action is being performed or completed
- Added raw tab to metadata
- GUI now supports secondary repositories!
- You can now export the full list of a repository using the "export" command.
- Many small enhancements were done to the rest of the code to enable the GUI to use some of the new features it includes. Some functions may now return different output.
- OSC-DL no longer crashes whenever the SSL certificate is broken.
Pre-Release v1.2.5 (Color Scheme & GUI) - June 5, 2020
- Some output is now colored!
- Terminal spinner now displays when the program is busy.
- Added --host (-r) argument to "list" command
- Added --raw to "list" command: Prints list without the terminal spinner.
- Added option to get dictionary for metadata.
- Added a GUI! Get osc-dl_gui.exe below for the GUI version!
- Running OSC-DL with no arguments now displays a nice ASCII art.
- Separated metadata from download script.
- Metadata types no longer return None
Pre-Release v1.2.3 (Hosts & Secondary Repositories) - May 28th, 2020
- (Initial Implementation) Added a command to view the raw Secondary Repository List on the server.
- Added --host (-r) argument to query, get, get-all, get-list, and meta commands. This can be used to obtain data from a server that isn't hbb1.oscwii.org.
v1.2.0 (Quality Improvements) - May 28th, 2020
- Query command now exits with different exit codes depending on state.
- metadata.json is no longer stored as a file.
- No longer imports os.
- Added an option to query, `--verify or -v``. If used, it returns "True" or "False". Used by RC24 Patcher.
osc-dl get-list -f <file>, which allows you to download all apps written in a text file.
For example, specifying the file:
will download WiiXplorer and WiiVNC. It can also be used with the flag -d or --display in order to print this contents of the text file without downloading the apps.
v1.1.0 (Get & Extract) - April 27th, 2020
Added an extract argument to
Extracts downloaded homebrew to the ExtractedApps directory when used.
osc-dl get -n wiixplorer -e
osc-dl get -n wiixplorer -e -c
osc-dl get --name wiixplorer --extract --noconfirm
osc-dl get-all -e
v1.0 (Initial release)- April 27th, 2020
The following features are implemented:
- Listing all apps on the remote repository.
- Obtaining and parsing metadata.
- Downloading individual apps or the entire repository.
This build does not have a GUI release!