Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

map whole config directory #29

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

map whole config directory #29

wants to merge 1 commit into from

Conversation

alfs
Copy link

@alfs alfs commented Jan 3, 2025

The example docker run command maps the local volume to the lib subdirectory, causing the machine configuration files to not be backed up on the host. I suggest removing lib/.

Note that when mapping the configuration files, the directory and file permissions must match uid/gid 1000 on the host for the container to be able to write the files. docker logs anisette-v3 will indicate such problems if the container doesn't start.

The example docker run command maps the local volume to the lib subdirectory, causing the machine configuration files to not be backed up on the host. I suggest removing lib/.

Note that when mapping the configuration files, the directory and file permissions must match uid/gid 1000 on the host for the container to be able to write the files. docker logs anisette-v3 will indicate such problems if the container doesn't start.
@deadprogram
Copy link

This info was very helpful. Until I removed the lib subdirectory from the docker command, the container was restarting over and over, so at first glance I could not tell that it was not starting correctly.

In short, the command that worked for me was:

docker run -d --restart always --name anisette-v3 -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3 dadoum/anisette-v3-server

@Dadoum
Copy link
Owner

Dadoum commented Jan 11, 2025

The config is not being included by default because it's storing the device identifier for simple anisette requests (anisette-v1 in SideStore terms), and when it is used publicly (as it is done by a lot of people), it will lock accounts that used it/not work at some point. With the default config, that issue can be fixed by simply restarting the server. So I think it's a better default. "anisette-v3" clients can keep the data locally on their device, which is the better fix.

@deadprogram
Copy link

deadprogram commented Jan 12, 2025

With the default config, that issue can be fixed by simply restarting the server.

At least in my case, it appeared that the server never came up in the first place.

Or so it seemed, not until I changed to the shorter path. But maybe I just needed to restart with the original settings?

@HouzuoGuo
Copy link

I recently experimented with macless-haystack in my data exfiltration PoC (https://github.com/HouzuoGuo/hzgl-air-bridge), macless-haystack uses the icloud find-my location retrieval API (which I failed to pinpoint in anisette).

To survive a system restart, I too had to persist this entire tree of files:

.
└── _data
    ├── adi.pb
    ├── device.json
    └── lib
        ├── libCoreADI.so
        └── libstoreservicescore.so

If the adi.pb and device.json were not persisted, macless-haystack would require me to login to the Apple ID again after a system reboot.

Though what Dadoum you said were true - the apple ID was locked after anisette was kept running on its non-existent macbook device for about 2 weeks.

Apple support eventually helped unlock the account though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants