[PR #1187] chore: generic fixes #104

Open
opened 2026-08-08 05:15:19 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/1187
Author: @IMDelewer
Created: 8/8/2026
Status: 🔄 Open

Base: mainHead: chore/generic-fixes


📝 Commits (10+)

  • e9c90c9 fix(cfproxy): stop probing worker domains after a successful connect
  • 4d0011d fix(websocket): reassemble fragmented frames instead of dropping continuations
  • cad5f7c fix(update): verify sha256 digest of downloaded release asset before install
  • d168644 fix(config): reject short-form IPv4 in --dc-ip
  • f4ca8a4 fix(docker): ship utils package so --log-file works in the image
  • 659d8c2 chore(lint): pin ruff rule selection and clear remaining violations
  • 0087dda test: cover config parsing, packet splitting, fake TLS and WS framing
  • 6832559 refactor(update): make expected_digest a required argument
  • 7ec2dba revert: drop the update digest verification
  • eb86e2d revert: drop the watchdog loop-variable binding and ignore B023

📊 Changes

15 files changed (+608 additions, -18 deletions)

View changed files

📝 Dockerfile (+1 -0)
📝 docs/CONTRIBUTING.md (+15 -1)
📝 docs/EN/CONTRIBUTING.md (+15 -1)
📝 proxy/bridge.py (+1 -0)
📝 proxy/config.py (+2 -2)
📝 proxy/pool.py (+1 -1)
📝 proxy/raw_websocket.py (+24 -7)
📝 pyproject.toml (+8 -1)
tests/__init__.py (+0 -0)
tests/test_bridge.py (+116 -0)
tests/test_config.py (+87 -0)
tests/test_fake_tls.py (+133 -0)
tests/test_raw_websocket.py (+130 -0)
tests/test_update_check.py (+70 -0)
📝 ui/ctk_tray_ui.py (+5 -5)

📄 Description

фиксы

  • bridge.py: в cf worker fallback не было break после успешного коннекта, открывались коннекты ко всем доменам, брался последний, остальные висели
  • raw_websocket.py: continuation фреймы 0x0 просто выбрасывались, фрагментированное сообщение приходило обрезанным, теперь склеивается. а так же длина фрейма шла в readexactly без лимита, поставил 16 мб
  • config.py: inet_aton жрал 149.154 и делал из него 149.0.0.154, поменял на inet_pton
  • Dockerfile: utils не копировался в образ, --log-file падал с ModuleNotFoundError

по мелочи

  • pyproject.toml: был ignore без select, ruff check выдавал разное от версии, у меня 344 штуки, зафиксировал правила и добил остатки
  • накидал 56 тестов на чистую логику (конфиг, MsgSplitter, fake tls, ws фрейминг, версии), только stdlib, команды в CONTRIBUTING

ruff чисто, тесты зелёные, прокси стартует. винду вживую не собирал, сижу на маке
pool.py:313 не трогал, там return перед обработкой 429, по todo видно что вырубили специально

надеюсь за форк опять не забанят


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/1187 **Author:** [@IMDelewer](https://github.com/IMDelewer) **Created:** 8/8/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `chore/generic-fixes` --- ### 📝 Commits (10+) - [`e9c90c9`](https://github.com/Flowseal/tg-ws-proxy/commit/e9c90c934b8f3634e3f3aef6ff73660f6fb0a15b) fix(cfproxy): stop probing worker domains after a successful connect - [`4d0011d`](https://github.com/Flowseal/tg-ws-proxy/commit/4d0011d6c3f7b151dedcc0c0d1846fe2b4af8a8c) fix(websocket): reassemble fragmented frames instead of dropping continuations - [`cad5f7c`](https://github.com/Flowseal/tg-ws-proxy/commit/cad5f7cab4fc9f7b585eb7ba40cd8f5144a6f8e6) fix(update): verify sha256 digest of downloaded release asset before install - [`d168644`](https://github.com/Flowseal/tg-ws-proxy/commit/d168644d13f77c6eba984568ff7c81f643b98dbb) fix(config): reject short-form IPv4 in --dc-ip - [`f4ca8a4`](https://github.com/Flowseal/tg-ws-proxy/commit/f4ca8a4e9d8e1517c471f5736df4c2fef71cdf87) fix(docker): ship utils package so --log-file works in the image - [`659d8c2`](https://github.com/Flowseal/tg-ws-proxy/commit/659d8c2019afb171174dd95d563c8d5d3f7987c5) chore(lint): pin ruff rule selection and clear remaining violations - [`0087dda`](https://github.com/Flowseal/tg-ws-proxy/commit/0087dda9ffc4693656fb1e0df180a3c7031d7ff6) test: cover config parsing, packet splitting, fake TLS and WS framing - [`6832559`](https://github.com/Flowseal/tg-ws-proxy/commit/6832559de6cd0c4b074a4cac2d10b0ae8a41ebbe) refactor(update): make expected_digest a required argument - [`7ec2dba`](https://github.com/Flowseal/tg-ws-proxy/commit/7ec2dbabcaa5c4db35b6c03aa84da37e9ab8b587) revert: drop the update digest verification - [`eb86e2d`](https://github.com/Flowseal/tg-ws-proxy/commit/eb86e2dee934b77483ba04cff89c26faa81f6127) revert: drop the watchdog loop-variable binding and ignore B023 ### 📊 Changes **15 files changed** (+608 additions, -18 deletions) <details> <summary>View changed files</summary> 📝 `Dockerfile` (+1 -0) 📝 `docs/CONTRIBUTING.md` (+15 -1) 📝 `docs/EN/CONTRIBUTING.md` (+15 -1) 📝 `proxy/bridge.py` (+1 -0) 📝 `proxy/config.py` (+2 -2) 📝 `proxy/pool.py` (+1 -1) 📝 `proxy/raw_websocket.py` (+24 -7) 📝 `pyproject.toml` (+8 -1) ➕ `tests/__init__.py` (+0 -0) ➕ `tests/test_bridge.py` (+116 -0) ➕ `tests/test_config.py` (+87 -0) ➕ `tests/test_fake_tls.py` (+133 -0) ➕ `tests/test_raw_websocket.py` (+130 -0) ➕ `tests/test_update_check.py` (+70 -0) 📝 `ui/ctk_tray_ui.py` (+5 -5) </details> ### 📄 Description ## фиксы - `bridge.py`: в cf worker fallback не было break после успешного коннекта, открывались коннекты ко всем доменам, брался последний, остальные висели - `raw_websocket.py`: continuation фреймы 0x0 просто выбрасывались, фрагментированное сообщение приходило обрезанным, теперь склеивается. а так же длина фрейма шла в readexactly без лимита, поставил 16 мб - `config.py`: inet_aton жрал 149.154 и делал из него 149.0.0.154, поменял на inet_pton - `Dockerfile`: utils не копировался в образ, --log-file падал с ModuleNotFoundError ## по мелочи - `pyproject.toml`: был ignore без select, ruff check выдавал разное от версии, у меня 344 штуки, зафиксировал правила и добил остатки - накидал 56 тестов на чистую логику (конфиг, MsgSplitter, fake tls, ws фрейминг, версии), только stdlib, команды в CONTRIBUTING ruff чисто, тесты зелёные, прокси стартует. винду вживую не собирал, сижу на маке pool.py:313 не трогал, там return перед обработкой 429, по todo видно что вырубили специально _надеюсь за форк опять не забанят_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-08-08 05:15:19 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/tg-ws-proxy#104