All apps · 0 apps
jitstreamer-eb
Docker app from UnJustice's Repository
Overview
Readme
View on GitHubJitStreamer EB
The sequel that nobody wanted, but everyone needed.
JitStreamer is a program to activate JIT across the far reaches of the internet.
I authored the original JitStreamer a few years ago, but Apple has since changed how the protocol for debugging apps works. This program is a rewrite of that original program, while using the new protocol.
Simply put, this program takes a pairing file and returns a Wireguard configuration. That Wireguard configuration allows the device to interact with a server that will activate JIT on the device.
EB
What is EB? Electric Boogaloo. r/outoftheloop
Building
cargo build --release
It's not that deep.
Running
- Start netmuxd
- Install the pip requirements
pip install -r requirements.txt
Start tunneld-rs or tunneld
Run the program
./target/release/jitstreamer-eb
OR
just run
- Start the Wireguard peer
sudo wg-quick up jitstreamer
- ???
- Profit
Variables
JitStreamer reads the following environment variables:
RUNNER_COUNT- How many Python runners to spawn, defaults to5ALLOW_REGISTRATION- Allows clients to register using the/registerendpoint, defaults to1. Set to 2 to register using client's address instead of generating wireguard addressJITSTREAMER_PORT- The port to bind to, defaults to9172WIREGUARD_CONFIG_NAME- The name of the Wireguard interface, defaults tojitstreamerWIREGUARD_PORT- The port that Wireguard listens on, defaults to51869WIREGUARD_SERVER_ADDRESS- The address the server binds to, defaults tofd00::WIREGUARD_ENDPOINT- The endpoint that client configs point to, defaults tojitstreamer.jkcoxson.comWIREGUARD_SERVER_ALLOWED_IPS- The allowed IPs the server can bind to, defaults tofd00::/64
Custom VPN
If you don't want to use the built-in Wireguard manager, because you either have your own VPN or want to use a different one, you'll have to manually register your clients.
Run the following SQL on the jitstreamer.db sqlite file:
INSERT INTO DEVICES (udid, ip, last_used) VALUES ([udid], [ip], CURRENT_TIMESTAMP);
Docker
There's a nice dockerfile that contains a Wireguard server and JitStreamer server, all packaged and ready to go. It contains everything you need to run the server.
- create a database
mkdir app
sqlite3 ./jitstreamer.db < ./src/sql/up.sql
- build docker
sudo docker build -t jitstreamer-eb .
- run docker compose
sudo docker compose up -d
Alternative method:
just docker-build
just docker-run
Detailed Step by Step Docker Compose Guide
There is also a script that uses combines the commands from the Step by Step Docker Compose Guide, the steps to use it follow. IMPORTANT: THIS WILL ONLY WORK ON UBUNTU/DEBIAN!!!
- clone the repo onto your home directory
sudo apt install git-all
git clone
- go into the directory and run the script
cd JitStreamer-EB/
bash jitstreamer.sh
follow the instructions provided by the script
- use a pairing file you created on another pc (preferred), or create one through following this guide (currently not working in script :( *todo) (https://github.com/osy/Jitterbug)
- then you need to find the IP of your iPhone, you can see this through settings - wifi - i icon - ip address
if this docker container stops, you can start it up again in your home directory through
cd /JitStreamer-EB
sudo docker compose up -d
Additional methods of installation
License
[LICENSE.md]
Contributing
Please do. Pull requests will be accepted after passing cargo clippy.
Thanks
- ny for the Python implementation
- pymobiledevice3
Install jitstreamer-eb on Unraid in a few clicks.
Find jitstreamer-eb in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
jkcoxson/jitstreamer-eb:latestRuntime arguments
- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--cap-add=NET_ADMIN --cpus="1" --memory=500m
Template configuration
This is where you must create your sqlite database containing information for your iDevices. Follow the instructions linked in the description.
- Target
- /app/jitstreamer.db
- Value
- /mnt/user/appdata/jitstreamer-eb/app/jitstreamer.db
A wireguard .conf file will be created here. This can be ignored for a basic setup. More info in the future.
- Target
- /etc/wireguard
- Value
- /mnt/user/appdata/jitstreamer-eb/etc/wireguard
This is where you must place your pairing files (.plist) for your iDevices. Follow the instructions linked in the description.
- Target
- /var/lib/lockdown
- Value
- /mnt/user/appdata/jitstreamer-eb/var/lib/lockdown
Log level. Info gives enough info if you're not having issues. Set to full if you want way too much stuff.
- Target
- RUST_BACKTRACE
- Value
- info
This port is used during JIT acquisition. You should be able to change the HOST port if you need to. Don't change the container port.
- Target
- 9172
- Default
- 9172
- Value
- 9172
Another port used during JIT acquisition. I was unsuccessful getting it to work when host and container ports were the same. That's why they are different. You change the HOST port if you need to. Do not change the container port.
- Target
- 51869
- Default
- 51869
- Value
- 51870
Require in order to run.
- Target
- /dev/net/tun:/dev/net/tun
- Value
- /dev/net/tun:/dev/net/tun
- Target
- RUNNER_COUNT
- Value
- 1