• lite-v4.5.1 85284ab627

    VIA_GIT_ACTIONS released this 2026-10-08 14:55:01 +03:00 | -8 commits to main since this release

    Any Tech ARCHITECT Lite v4.5.1

    Warning

    Облегчённая сборка обновляется редко. Для актуальной версии используйте полный сайт architect.vai-rice.space или основной релиз.

    The lite build is updated rarely. For the current version use the full site or the main release.

    One HTML file, 169 KB, no network needed: open any-tech-architect-lite-v4.5.1.html in any browser.

    • AmneziaWG 1.0-3.1 generator with every mimicry profile and client of v4.5.1
    • A check for pasted .conf files
    • No XRay, simulator, MergeKeys or FAQ: those live on the full site

    Commit: 85284ab6277587784e6fd9f50a39a31e144ee6c8

    Checksums

    4ef13a77c40ab5ae98d47fd87ab43b9e3342e55a62211f823ad6e7b8830327f0  any-tech-architect-lite-v4.5.1.html
    c26b8d3aa9f0df539c75f7167f5ec557a3b8783a02e43a51736898a186976a0c  any-tech-architect-lite-v4.5.1.zip
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.5.1 0b9d3b7aa6

    VIA_GIT_ACTIONS released this 2026-10-08 14:50:35 +03:00 | 0 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    v4.5.1: The box you tick in the app

    A patch: where Amnezia VPN's HeaderProtectionKey is really switched on, and two lengths that did not add up.

    HeaderProtectionKey in Amnezia VPN

    The config for Amnezia VPN promised the key was "picked up on config import". The app's sources say otherwise:

    • the key is generated by the HeaderProtectionKey box in the server's protocol settings, and the app writes it into the server config and into the client configs it hands out;
    • on the client side the same box only shows the state, so a config imported without a key cannot have protection switched on.

    The key is still not written to the file. The hint by the switch, the .conf comment, the client note and the FAQ answer now say where to tick the box. On 3.1 this matters: without it, disabled H1-H4 would go out in the clear. For a server not set up through the app, pick the AmneziaWG client, which writes the key into the file.

    DTLS 1.3: extensions length

    The ClientHello declared 9 bytes of extensions over the 7 that followed, so a strict parser read two bytes past the end of the block. The length is now written by the shared DTLS framing, and the tag and padding bytes go into a GREASE extension (RFC 8701) that receivers ignore. The ClientHello parses to its last byte.

    DNS: tags inside the OPT record

    <t> and <c> were appended after the Padding option, outside its declared length, and with <r> off they followed the question with ARCOUNT 0. The option data now carries the padding together with the tags.

    Both length bugs were found by the awg-containers-and-tools port of the generator.

    Tests: 1303/1303 (12 new; 10 of them fail on 4.5.0), vue-tsc clean.


    Version 4.5.1
    Channel Release
    Built at 2026-10-08T11:51:25Z
    Dist size 13M (127 files)
    Commit 0b9d3b7

    Changes since v4.5.0

    🐛 Bug Fixes

    • fix(awg): say where Amnezia VPN's HeaderProtectionKey is switched on (de7cc78)
    • fix(awg): DTLS 1.3 extensions length and DNS tags inside the OPT record (7cf85e2)

    🔧 Maintenance

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    e99aad065f23db7f8aacc8fca94b8d241d0889f862c39ae8889c308c4a01a34e  any-tech-architect-v4.5.1.zip
    d170872553b7779b5659adbff945f9204955ed8120546f18222a90612ceba4e4  any-tech-architect-v4.5.1.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • lite-v4.5.0 5e7d5c53f4

    VIA_GIT_ACTIONS released this 2026-10-08 11:45:56 +03:00 | -4 commits to main since this release

    Any Tech ARCHITECT Lite v4.5.0

    Warning

    Облегчённая сборка обновляется редко. Для актуальной версии используйте полный сайт architect.vai-rice.space или основной релиз.

    The lite build is updated rarely. For the current version use the full site or the main release.

    One HTML file, 168 KB, no network needed: open any-tech-architect-lite-v4.5.0.html in any browser.

    • AmneziaWG 1.0-3.1 generator with every mimicry profile and client of v4.5.0
    • A check for pasted .conf files
    • No XRay, simulator, MergeKeys or FAQ: those live on the full site

    Commit: 5e7d5c53f4047f7770c7cc599f8d4f2ba1221a5f

    Checksums

    4a15e4394e08f85bd87ece16b205840ee8c1e465c1e78c65a23b53525de02d0d  any-tech-architect-lite-v4.5.0.html
    aada1e07c88430c01fc1e9b55ddcb0ce59eb11648db11f5056cebd2e6248d997  any-tech-architect-lite-v4.5.0.zip
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.5.0 b2ab6c9a52

    VIA_GIT_ACTIONS released this 2026-10-08 11:29:14 +03:00 | 3 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    v4.5.0: The switches, lined up

    The protocol switches become one group that follows the version, and 3.1 gains two switches that only make sense together.

    One group for the 3.x switches

    They used to live in three places on the page. Now they are one sheet, drawn by revision:

    • 3.0: header encryption (HeaderProtectionKey), traffic padding (ContentPaddingAddition), floating timers.
    • 3.1: random trailers (RandomTrailers), no cookie replies (DisableCookies), and on a leader line from the two 3.1 parents, Disable H1-H4 and Unite S1-S4.

    Every switch has a new name, its .conf key beside it and a label saying whether both ends must match. On 3.0 the 3.1 column is hatched and lists what it will hold.

    Switches follow the version

    Changing the version moves the switches to where that version recommends, and the page starts from the preset of the version it remembers. The "Recommended for 3.x" button puts them back after manual changes.

    MTU Encryption, padding, timers Trailers Disable H1-H4
    1.0 to 2.0 1500 not in the protocol
    3.0 1500 on
    3.1 1280 on on on

    With trailers, amneziawg-go lengthens packets up to the largest one already seen from the peer, so much of the traffic goes out at full size, and full size has to cross any path without fragmenting. 1280 is what every IPv6 path is required to carry.

    Disable H1-H4

    H1-H4 become the standard 1, 2, 3, 4, as Amnezia VPN itself writes them for 3.x containers:

    • under header encryption the type field leaves encrypted, so the ranges hide nothing on the wire;
    • with random trailers their width turns into lost transport packets (#14).

    It opens only on 3.1 with encryption and trailers on, and the generator checks that itself: without encryption, 1-4 would go out in the clear as WireGuard's real message types.

    Unite S1-S4

    The former "Identical S1-S4", renamed and moved into the group. Same condition: 3.1, encryption and trailers.

    FAQ

    Seven new answers (presets, MTU 1280, Disable H1-H4, RandomTrailers on both ends, the kernel module's Message too long, wg-easy, the STUN profile) and three rewritten. 78 in total.

    Tests: 1291/1291 (20 new), vue-tsc clean.


    Version 4.5.0
    Channel Release
    Built at 2026-10-08T08:30:21Z
    Dist size 13M (127 files)
    Commit b2ab6c9

    Changes since v4.4.0

    🚀 Features

    • feat(ui): the protocol switches as one group (bd5a76a)
    • feat(awg): version presets and Disable H1-H4 for 3.1 (7949567)

    📚 Documentation

    • docs(faq): presets, the new switches and what 4.4 changed (b7e22ff)

    🔧 Maintenance

    • chore: bump to 4.5.0, changelog and README (b2ab6c9)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    d1ddbfe5e76ccd5488aa68746eec0c7b874922d75fcc6731fe6b53e9571b56e7  any-tech-architect-v4.5.0.zip
    5d99bcb1d12020aa31d365883874e900f4c7c3f8f513f5340cb7568307302f83  any-tech-architect-v4.5.0.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • lite-v4.4.0 34f7f7e357

    VIA_GIT_ACTIONS released this 2026-10-05 14:44:08 +03:00 | 1 commits to main since this release

    Any Tech ARCHITECT Lite v4.4.0

    Warning

    Облегчённая сборка обновляется редко. Для актуальной версии используйте полный сайт architect.vai-rice.space или основной релиз.

    The lite build is updated rarely. For the current version use the full site or the main release.

    One HTML file, 166 KB, no network needed: open any-tech-architect-lite-v4.4.0.html in any browser.

    • AmneziaWG 1.0-3.1 generator with every mimicry profile and client of v4.4.0
    • A check for pasted .conf files
    • No XRay, simulator, MergeKeys or FAQ: those live on the full site

    Commit: 34f7f7e35783852b4c817ee4e1f23ef65f4e1870

    Checksums

    f1d361bb7e25152e9eda2f4b5a5bd1616c18ca32ff4e031ce43c6605f6222c4c  any-tech-architect-lite-v4.4.0.html
    a468760b6ee98cde0ea252d8b031d4f9660b8cc07539f2824bec76ce3d6d84ef  any-tech-architect-lite-v4.4.0.zip
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.4.0 7eb128dd10

    VIA_GIT_ACTIONS released this 2026-10-05 11:32:13 +03:00 | 7 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    v4.4.0: The talk before the call

    A minor release built from your reports, plus one long-promised disguise.

    STUN / TURN mimicry

    A new profile replays what WebRTC sends before a call starts:

    • a Binding request to a STUN server, the bare header the way browsers send it;
    • a first TURN Allocate, asking for UDP;
    • the same Allocate with credentials: a TURN REST username, the host as REALM, a nonce and an HMAC;
    • ICE connectivity checks with Chromium or Firefox ufrags, a peer-reflexive PRIORITY and a tie-breaker.

    With "apply to I2-I5" the chain walks that whole flow; on its own, I1 is the authenticated Allocate. Transaction IDs, HMACs and tie-breakers come from <r>, so they are fresh on every send. FINGERPRINT is written only when every byte is known in advance, because a CRC over send-time bytes cannot be told the truth.

    Fixes from your reports

    I1-I5 fit the kernel module (#17)

    The kernel module takes every device attribute in one netlink message of a page, which leaves about 3.4 KB for I1-I5. Five SIP packets did not fit: the interface came up and awg show answered Message too long. The generator now keeps the whole chain within 3200 bytes for every client, since the same block goes onto the server:

    1. the profile's full form;
    2. its compact form (for SIP, the one-letter headers of RFC 3261 §7.3.3);
    3. entropy in the trailing slots. I1 is never touched.

    The config check warns about pasted chains that will not fit.

    wg-easy in the client list (#18)

    wg-easy accepts H1-H4 only up to 2147483647. Ranges for it are now laid out under that cap, and its chain carries only the tags both the kernel module and amneziawg-go understand, since awg-quick may run either.

    What H1-H3 width costs (#14)

    With RandomTrailers on, the receiver tests every transport packet against H1-H3 and silently drops the ones that land inside:

    lost = 1 − Π(1 − Wᵢ / 2³²)   over H1, H2, H3
    
    • the config check reports the share and a "one packet in N" above 1e-4 (16.1% on the ranges from the report);
    • RandomTrailers is now marked as a value both ends must share;
    • "Reduce H1-H4 spread" now really narrows the ranges to 20,000;
    • the 1-4 zone warning stays quiet under HeaderProtectionKey;
    • the FAQ answer on range width gained the formula, and the note that H4 can be wide for free.

    The site

    • The home page lists real profiles only, and SIP is called REGISTER, which is what gets generated.
    • The About page counts its parameter hint instead of the stale "23", and the test floor is 1200+.
    • Both READMEs are rewritten for 4.4.0.

    Tests: 1268/1268 (60 new), vue-tsc clean.


    Version 4.4.0
    Channel Release
    Built at 2026-10-05T08:33:02Z
    Dist size 13M (127 files)
    Commit 7eb128d

    Changes since v4.3.1

    🚀 Features

    • feat(awg): STUN / TURN mimicry profile (e062a35)
    • feat(awg): wg-easy as a client, H laid out under 2^31-1 (30b463c)

    🐛 Bug Fixes

    • fix(awg): price H1-H3 width under RandomTrailers (70495da)
    • fix(awg): keep I1-I5 inside one netlink page for the kernel module (ce53664)

    🔧 Maintenance

    • chore: bump to 4.4.0, changelog, README and site stats (7eb128d)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    306ffc16595c21510a89198ba1ad9013dcf3560c7c994b9733ee6c0bff11c180  any-tech-architect-v4.4.0.zip
    7c17af64c95346cccbf187b4b7003274dff22dfaf5888ed97aa33f4b2471eff1  any-tech-architect-v4.4.0.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.3.1 7a3fc703cf

    VIA_GIT_ACTIONS released this 2026-09-13 20:45:57 +03:00 | 12 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    v4.3.1 — Quieter hints, fresher answers

    Patch: Russian switch labels, explanations behind the question mark,
    full FAQ audit (8 new entries, 5 updates, all 71 checked), generator to
    FAQ handoff, 3.x fields in the app form.

    Tests: 1208/1208, vue-tsc clean.


    Version 4.3.1
    Channel Release
    Built at 2026-09-13T17:46:41Z
    Dist size 13M (127 files)
    Commit 7a3fc70

    Changes since v4.3.0

    🚀 Features

    • feat(ui): Russian switches, hints on demand, FAQ audit (7a3fc70)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    fd76ae589a590c62ca3ad22abf0b3e3b0ebf0df76152f8331e0cd7efb128c9d6  any-tech-architect-v4.3.1.zip
    39fdc3cc9c5ff6c186982242b0fdf8dc509c6874abb59a5e11a6497bb06a30f6  any-tech-architect-v4.3.1.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.3.0 ed51a4ee12

    VIA_GIT_ACTIONS released this 2026-09-13 18:18:13 +03:00 | 13 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    English version

    v4.3.0 — Ключ, который живёт в приложении

    Защита заголовков для Amnezia VPN и режим одинаковых S из рекомендаций.

    Пол больше не смотрит на выданный ключ

    Продолжение жалобы #16: Amnezia VPN управляет HeaderProtectionKey сам, поэтому генератор ключ не выдавал, а вместе с ним снимал и порог S1–S4 в 12. Замер: 164 из 300 конфигов по умолчанию несли S ниже 12 прямо в шифр, который такие отвергает. Теперь порог читает включённый переключатель, а не выданную строку: ключ не пишется, размеры держатся.

    Переключатель возвращён

    Галка HeaderProtectionKey больше не прячется для Amnezia VPN. Раз ключ живёт в приложении, в выводе вместо строки ключа пишется комментарий: включается переключателем в приложении и подхватывается при импорте .conf. Проверка вставленного конфига тоже в курсе: маленькие S без строки ключа у такого клиента это предупреждение, а не тишина.

    Одинаковые S1–S4

    Новый переключатель для 3.1 при включённых защите и случайных хвостах: одно значение на все четыре S, как советуют рекомендации. Показывается только в этой связке осознанно: одинаковые S у всех последовавших совету это общий отпечаток, и именно случайный хвост его размывает. Мы не рекомендуем, в интерфейсе так и написано.

    Также в релизе: сьют переведён с Vitest на встроенный bun test (1181 тест за ~20 секунд вместо минуты), бан прибит к 1.4.0 везде, где он ставится.

    Тесты: 1200/1200, vue-tsc чистый.


    v4.3.0 — The key that lives in the app

    Русская версия

    Header protection for Amnezia VPN, and the identical-S mode from the recommendations.

    The floor no longer reads the emitted key

    A follow-up to report #16: Amnezia VPN manages HeaderProtectionKey itself, so the generator emitted no key — and lifted the S1–S4 floor of 12 along with it. Measured: 164 of 300 default configs carried an S under 12 into a cipher that refuses them. The floor now reads the switched-on toggle rather than the emitted line: no key written, sizes held.

    The switch is back

    The HeaderProtectionKey checkbox no longer hides for Amnezia VPN. Since the key lives in the app, the output carries a comment instead of a key line: enabled by the in-app toggle and picked up on config import. The pasted-config check knows too: small S without a key line on such a client is a warning rather than silence.

    Identical S1–S4

    A new switch for 3.1 with protection and random trailers on: one value for all four S, as the recommendations advise. Shown only in that combination on purpose: identical S on everyone who followed the advice is a shared fingerprint, and the random tail is what smears it. We do not recommend it, and the UI says so.

    Also in this release: the suite moved from Vitest to the built-in bun test (1181 tests in ~20 seconds instead of a minute), bun pinned to 1.4.0 everywhere it is installed.

    Tests: 1200/1200, vue-tsc clean.


    Version 4.3.0
    Channel Release
    Built at 2026-09-13T15:18:54Z
    Dist size 13M (127 files)
    Commit ed51a4e

    Changes since v4.2.0

    🚀 Features

    • feat(awg): managed key keeps the S floor, identical-S switch for 3.1 (ed51a4e)

    🐛 Bug Fixes

    • fix(ci): own the fallback-test warning and pin bun to 1.4.0 (12c33ed)
    • fix(awg): flag S1-S4 below 12 when HeaderProtectionKey is set (7905c16)

    🧪 Tests

    • test: replace vitest with the built-in bun test runner (6b5d2a2)
    • test(i18n): silence the expected missing-key warning in the fallback test (7743b54)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    e31144c07361eebef13a45aa98e68f4a3f8bc36170e9938feee793f57318d526  any-tech-architect-v4.3.0.zip
    9c38228c83b31d72b1772ea70b470708a7f065a9dd01f11669a8a653b8ce5604  any-tech-architect-v4.3.0.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.2.0 aa198bb5a4

    VIA_GIT_ACTIONS released this 2026-09-07 01:35:10 +03:00 | 18 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    Any Tech ARCHITECT 4.2.0


    English version

    Что внутри

    • DTLS 1.3 по-настоящему. Профиль говорил "DTLS 1.3", а по проводу слал 1.2. Теперь профилей два: DTLS 1.2 шлет то же, что раньше, а новый DTLS 1.3 собран по RFC 9147. Фрейминг тот же, версия едет в расширении supported_versions. Старый id "dtls" в сохраненках и ссылках читается как 1.2, ничего не ломается.

    • Amnezia VPN сам рулит ключом. Приложение включает HeaderProtectionKey своим тумблером и генерит ключ само, так что генератор для этого клиента ключ больше не выдает. Галка прячется, рядом висит причина, S-флор уходит вместе с ключом.

    • Тишина в простое, часть вторая. Главным виновником оказался слой .sheet-grain в четыре вьюпорта с SVG-шумом и вечной анимацией: каждый тик красил главный поток. Теперь там transform и opacity, которые умеет композитор. До кучи: scroll-слушатели стали passive с rAF-троттлом, тултип не пишет в DOM почем зря, CodeView не компилит RegExp на каждый символ, история не пересобирает поиск на нажатие, дохлый воркер не вешает спиннер. Баннер зеркала перебран: текст больше не прячется на узком экране.

    • awg-gen.sh выучил 3.1: RandomTrailers, DisableCookies и dtls13-профиль. Флаги 3.1 на других версиях роняют скрипт сразу, а не пишут битый конфиг.

    • STUN-мимикрия едет в 4.3.0, а на лендинге у нее бейдж "скоро".

    • Тестов 1169, флор 1100+ держится. idle-cost тест падает на любую вечную анимацию, которая красит главный поток, так что этот класс багов молча не вернется.


    Русская версия

    What is inside

    • DTLS 1.3 for real. The profile said "DTLS 1.3" while sending 1.2 on the wire. There are two profiles now: DTLS 1.2 sends what it used to, and the new DTLS 1.3 follows RFC 9147. Same framing, the version rides in the supported_versions extension. The old "dtls" id in saved configs and links reads as 1.2, nothing breaks.

    • Amnezia VPN handles its own key. The app flips HeaderProtectionKey with its own toggle and generates the key itself, so the generator no longer emits one for that client. The switch hides, the reason sits next to it, and the S-floor goes with the key.

    • Idle silence, part two. The main culprit was a .sheet-grain layer four viewports wide with SVG noise and a never-ending animation: every tick painted the main thread. Now it runs on transform and opacity, which the compositor owns. On top of that: scroll listeners went passive with rAF throttle, the tooltip stopped writing to the DOM for nothing, CodeView stopped compiling a RegExp per character, history stopped rebuilding search on every keystroke, a dead worker stopped hanging the spinner. The mirror banner got rebuilt: copy no longer hides on narrow screens.

    • awg-gen.sh learned 3.1: RandomTrailers, DisableCookies and a dtls13 profile. The 3.1 flags on other versions fail the script loudly instead of writing a broken config.

    • STUN mimicry rides in 4.3.0, with a "soon" badge on the landing in the meantime.

    • 1169 tests, and the 1100+ floor holds. The idle-cost test fails on any endless animation that paints the main thread, so that bug class cannot come back quietly.


    Version 4.2.0
    Channel Release
    Built at 2026-09-06T22:36:31Z
    Dist size 13M (127 files)
    Commit aa198bb

    Changes since v4.1.0

    🚀 Features

    • feat(scripts): awg-gen.sh supports AWG 3.1 (trailers, cookies) (300d2e8)
    • feat: Amnezia VPN manages its own HeaderProtectionKey; STUN marked soon (53998d5)
    • feat(dtls): correct DTLS 1.3 ClientHello per RFC 9147 (79fc5e7)
    • feat(dtls): wire dtls_1_2/dtls_1_3 through roles, slots and UI list (579d11c)
    • feat(dtls): dtls_1_2/dtls_1_3 ids with legacy normalize (42df828)

    ♻️ Refactoring

    • refactor(dtls): share record framing and test helpers across 1.2/1.3 (aa198bb)
    • refactor(dtls): mkDTLS becomes mkDTLS12, bytes unchanged (2375c0f)

    🧪 Tests

    • test(dtls): legacy dtls id still emits via 1.2 (97e0463)

    📚 Documentation

    • docs(dtls): DTLS 1.2/1.3 everywhere, twelve profiles (8e83552)

    🔧 Maintenance

    • chore: land 4.1.2 idle-silence pass as part of 4.2.0 (perf, banner, worker hardening) (43e1d01)
    • chore: ship everything as 4.2.0, fold unreleased 4.1.2 (bd66e04)
    • chore: bump to 4.1.1 — cache, debounce and idle silence (eca12af)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    7a56f420fac9699312cb8803da97c003ac4e97283eae3726026cfb73fa4bee34  any-tech-architect-v4.2.0.zip
    ad1ebceeec67f6e65201a3014b9ee06c72a7d6ba2ae07894873573c2fb12ffed  any-tech-architect-v4.2.0.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads
  • v4.1.0 68677eb3d1

    VIA_GIT_ACTIONS released this 2026-09-03 22:35:23 +03:00 | 30 commits to main since this release

    Any Tech ARCHITECT 4.1.0

    Патч-релиз, который закрывает всё, что мешало «вставилось без танцев».

    Что исправлено

    MergeKeys — .conf снова в синхроне (4.0 regression)

    Контейнер хранит один конфиг трижды — awg.Jc, last_config JSON и wg-quick текст, причём последний дважды (awg.config и JSON.parse(last_config).config). applyObfPatchToAwg (src/engines/keys/patch.ts:140) трогал только три места, поэтому после refresh в MergeKeys vpn:// и json обновлялись, а .conf оставался старым. Теперь патч за один JSON.parse зеркалит все 4 копии, включая добавление I3-I5 если их не было. Добавлены randomAwgKey 3.0/3.1 (псевдо-случайные, но валидные через genCfg) и 11 регресс-тестов patch-conf-regression — fix(keys): keep .conf in sync….

    XRay — панельный экспорт для 3x-ui

    inboundSettings (src/engines/xray/render.ts:280) писала клиентам только id+flow. 3x-ui v3.6.0 валидирует VlessClientSchema.email: z.string().min(1) (frontend/src/schemas/protocols/inbound/vless.ts) и падает тостом Client #0: email — Invalid input. Ядро email не читает — поле чисто панельное. buildPanelInbound (только панельная ветка, серверный экспорт не тронут) теперь дописывает email как id.slice(0,8) с суффиксом -n при коллизии в batch — уникально в инбаунде, на провод не влияет. panel.test теперь 6 тестов (был 4) — fix(xray): add email to panel export for 3x-ui.

    Опечатка перед пушем: xg.out.needAddress (src/i18n/locales/ru.ts:241) указывала «Донор REALITY», хотя адрес нужен из «Ваш сервер» (xg.zone.server / xg.zone.server.note — «донор ниже к нему отношения не имеет»). Поправлено в обеих локалях, под clients добавлен xg.clients.emailNote — email для панели добавляется автоматически, вручную вводить не нужно (src/views/XrayView.vue:1128) — fix(xray): correct needAddress hint….

    AmneziaWG 3.1 — совместимость с инструментами

    awg-tools принимает только on/off/1/0, Go/UAPI — true|1|on. Писали true, tools падали. src/engines/awg/generator/render.ts:230 теперь пишет 1/0, причём если один из RandomTrailers/DisableCookies вкл. — обе строки с 1/0, если оба выкл. — ничего (требование awg-tools). src/engines/keys/containers.ts:154 добавлены RandomTrailers/DisableCookies в AWG3_LOCAL_FIELDS, иначе makeAwgContainer не отдавал их в inner .conf. fix(awg): write 3.1 toggles as 1/0 pair….

    AmneziaWG 3.1 — тумблер H1-H4

    Широкие H1-H4 (до 100M / H4 150M) в amneziawg-go 3.1 дают всплеск CPU на классификации заголовков и misclassify при HeaderProtection. Добавлен GeneratorInput.useNarrowH? (src/engines/awg/generator/types.ts:116), DrawContext.narrowH (strategy.ts:42), headerZones(..., narrowH) клампит к ~20k/30k, прокидка genCfg → useNarrowH только для 3.1. UI — свитч «Уменьшить разброс H1–H4» в AmneziaWgView.vue:1392 внутри 3.1-шаблона и только когда триггер useHeaderProtection вкл., иначе тумблера нет. Подробное описание в src/i18n/locales/*/gen.narrowH.* и help-дроере (local · since 3.1). Выкл. по умолчанию — feat(awg): narrow H1-H4 toggle….

    Прибрано

    Буквальный дубликат extractWgQuick (src/engines/keys/build.ts:33) vs extractConf (src/engines/awg/awgFormat.ts:219) вынесен в src/engines/keys/wgQuick.ts:1 getAwgWgQuick — refactor(keys): deduplicate wg-quick extraction. Остальные renderWgQuick vs renderConfLines — не буквальные (разные входы AWGConfig vs AwgContainerInput), оставлены.

    Тесты и версия

    package.json:3 4.0.0 → 4.1.0, vue-tsc --noEmit и vitest run (xray 11 файлов 140, awg31 8, patch 11, всего 69 файлов 1011+) — зелёные.

    Далее — 4.1.1

    Готовим 4.1.1 с оптимизациями: батч rnd в src/engines/awg/generator/utils.ts (crypto.getRandomValues на каждый вызов), предкомпиляция RegExp в patchWgQuickString, кэш JSON.parse(last_config) в build/validate, hostsFor сортировки и generateBatch до 50 без воркера.

    — git tag этого релиза создан с --cleanup=verbatim, чтобы markdown (#, -, ```) не сапресснулся.


    Version 4.1.0
    Channel Release
    Built at 2026-09-03T19:36:28Z
    Dist size 13M (127 files)
    Commit 68677eb

    Changes since v4.0.0-pre.2

    🚀 Features

    • feat(awg): narrow H1-H4 toggle for 3.1 bug workaround (be2c06f)
    • feat: a mirror build for hosting buckets, and a search pass over every page (05eeffc)
    • feat(xray): an inbound in the vocabulary hosting panels validate against (aed4dce)
    • feat(awg): AWG 3.1 and its two switches (31332db)
    • feat(awg): the same parameters, spoken in mihomo's dialect (286e6b5)

    🐛 Bug Fixes

    • fix(xray): correct needAddress hint and clarify email auto-generation (68677eb)
    • fix(xray): add email to panel export for 3x-ui (cecd8ae)
    • fix(awg): write 3.1 toggles as 1/0 pair for tools compatibility (4e6975d)
    • fix(keys): keep .conf in sync when refreshing obfuscation (4.0 regression) (791d328)

    ♻️ Refactoring

    • refactor(keys): deduplicate wg-quick extraction (94c1313)
    • refactor(simulator): the page stops knowing protocols, so any engine can carry one (147ed01)

    📚 Documentation

    • docs: the 4.0 story catches up with what actually shipped (24128d3)

    👷 CI/CD

    • ci(mirror): a manual pipeline to the Yandex bucket, keys through env only (ac95275)

    Quick Start

    Extract the archive and run the bundled server. It has no
    dependencies — nothing needs to be installed:

    ./bin/awg-serve-linux            # Linux
    ./bin/awg-serve-macos            # macOS
    bin\awg-serve-windows.exe       # Windows
    

    It serves on port 8080 and opens a browser.
    Pass a port to change it (awg-serve 3000), or
    --no-open to skip launching the browser.

    If you would rather use a runtime you already have, the
    launchers look for bun, npx or python and offer to install
    bun only if none is found:

    ./scripts/serve.sh               # Linux / macOS
    .\scripts\serve.ps1             # Windows (PowerShell)
    scripts\serve.bat               # Windows (CMD)
    

    Add --check to either launcher to see what it found
    without starting anything.

    The archive also carries scripts/awg-gen.sh, which
    generates AmneziaWG configurations from a terminal with no
    browser and no network, and a README.md describing the
    layout. The XRay side is browser-only for now.

    Checksums

    843a500c88eae7ca09c13dea0da1dac78684aea8647efdec9167c0a53ed5547d  any-tech-architect-v4.1.0.zip
    9dcb1c1c866452e1489e5092f06b766ad3afabd94727ae96911f7e88d1625cfd  any-tech-architect-v4.1.0.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads