zapret-kvn/xray_fluent/ui
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh 64d31201ce
All checks were successful
Windows project source guards / test (push) Successful in 1m10s
Match the real Happ header set when emulating the client
Imitating a client only works when the set matches the original: panels match
subscription requests by header rules, and a surplus header identifies a forgery
as reliably as a missing one. The real Happ client sends no Accept header and no
X-App-Version at all — that header does not exist in Happ — and its locale is a
bare language code, so those three differences marked our requests as an
imitation and could be answered with 403.

On Windows locale.getlocale() reports a human readable name such as
Russian_Russia, which no client writes into a header; it is now translated into
a language code before it is sent.

A 403 is explained instead of being reported as a bare status: the panel refused
the client, or the site protection in front of it did, and the two need different
answers from the user.

The subscription dialog now rejects an identifier that panels silently ignore.
An HWID outside the Happ format never reaches the device limit, so the user
would otherwise see no effect and no error.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 19:03:51 +03:00
..
__init__.py Optimize server table rendering 2026-08-04 18:07:04 +03:00
about_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
base_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
bulk_edit_page.py feat: add subscriptions and core-native hot switching 2026-08-12 00:57:49 +03:00
configs_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
dashboard_page.py feat: hide server endpoints in the UI 2026-08-20 00:49:38 +03:00
detail_page.py feat: add subscriptions and core-native hot switching 2026-08-12 00:57:49 +03:00
fluent_dialog.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
history_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
lock_dialog.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
logs_page.py программа стала быстрее 2026-03-26 23:39:55 +03:00
main_window.py fix: make update checks resilient 2026-08-20 01:33:13 +03:00
node_detail_widget.py feat: rebuild server table columns 2026-08-20 15:17:27 +03:00
node_edit_page.py feat: rebuild server table columns 2026-08-20 15:17:27 +03:00
nodes_filter_proxy.py feat: rebuild server table columns 2026-08-20 15:17:27 +03:00
nodes_page.py feat: global accent color scheme 2026-08-20 17:09:51 +03:00
nodes_table_delegate.py fix: clip active row fill segments to cell rects 2026-08-20 17:28:58 +03:00
nodes_table_model.py feat: flex column layout for server table 2026-08-20 16:13:43 +03:00
preset_edit_widget.py feat: add subscriptions and core-native hot switching 2026-08-12 00:57:49 +03:00
privacy.py feat: rebuild server table columns 2026-08-20 15:17:27 +03:00
routing_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
settings_page.py feat: global accent color scheme 2026-08-20 17:09:51 +03:00
subscriptions_page.py Match the real Happ header set when emulating the client 2026-08-20 19:03:51 +03:00
theme.py feat: global accent color scheme 2026-08-20 17:09:51 +03:00
traffic_graph.py feat: global accent color scheme 2026-08-20 17:09:51 +03:00
updates_page.py Prepare v0.4.79: unified theming, responsive layout, real flags 2026-08-11 23:21:28 +03:00
zapret_page.py feat: global accent color scheme 2026-08-20 17:09:51 +03:00