antiflock
Bootstrap and run AntiFl0ck — open-source
counter-surveillance for the networks you control — with one command. No manual
git clone, no hand-editing compose files.
Pre-alpha: this installs and runs the local, fully-simulated demo stack (Core, policy engine, signed audit log, Third-Eye dashboard). Host-level enforcement is still under active development — see the release status.
Requirements
- Docker
- git
- Node.js 20+ (the underlying stack's own build/dev tooling)
- Python 3.9+
Quick start
pipx install antiflock # or: pip install antiflock
antiflock init
antiflock dev
init clones the repo into ./antiflock (skipped if you're already inside a
checkout) and generates a private, locally-scoped config at
.antiflock/dev.env — operator/SDK/agent/dashboard tokens, never committed.
dev builds and starts the full stack. Once it's up, open
http://127.0.0.1:4173 — username operator, token from that config file.
Run the scripted coffee-shop simulation against a running stack:
antiflock lab
Stop everything:
antiflock down
Commands
| Command | Does |
|---|---|
antiflock init |
Clone (if needed) and generate local config |
antiflock dev |
Build and start the full local stack |
antiflock lab |
Run the one-shot coffee-shop simulation |
antiflock build |
Build images without starting them |
antiflock down |
Stop the local stack |
antiflock clean |
Stop and remove local stack volumes |
Flags: --dir <path> (checkout location, default ./antiflock), --ref <git-ref>
(branch or tag to clone, default main).
Feature configuration
.antiflock/dev.env— generated secrets and node/application identifiers (permissions locked down automatically; regenerate by deleting the file and re-runninginit).configs/demo.yamlanddocker-compose.ymlin the checkout — service ports, demo-mode flags, and thelabprofile.- Full walkthrough: docs/operator-runbook.md.
Already have a checkout?
Run any command from inside it and the CLI uses that directory directly instead
of cloning a new one — it's just a thin wrapper around
node scripts/compose.mjs.
Also on npm: npx antiflock (package) — same CLI, same commands.
License
Apache-2.0, see LICENSE. AntiFl0ck is an independent open-source project; see TRADEMARKS.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file antiflock-0.1.1.tar.gz.
File metadata
- Download URL: antiflock-0.1.1.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e9bd4e7ac69fd400a3c8bee9f08acf7a12d0300fb780626228e14b55c760ec8
|
|
| MD5 |
793c0e9ab4c8f35baafbfab5696c4a82
|
|
| BLAKE2b-256 |
74d879306a88bcfa64e325be6231710d166e56be6fbda3c18d040ffffca6d24b
|
Provenance
The following attestation bundles were made for antiflock-0.1.1.tar.gz:
Publisher:
publish-pypi.yml on AetherAI3/AntiFlock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antiflock-0.1.1.tar.gz -
Subject digest:
9e9bd4e7ac69fd400a3c8bee9f08acf7a12d0300fb780626228e14b55c760ec8 - Sigstore transparency entry: 2700657417
- Sigstore integration time:
-
Permalink:
AetherAI3/AntiFlock@f94d6f907a38ced03000a6e0fd67d3ac50506cea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AetherAI3
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f94d6f907a38ced03000a6e0fd67d3ac50506cea -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file antiflock-0.1.1-py3-none-any.whl.
File metadata
- Download URL: antiflock-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a34208a30832335d28e1b13e07a487ee5b7b02647d9817e298c92c3f57640f73
|
|
| MD5 |
fc5fadff6c65c19e4dd5cb79129c29b3
|
|
| BLAKE2b-256 |
7b9cb7964fc14b80e87d1826d9c1d07cf2f1de3088aaea9c854b78ad8579254a
|
Provenance
The following attestation bundles were made for antiflock-0.1.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on AetherAI3/AntiFlock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antiflock-0.1.1-py3-none-any.whl -
Subject digest:
a34208a30832335d28e1b13e07a487ee5b7b02647d9817e298c92c3f57640f73 - Sigstore transparency entry: 2700657568
- Sigstore integration time:
-
Permalink:
AetherAI3/AntiFlock@f94d6f907a38ced03000a6e0fd67d3ac50506cea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AetherAI3
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f94d6f907a38ced03000a6e0fd67d3ac50506cea -
Trigger Event:
workflow_dispatch
-
Statement type: