Giter Club home page Giter Club logo

altserver-docker's Introduction

Altserver-docker

A dockerized version of AltServer-Linux with Wi-Fi sync capability.

Run the server

prerequisites

The only dependency is docker, but it is important to note two things:

  • You might not be able to refresh apps if usbmuxd is running in the host system, the docker guest already includes it and binds to the usb interface. Make sure your host system is NOT running it.
  • You might need to be running the avahi-daemon in the host system.

docker compose (recommended)

To start up the application, run the docker-compose stack:

docker compose up -d --build

Using docker run

Just run run.sh, or manually in your terminal:

docker build . -t altserver-docker && \
docker stop altserver || true && \
docker rm altserver || true && \
sudo docker run -d \
  -v "./lib:/root/.config/Provision/lib" \
  -v "./logs:/altserver/logs" \
  -v "./bin:/altserver/bin" \
  -v "/dev/bus/usb:/dev/bus/usb" \
  -v "/var/lib/lockdown:/var/lib/lockdown" \
  -v "/var/run:/var/run" \
  -v "/sys/fs/cgroup:/sys/fs/cgroup:ro" \
  --name altserver \
  --network host \
  --privileged \
  altserver-docker 

Logs

Logs will be stored in the directory where the container is ran inside ./logs

Optional environment variables

Overriding architectures for libraries and binaries

It's possible to override which architecture of altserver, netmuxd, anisette-server and provision libraries (for anisette) are downloaded by setting the following environment variables in the docker compose file:

  environment:
    - OVERRIDE_ALTSERVER_ARCH=x86_64
    - OVERRIDE_NETMUXD_ARCH=x86_64
    - OVERRIDE_ANISETTE_ARCH=x86_64
    - OVERRIDE_PROVISION_LIBS_ARCH=x86_64

or alternatively adding them in the docker run command before the image name:

  -e OVERRIDE_ALTSERVER_ARCH=x86_64 \
  -e OVERRIDE_NETMUXD_ARCH=x86_64 \
  -e OVERRIDE_ANISETTE_ARCH=x86_64 \
  -e OVERRIDE_PROVISION_LIBS_ARCH=x86_64 \

You can check for which architectures are available by checking the releases of each project:

  • AltServer-Linux
  • netmuxd
  • Provision (this is the anisette-server)
  • The libraries are pulled from the apple music android apk, so the only available options are arm64-v8a, armeabi-v7a, x86, x86_64

Overriding whether provision libraries are decompressed from the repo or downloaded

It's possible to allow provision to download the libraries it needs from the apple music android apk by setting the following environment variable in the docker compose file:

  environment:
    - ALLOW_PROVISION_TO_DOWNLOAD_LIBS=true

or alternatively adding it in the docker run command before the image name:

  -e ALLOW_PROVISION_TO_DOWNLOAD_LIBS=true \

When this variable is present, the libraries will be downloaded by provision, if it's not present, the libraries will be decompressed from the repo.

Provision libraries

Provision automatically pulls the libraries it requires (libCoreADI.so and libstoreservicescore.so) from the apple music android apk, but this requires a 60+MB download it does automatically, so I decided to include these in the root of the repo already and have the docker-entrypoint.sh decompress them where Provision normally would. This is optional and can be overridden by setting the ALLOW_PROVISION_TO_DOWNLOAD_LIBS environment variable to true.

Updating lib.tar.xz

To update lib.tar.xz just run:

bash scripts/provision-deps-manual-download.sh

from the root of the repo.

Credits

I authored this repo but I did NOT author the projects it depends on. In particular:

And some other projects which inspired me to create this repo:

Contributing

Feel free to open an issue or a PR if you have any suggestions or improvements to this repo. I'm always open to feedback and contributions!

altserver-docker's People

Contributors

dreth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

altserver-docker's Issues

6 digit code doesnt arrive

I installed it on my rasppery pi, the container starts no problem, but when i refresh an app in altstore it wants to send me a 6 digit code, that never arrives.
When I connect the phone to the rpi I dont get the popup to trust the device. Do I have to install something on the host operating system too?

AltStore.ipa cannot be installed via USB

Hello, fyi I am Xueru from reddit.

I got some error code when I tried this command
./AltServer -u udid -a [email protected] -p password AltStore.ipa

Alert: Could not install AltStore.ipa to unknown.
    A device with number 'udid' already exists on this team. (35)
Press any key to continue...
Error: com.rileytestut.AltServer.Localized (35).
Finished!
# Received response status code: 200
Alert: Could not install AltStore.ipa to unknown.
    A device with number 'udid' already exists on this team. (35)
Press any key to continue...
Error: com.rileytestut.AltServer.Localized (35).
Finished!

the avahi service is running locally, usbmuxd is not running locally

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.