Commit Graph

519 Commits

Author SHA1 Message Date
Rightup
ffaaa76ea0 feat: add glass to repeater. 2026-04-17 23:51:04 +01:00
Lloyd
4d9c560b11 Merge pull request #178 from rightup/feat-remove-sys-packages
feat: migrate to virtual environment and clean up system-level packages
2026-04-15 10:40:58 +01:00
Lloyd
f2a72eb203 feat: migrate to virtual environment and clean up system-level packages 2026-04-15 09:37:26 +01:00
Lloyd
4d49eb701b feat: add owner_info field to repeater configuration and add getter for protocol request handling 2026-04-13 16:49:02 +01:00
Lloyd
9d971d03b7 UI fix for air time 2026-04-11 21:14:39 +01:00
Lloyd
110d7c2aec feat: add airtime data retrieval functionality with API endpoint 2026-04-11 20:42:04 +01:00
Lloyd
178eaf5b4b Merge pull request #175 from rightup/feat/fix-regions-unscoped-flood
fix: rename global flood to unscoped flood, fix region handling
2026-04-09 09:43:04 +01:00
Lloyd
a53012ba35 test: enhance transport flood handling in tests with policy checks 2026-04-09 09:17:59 +01:00
Lloyd
19e0f5d3dd build: update bundled web UI assets
Rebuilt from pyMC-RepeaterUI dev branch — includes unscoped flood policy
UI changes (rename from global flood, updated API endpoint and labels).
2026-04-09 09:16:43 +01:00
Lloyd
2386da2857 Merge pull request #170 from zindello/feat/fixRegions
Feat/fix regions: rename global_flood_allow to unscoped_flood_allow,
fix region handling to correctly separate unscoped traffic from scoped
regions, maintain backward compat with existing config files.
2026-04-09 08:45:29 +01:00
Joshua Mesilane
3851055b65 Fix tests 2026-04-09 09:03:02 +10:00
Joshua Mesilane
2c95c0db0a Update example config files 2026-04-09 08:59:52 +10:00
Joshua Mesilane
7370cdc688 Update openapi and fix the test script 2026-04-07 16:28:49 +10:00
Joshua Mesilane
38e1fbe3f9 Changing from 'Global' Flood to 'Unscoped' flood as '*' doesn't actually mean wildcard, it means unscoped. Region keys should still only be forwaded if they're whitelisted. UI changes pending 2026-04-06 22:32:05 +10:00
Lloyd
3010703e1b Merge pull request #83 from pinztrek/iplog
Log system IP address (updated)
2026-03-30 08:53:54 +01:00
Lloyd
dd8d3577cd Merge pull request #163 from rightup/feat/companion
Feat/companion
2026-03-27 22:38:10 +00:00
Lloyd
d83d3e07aa fix: update pymc_core dependency to point to dev branch 2026-03-27 22:35:31 +00:00
Lloyd
a92708f9d5 update UI to reflect keygen changes 2026-03-27 12:36:25 +00:00
Lloyd
59c6c772d4 feat: add JSON input handling for generate_vanity_key endpoint 2026-03-27 12:21:59 +00:00
Lloyd
50c19be498 Add gen tool for repeater prefix 2026-03-27 12:17:35 +00:00
Lloyd
fdc621f64d feat: add sanitization for bytes values to hex for JSON serialization 2026-03-27 11:24:27 +00:00
Lloyd
f5dbd83cda feat: add backup and restore and DB man 2026-03-27 11:15:53 +00:00
Lloyd
031f7b5e47 feat: add identity_key support in repeater configuration and update related logic in config handling 2026-03-27 10:16:10 +00:00
Lloyd
8babc375f2 Merge pull request #160 from agessaman/feat/companion-timeout-change
fix: update default client idle timeout to 8 hours in RepeaterDaemon …
2026-03-26 09:21:26 +00:00
agessaman
3ca9ac56d8 fix: update default client idle timeout to 8 hours in RepeaterDaemon and CompanionFrameServer for improved session management 2026-03-25 16:14:30 -07:00
Lloyd
07a47523ab feat: enhance event loop handling for thread-safe scheduling in MeshCLI 2026-03-24 14:18:12 +00:00
Lloyd
400e707c3f feat: add help command and detailed command descriptions to MeshCLI 2026-03-24 14:12:32 +00:00
Lloyd
91918e7cfc feat: add CLI command endpoint and standalone CLI client for pyMC Repeater 2026-03-24 14:02:51 +00:00
Lloyd
d82c90a04d fix: MQTT schedule the reconnect timer before calling disconnect(), so by the time _on_broker_disconnected fires, the pending reconnect is already visible. 2026-03-24 12:33:33 +00:00
Lloyd
7fcad04f49 feat: enhance graceful shutdown handling in RepeaterDaemon and improve stale dist-info cleanup with sudo support 2026-03-24 10:02:43 +00:00
Lloyd
7bcab773dd feat: add default security configuration for repeater in load_config to fix from previous versions. 2026-03-24 09:23:16 +00:00
Lloyd
c35733e8c4 Merge pull request #159 from agessaman/feat/companion-dedup
feat: implement duplicate packet recording for UI visibility in RepeaterHandler
2026-03-24 09:13:51 +00:00
agessaman
744826199e feat: implement duplicate packet recording for UI visibility in RepeaterHandler
- Added record_duplicate method to RepeaterHandler to log known duplicate packets without forwarding.
- Enhanced RepeaterDaemon to subscribe to raw packets for deduplication logging, ensuring all path variants are visible in the UI.
- Updated recent_packets management to group duplicates under their original packets for better tracking.
2026-03-23 17:02:29 -07:00
Lloyd
369b420ae3 feat: enhance RepeaterHandler with duplicate packet limit and cache cleanup, add graceful shutdown handling in RepeaterDaemon, and increase PacketRouter queue size 2026-03-23 14:30:01 +00:00
Lloyd
7d73ca0df6 show full path hop hex and normalize case for traces and add new config observer UI 2026-03-22 22:52:16 +00:00
Lloyd
d11d957318 Merge pull request #158 from agessaman/feat/companion-traces
Fix multibyte trace handling for companion/repeater and exclude trace packets from _record_for_ui
2026-03-22 22:44:10 +00:00
agessaman
c5c94fe60a feat: exclude TRACE packets from logging in RepeaterHandler and PacketRouter
- Updated record_packet_only method to skip logging for TRACE packets, as TraceHelper manages trace paths.
- Enhanced documentation to clarify the handling of TRACE packets in the web UI.
- Added tests to ensure TRACE packets are not recorded, maintaining data integrity.
2026-03-22 15:26:28 -07:00
Lloyd
55fe9feddd feat: add useSignalQuality utility for signal strength evaluation 2026-03-22 22:26:18 +00:00
agessaman
3cb27d3310 feat: enhance trace processing and path handling in RepeaterDaemon and TraceHelper
- Added local_identity parameter to RepeaterDaemon for improved trace path matching.
- Refactored trace path handling in TraceHelper to support multi-byte hashes and structured hops.
- Updated methods to ensure compatibility with new trace data formats and improved logging.
- Enhanced tests to validate new trace processing logic and path handling.
2026-03-22 14:34:04 -07:00
Lloyd
0444f01280 Merge pull request #152 from agessaman/feat/companion-namefix 2026-03-22 10:39:25 +00:00
agessaman
2e25467c5d feat: enhance companion identity management and API documentation
- Added functionality to heal companion registration names with empty values.
- Improved handling of identity keys and public key derivation for companions.
- Updated API endpoints to support companion identity lookups using name, lookup_identity_key, or public_key_prefix.
- Enhanced OpenAPI documentation to clarify requirements for identity creation, updates, and deletions, including trimming whitespace from names.
2026-03-21 17:24:14 -07:00
Alan Barrow
4385befa2c Merge branch 'feat/companion' into iplog 2026-03-17 20:51:34 -04:00
Lloyd
ddaa62fa9e update UI with extra modes monitor/forward/no tx 2026-03-16 10:17:07 +00:00
Lloyd
24e003b677 Merge pull request #148 from agessaman/feat/companion-modes
feat: improve repeater TX mode functionality so companion tenants can TX while in monitor mode
2026-03-16 10:06:34 +00:00
agessaman
7558c5604c feat: enhance repeater TX mode functionality so companion tenants can TX while in monitor mode
- Modify TX modes: forward, monitor, and add no_tx, allowing for flexible packet handling.
- Updated configuration and API endpoints to support the new modes.
- Adjusted logic in RepeaterHandler to manage packet processing based on the selected mode.
- Enhanced CLI commands to reflect the new mode settings.
- Added tests for each TX mode to ensure correct behavior.
2026-03-15 13:03:18 -07:00
Lloyd
e0e807f65c Merge pull request #143 from dmduran12/feat/companion-ws-proxy
feat: add /ws/companion_frame WebSocket-to-TCP proxy
2026-03-13 15:55:15 +00:00
dmduran12
4ee2977236 feat: add /ws/companion_frame WebSocket proxy
Bridges browser WebSocket connections to companion TCP frame servers.
Uses configured bind_address (not hardcoded 127.0.0.1) so the proxy
works regardless of how the frame server is bound.

- JWT auth (same pattern as PacketWebSocket)
- Resolves companion by name → (host, port) from config
- Raw byte pipe: WS ↔ TCP, no protocol parsing
- Diagnostic logging throughout for troubleshooting

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-13 08:52:08 -07:00
Lloyd
810743fbf2 fix setup race between service restart and login redirect. 2026-03-13 09:15:28 +00:00
Lloyd
b35b964dbb Merge pull request #142 from agessaman/dev-companion-v2-cleanup
Add Companion seeding from repeater advert database, add companions connection status to sessions panel
2026-03-13 09:08:29 +00:00
Lloyd
07c6f14b4b Merge branch 'feat/companion' into dev-companion-v2-cleanup 2026-03-13 09:07:34 +00:00