fix(singbox): AWG-джанк в тегах и MTProto-секрет
- i1–i5/j1–j3: классический hex конвертируется в теги <b 0x…>; userspace WireGuard extended/lx молча игнорирует голый hex, handshake не завершался (#39 #41 #42) - j1/j2/j3/itime эмитятся только для extended ≤2.6.0: в 2.6.1+ поля удалены из схемы, sing-box падает на unknown fields - j1–j3 больше не ломаются uci_bin_to_hex - h1–h4: диапазоны «min-max» на обеих ветках - MTProto: секрет канонизируется в ee-hex из любой формы (hex/base64), валидатор даёт понятную ошибку вместо FATAL decode psk (#23) - XHTTP v2: парсинг и экспорт ключей подписок - валидатор: warp/masque/openvpn/snell/mieru/sudoku — только extended - тесты: stat→ucode (busybox), раннеры исключены из E2E, новые server_mtproto.sh и awg_variant_schema.sh
This commit is contained in:
@@ -88,7 +88,8 @@ SAVED_FILE="$(sed -n 's/.*"file": "\([^"]*\)".*/\1/p' "$WORK_DIR/result.json")"
|
||||
fail "snapshot file name must be <name>-<stamp>.tar.gz: $SAVED_FILE"
|
||||
[ -f "$WORK_DIR/snapshots/$SAVED_FILE" ] ||
|
||||
fail "snapshot archive must exist on disk"
|
||||
[ "$(stat -c %a "$WORK_DIR/snapshots/$SAVED_FILE")" = "600" ] ||
|
||||
# busybox-based images may lack stat(1); ucode's fs module is always present.
|
||||
[ "$(ucode -e "let fs = require('fs'); printf('%o', fs.stat('$WORK_DIR/snapshots/$SAVED_FILE').mode & 511);")" = "600" ] ||
|
||||
fail "snapshot archive must be chmod 600"
|
||||
grep -Fxq 'config/tachyon' <(tar -tzf "$WORK_DIR/snapshots/$SAVED_FILE") ||
|
||||
fail "snapshot must contain config/tachyon member"
|
||||
@@ -136,7 +137,7 @@ grep -Fxq 'restart' "$WORK_DIR/bin.log" ||
|
||||
fail "snapshot-restore must restart the service through the backend entrypoint"
|
||||
grep -Fq "option dns '8.8.8.8'" "$WORK_DIR/config/tachyon" ||
|
||||
fail "snapshot-restore must replace the config with the snapshot content"
|
||||
[ "$(stat -c %a "$WORK_DIR/config/tachyon")" = "600" ] ||
|
||||
[ "$(ucode -e "let fs = require('fs'); printf('%o', fs.stat('$WORK_DIR/config/tachyon').mode & 511);")" = "600" ] ||
|
||||
fail "restored config must be chmod 600"
|
||||
[ "$(cat "$WORK_DIR/tachyon/data")" = 'snap-data' ] ||
|
||||
fail "snapshot-restore must restore the persistent data"
|
||||
|
||||
Reference in New Issue
Block a user