Skip to content

feat: resolve peer client name via BEP 20 peer id and extended handshake - #347

Closed
stabldev wants to merge 2 commits into
mainfrom
feat/peer-client-identification
Closed

feat: resolve peer client name via BEP 20 peer id and extended handshake#347
stabldev wants to merge 2 commits into
mainfrom
feat/peer-client-identification

Conversation

@stabldev

@stabldev stabldev commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

Displays peer software prefixes and splits IP and Port into distinct columns in the Peers details table.

Changes

  • Client Prefix Resolution:
    • Removed full-name client lookup dictionary.
    • Prefers extended handshake client string (BEP 10) if present.
    • Otherwise, directly displays the 8-character client identifier prefix encoded in the 20-byte Peer ID (BEP 20 convention, e.g. -qB4630-, -TR4050-, -UT3550-, M3-4-2--).
  • Separate IP & Port Columns:
    • Added dedicated Port column next to IP in the Peers table.
    • Updated PeerInfo TypedDict with port: int.
    • Updated DownloadManager.get_torrent_peers() to parse IP address and port number separately.
  • Tests:
    • Updated unit tests in test_utils_helpers.py, test_core_download.py, and test_widgets_details_panel.py.

@stabldev stabldev closed this Aug 27, 2026
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.

1 participant