Skip to content
This repository was archived by the owner on Nov 25, 2024. It is now read-only.

Commit 937182f

Browse files
committed
update
1 parent b2faa62 commit 937182f

File tree

4 files changed

+81
-8
lines changed

4 files changed

+81
-8
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM fedora:latest
22

33
RUN dnf upgrade -y &&\
4-
dnf install -y curl
4+
dnf install -y curl cronie
55

66
COPY entrypoint.sh /
77

README.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,41 @@
1-
# blobsaver-docker
2-
Docker container for Blobsaver
1+
# blobsaver-docker </br>
2+
Docker container for [Blobsaver](https://github.com/airsquared/blobsaver)</br>
3+
The only purpose of this container is to automatically grab blobs in the background on systems that can't really natively run blobsaver. </br>
34

4-
# WIP
5+
## Setup </br>
6+
You will need to already have a functional blobsaver.xml. Currently, this contaienr does not have the ability to generate it automatically. There are ways to get this, mainly being to just see if your distro has a supported blobsaver package and generating it from that. Otherwise, if you already know the needed details for blob saving functionality with Blobsaver, you can just make the XML yourself.</br>
7+
8+
By default, it will check every 5 minutes. You can change this by building it yourself. </br>
9+
10+
Find a place to store your blobs. Something like `/home/(user)/Documents/Blobs/`. This will be needed later. </br>
11+
12+
### Docker container </br>
13+
```
14+
docker run -d --name (container name) -v (path to blob directory):/blobsaver/blobs/ -e VERSION=(version) (image name)
15+
```
16+
| Operator | Need | Details |
17+
|:-|:-|:-|
18+
| `-d` | Yes | will run the container in the background. |
19+
| `--name (container name)` | No | Sets the name of the container to the following word. You can change this to whatever you want. |
20+
| `-v (path to blob directory):/blobsaver/blobs/` | Yes | Sets the folder that holds your blobs and the xml. This should be the place you just chose. Make sure your `blobsaver.xml` is in this location. |
21+
| `-e VERSION=(version)` | Yes | Sets the version of Blobsaver that the container will download. Must be a supported version found on the Blobsaver. Use 3.5.0 at the minimum because that is when CLI functionality was added. |
22+
| `(image name)` | Yes | The name of the image you built. |
23+
24+
#### Example:
25+
```
26+
docker run -d --name blobsaver-docker -v /host/lemon/Documents/Blobs/:/blobsaver/blobs/ -e VERSION=3.5.0 blobsaver-docker-image
27+
```
28+
29+
### Xml </br>
30+
An example XML file is provided in the repo. Make sure to remove the comments after the lines. </br>
31+
```
32+
<node name="#######"> - The name that you want to put for the device.
33+
<map>
34+
<entry key="ECID" value="#############"/> - Your ECID. Can be found using 3rd party tools.
35+
<entry key="Save Path" value="/blobsaver/blobs/#######"/> - The directory for that specific devices blobs to be saved. Must be prefixed with /blobsaver/blobs/ for it to save onto the host.
36+
<entry key="Device Identifier" value="#########"/> - Your device identifer. https://ipsw.me/
37+
<entry key="Include Betas" value="true"/> - Set this to true to allow betas.
38+
<entry key="Apnonce" value="################################################################"/> - Your Apnonce. Can be found using 3rd party tools.
39+
<entry key="Generator" value="0x################"/> - Your generator. Can be found using 3rd party tools.
40+
<entry key="Save in background" value="true"/> - Set this to true so the blobs get saved automatically in the background.
41+
```

entrypoint.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
#!/usr/bin/env bash
22

3-
mkdir /blobsaver/
3+
mkdir -p /blobsaver/
44
cd /blobsaver/
5-
curl -L --output /blobsaver/blobsaver-${VERSION}-1.x86_64.rpm https://github.com/airsquared/blobsaver/releases/latest/download/blobsaver-${VERSION}-1.x86_64.rpm
6-
dnf install -y ./blobsaver-${VERSION}-1.x86_64.rpm
5+
if [ ! -e /opt/blobsaver/bin/blobsaver ]; then
6+
curl -L --output ./blobsaver-${VERSION}-1.x86_64.rpm https://github.com/airsquared/blobsaver/releases/latest/download/blobsaver-${VERSION}-1.x86_64.rpm
7+
dnf install -y ./blobsaver-${VERSION}-1.x86_64.rpm
8+
rm ./blobsaver-${VERSION}-1.x86_64.rpm
9+
fi
710

8-
bash
11+
export BLOBSAVER_CLI_ONLY
12+
(crontab -l 2>/dev/null; echo "*/5 * * * * /opt/blobsaver/bin/blobsaver --import=/blobsaver/blobs/blobsaver.xml --save-path=/blobsaver/blobs --include-betas --background-autosave") | crontab -
13+
crond -f
14+
echo "done"

example.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
3+
<preferences EXTERNAL_XML_VERSION="1.0">
4+
<root type="user">
5+
<map/>
6+
<node name="airsquared">
7+
<map/>
8+
<node name="blobsaver">
9+
<map/>
10+
<node name="app">
11+
<map/>
12+
<node name="Saved Devices">
13+
<map/>
14+
<node name="#######">
15+
<map>
16+
<entry key="ECID" value="#############"/>
17+
<entry key="Save Path" value="/blobsaver/blobs/#######"/>
18+
<entry key="Device Identifier" value="#########"/>
19+
<entry key="Include Betas" value="true"/>
20+
<entry key="Apnonce" value="################################################################"/>
21+
<entry key="Generator" value="0x################"/>
22+
<entry key="Save in background" value="true"/>
23+
</map>
24+
</node>
25+
</node>
26+
</node>
27+
</node>
28+
</node>
29+
</root>
30+
</preferences>

0 commit comments

Comments
 (0)