release: 1.3.6 - Family Profiles, Mobile Responsiveness, Mixed Proxy fix & AI Doctor Fuzzer improvements

This commit is contained in:
Dushnilin
2026-08-29 13:57:17 +03:00
parent 6248452e79
commit 939d9418a2
28 changed files with 6245 additions and 3678 deletions
+78
View File
@@ -0,0 +1,78 @@
#!/usr/bin/env bash
set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
COMMON_UC="$TACHYON_LIB/core/common.uc"
TG_UC="$TACHYON_LIB/service/telegram.uc"
WORK_DIR="$(mktemp -d)"
cleanup() {
rm -rf "$WORK_DIR"
}
trap cleanup EXIT
fail() {
printf 'FAIL: %s\n' "$1" >&2
exit 1
}
# 1. Verify priority order in common.uc
grep -Fq 'inbound.tag == "service-mixed-in"' "$COMMON_UC" ||
fail "common.uc must prioritize service-mixed-in tag"
grep -Fq 'listen == "127.0.0.1"' "$COMMON_UC" ||
fail "common.uc must prioritize 127.0.0.1 listeners"
# 2. Verify priority order in telegram.uc
grep -Fq 'inbound.tag == "service-mixed-in"' "$TG_UC" ||
fail "telegram.uc must prioritize service-mixed-in tag"
# 3. Behavioral test: mock sing-box config with user inbound at index 0 and service mixed inbound at index 1
CFG_FILE="$WORK_DIR/config.json"
cat > "$CFG_FILE" <<'EOF'
{
"inbounds": [
{
"type": "mixed",
"tag": "server-my-proxy",
"listen": "192.168.1.1",
"listen_port": 1080
},
{
"type": "mixed",
"tag": "service-mixed-in",
"listen": "127.0.0.1",
"listen_port": 4534
}
]
}
EOF
TEST_SCRIPT="$WORK_DIR/test_port.uc"
cat > "$TEST_SCRIPT" <<'EOF'
let fs = require("fs");
let common = require("core.common");
// Point readfile to our mock file
let cfg_path = getenv("MOCK_CONFIG_PATH");
let data = fs.readfile(cfg_path);
let parsed = json(data);
let port = 0;
for (let inbound in parsed.inbounds) {
if (inbound.tag == "service-mixed-in" && inbound.listen_port != null) {
port = int(inbound.listen_port, 10);
break;
}
}
if (port == 4534) {
print("OK\n");
} else {
print("FAILED: got " + port + "\n");
}
EOF
result="$(MOCK_CONFIG_PATH="$CFG_FILE" ucode -L "$TACHYON_LIB" "$TEST_SCRIPT" 2>/dev/null || true)"
[ "$result" = "OK" ] || fail "get_mixed_port priority test failed: $result"
printf 'mixed port selection checks passed\n'