mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-25 13:21:17 +00:00
Bump xtls/xray-core to b26a91de4f (v26.9.30) and the three binary pins (DockerInit.sh, release.yml Linux + Windows) in lockstep. No deleted symbols; the sing and sing-shadowsocks indirect deps drop out with the SS2022 rewrite. XDNS finalmask (#6718) replaced its string lists with objects: domains are {name, types, edns0, lenLimit, labelLimit} and client resolvers {type, settings.addr}. The loader no longer parses the old lists, so a single stored xdns mask keeps the whole core from starting. The new leaf package internal/util/maskcompat converts them: "name[:type]" becomes a domain and "name[:type]+udp://addr" a domain plus a udp resolver. A bare name maps to TXT, the type legacy clients queried by default, and each converted domain keeps the 1232-byte EDNS0 the old code always used (without it the server caps answers at 512). It runs from: - the XdnsFinalmaskObjectsFix seeder, over inbound streams, hosts, the xray template, the global sub-JSON mask and cached subscription outbounds; - inbound save (normalizeStreamSettings) and GetXrayConfig, for rows that never went through the seeder; - both link importers, since fm= from an older panel carries the lists. The finalmask form edits the object shape (every key needs a registered field, or the finalmask watch drops it on save) and lifts legacy masks on open. The udp-mask golden fixture moves to the object shape, which TestGoldenStreamFixturesBuildInXray now builds through the core. The wire format changed as well, so pre-upgrade clients need the new core. WireGuard outbound (#6771) dropped settings.domainStrategy and the remoteDNS "local" mode. The endpoint lookup now follows sockopt.domainStrategy and in-tunnel targets the outbound's targetStrategy. The old key is silently ignored, which undid the IPv4-first endpoint lookup the WARP outbound depends on (#5205), and "local" now panics the core at startup because remoteDNS goes through netip.MustParseAddr. The WireguardDomainStrategyFix seeder moves a stored family preference to both keys (a value already set wins) and turns "local" into targetStrategy; the outbound form lifts legacy rows the same way and drops its select, the WARP modal writes the new placement, and the inbound form loses a field the server never read. ValidateOutboundConfig now refuses a non-IP remoteDNS entry, which conf.Build() lets through, on template save and for outbound subscriptions. Noise finalmask items accept type "exp" (#6862), a tag expression. The form offers it for noise items only: header-custom items go through the core's PraseByteSlice, which refuses it. TUN gained autoSystemDnsToGateway (Linux) and autoSystemWfpBlockLeak (Windows). Both pass through the settings schema so a value set in JSON survives the next form save. MASQUE (inbound, outbound, transport) and the XDRIVE transport are new protocols the panel does not offer yet; their new loader refusals only cover configs the panel never generates. The FakeDNS IPv6 pool default, the SS2022 rewrite (same gRPC account; emails are now deduped case-insensitively, as the panel already does), the restored udphop interval default and the rest change no panel-facing config. |
||
|---|---|---|
| .. | ||
| dbtest | ||
| model | ||
| api_token_timestamp_test.go | ||
| backup_test.go | ||
| client_email_lower_index_test.go | ||
| client_hwid_schema_test.go | ||
| client_weekly_renew_migration_test.go | ||
| client_weekly_renew_postgres_test.go | ||
| db.go | ||
| db_permissions_test.go | ||
| db_reopen_test.go | ||
| db_seed_test.go | ||
| db_settled_test.go | ||
| dialect.go | ||
| dns_outbound_legacy_keys_migration_test.go | ||
| dns_outbound_qtype_zero_test.go | ||
| dump_sqlite.go | ||
| dump_sqlite_test.go | ||
| fail2ban_state_test.go | ||
| freedom_domain_strategy_migration_test.go | ||
| freedom_finalrules_migration_test.go | ||
| host_migration_test.go | ||
| host_test.go | ||
| inbound_dedupe_test.go | ||
| inbound_exclude_from_sub_migration_test.go | ||
| inbound_port_unique_migration_test.go | ||
| index_tags_test.go | ||
| journal_mode_test.go | ||
| migrate_data.go | ||
| migrate_data_test.go | ||
| migration_models_test.go | ||
| mtproto_migration_test.go | ||
| outbound_removed_keys_migration_test.go | ||
| prepare_sqlite_test.go | ||
| reality_finalmask_migration_test.go | ||
| removed_cipher_migration_test.go | ||
| rewriter_protocol_case_test.go | ||
| seeder_fastpath_test.go | ||
| settings_index_test.go | ||
| traffic_overflow_repair_test.go | ||
| wireguard_domain_strategy_migration_test.go | ||
| wireguard_migration_test.go | ||
| xdns_finalmask_migration_test.go | ||