/omnisette-server

An HTTP server wrapper for omnisette. Supports both V1 (Provision) and V3 of anisette servers.

Primary LanguageRust

omnisette-server

An HTTP server wrapper for omnisette.

Supports both V1 (Provision) and V3 of anisette servers.

Alt

Setup

First, download the Apple Music APK in the root of the project directory and then extract it as a zip.

unzip applemusic.apk 'lib/*/libstoreservicescore.so' 'lib/*/libCoreADI.so'

Next, download the latest omnisette-server binary for your platform from GitHub Releases. Place it in the root project directory with the lib directory, so that omnisette can access the libraries at ./lib. (You can also run from source via cargo run)

Now, run the omnisette-server binary. You can use --help to get a list of options, but the defaults should be good for most setups (I recommend changing the worker argument; it is equal to the amount of people who can provision at the same time, so choose it based on how much traffic you expect). You might want to setup something to run omnisette-server in the background.

Compile

If you wish to build omnisette-server, run the following:

sudo apt update
sudo apt install --no-install-recommends -y git unzip curl perl make
curl https://sh.rustup.rs -sSf | sh # Choose option 1
source "$HOME/.cargo/env"
git clone https://github.com/SideStore/omnisette-server.git
cd omnisette-server
cargo build --release
curl https://apps.mzstatic.com/content/android-apple-music-apk/applemusic.apk -O
unzip applemusic.apk 'lib/*/libstoreservicescore.so' 'lib/*/libCoreADI.so'
rm applemusic.apk
./target/release/omnisette-server

Docker

Run:

docker run -d --restart always --name omnisette -p 6969:80 --volume omnisette_data:/opt/omnisette-server/lib ghcr.io/sidestore/omnisette-server:latest

Or if you want to build it locally, clone the repository and then run:

docker build . -t imagenameofyourchoosing
docker run -d --restart always --name omnisette -p 6969:80 --volume omnisette_data:/opt/omnisette-server/lib imagenameofyourchoosing

Ansible

If you want to quickly setup omnisette with ansible, just use the setup-omnisette-ansible.yaml playbook. Setup your inventory and choose your desired host in the playbook. Tweak your parameters/ansible.cfg for the remote_user you use. Requires root.

ansible-playbook -i inventory setup-omnisette-ansible.yaml -k