Skip to content

Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC#829

Open
f4rceful wants to merge 5 commits into
Flowseal:mainfrom
f4rceful:feat/tray-improvements
Open

Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC#829
f4rceful wants to merge 5 commits into
Flowseal:mainfrom
f4rceful:feat/tray-improvements

Conversation

@f4rceful
Copy link
Copy Markdown
Contributor

@f4rceful f4rceful commented May 8, 2026

Что добавлено

  • Статусный кружок на иконке трея — зелёный (есть соединения), жёлтый (прокси работает, нет соединений), красный (прокси упал). Обновляется с дебаунсом 2с чтобы не мигал при кратких разрывах.
image
  • Уведомление при падении прокси - balloon-уведомление через Shell_NotifyIconW.
image image image
  • Живой tooltip - при наведении на иконку показывает количество активных соединений, текущую скорость (↑/↓ KB/s) и пинг до датацентров Telegram (DC2: 45ms).
image
  • Кастомные иконки кружков - можно положить dot_ok.png, dot_idle.png, dot_error.png в папку assets/ и они заменят нарисованные кружки.

Технические детали

  • StatusManager в utils/tray_common.py — переиспользуемый, подключается одной строкой, работает на всех платформах
  • DC ping через TCP connect к порту 443, обновляется каждые 30 секунд
  • Рендеринг иконки при 256×256 для чёткости на HiDPI экранах

f4rceful added 5 commits May 17, 2026 00:40
- add add_status_dot() to overlay colored dot on base icon at 256px
- add _load_dot_image() with PNG support from assets/ folder
- add ProxyStatus enum (STOPPED/IDLE/ACTIVE)
- add StatusManager with 2s debounce for icon updates
- add is_proxy_running() helper
- add assets/ folder for custom dot PNG files
- status dot reflects proxy state: idle (amber), active (green), stopped (red)
- StatusManager polls every 1s with 2s debounce to prevent icon flickering
- crash balloon notification via Shell_NotifyIconW with hBalloonIcon
- uses pystray internal _hwnd for direct Win32 API call
- _pil_to_hicon converts PIL image to HICON for high-quality balloon icon
- tooltip shows active connections, upload/download speed (bytes/s)
- DC ping measured via TCP connect to port 443, updated every 30s
- ping shown on separate line: DC2: 45ms  DC4: 120ms
- pings visible in idle state too, not just when connections are active
@f4rceful f4rceful force-pushed the feat/tray-improvements branch from 868ee8c to 757661b Compare May 16, 2026 21:40
f4rceful added a commit to f4rceful/tg-ws-proxy that referenced this pull request May 16, 2026
f4rceful added a commit to f4rceful/tg-ws-proxy that referenced this pull request May 16, 2026
f4rceful added a commit to f4rceful/tg-ws-proxy that referenced this pull request May 16, 2026
@f4rceful f4rceful force-pushed the feat/tray-improvements branch from 344feb5 to 757661b Compare May 16, 2026 22:26
@kstepanchuk
Copy link
Copy Markdown
Contributor

ставя данный проект юзерам далеким от айти которые в офисе потеряли доступ к телеграмму будет лишним (мое мнение)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants