remoteRF-server 0.1.83__tar.gz → 0.1.85__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/PKG-INFO +1 -1
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/pyproject.toml +1 -1
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/host/host_tunnel_server.py +3 -1
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/device_manager.py +15 -16
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/grpc_server.py +10 -17
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/PKG-INFO +1 -1
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/README.md +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/setup.cfg +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_host_pb2.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_pb2.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/ansi_codes.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/api_token.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/db_connection.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/db_location.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/list_string.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/process_arg.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/drivers/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/host/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/host/host_directory_store.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/acc_perms.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/cert_provider.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/reservation.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/rpc_manager.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/user_group_cli.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/user_group_handler.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/serverrf_cli.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/tools/__init__.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/tools/gen_certs.py +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/SOURCES.txt +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/dependency_links.txt +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/entry_points.txt +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/requires.txt +0 -0
- {remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/top_level.txt +0 -0
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/device_manager.py
RENAMED
|
@@ -21,11 +21,25 @@ from ..host import host_tunnel_server as hts # gives access to hts.TUNNEL_REGIS
|
|
|
21
21
|
|
|
22
22
|
import time # add near imports
|
|
23
23
|
|
|
24
|
+
_state_lock = threading.RLock()
|
|
25
|
+
|
|
26
|
+
@dataclass
|
|
27
|
+
class _DeviceState:
|
|
28
|
+
dev: object
|
|
29
|
+
salt: str
|
|
30
|
+
hsh: str
|
|
31
|
+
name: str
|
|
32
|
+
ident: str
|
|
33
|
+
dtype: str
|
|
34
|
+
io_lock: threading.RLock
|
|
35
|
+
|
|
36
|
+
# gid -> state
|
|
37
|
+
_devices: Dict[int, _DeviceState] = {}
|
|
38
|
+
|
|
24
39
|
# -----------------------------
|
|
25
40
|
# Host device pulling/grabbing
|
|
26
41
|
# -----------------------------
|
|
27
42
|
|
|
28
|
-
|
|
29
43
|
def _get_host_registry():
|
|
30
44
|
# host_tunnel_server sets this when the tunnel server starts
|
|
31
45
|
return getattr(hts, "TUNNEL_REGISTRY", None)
|
|
@@ -278,21 +292,6 @@ def _connect_from_record(rec: Dict[str, str]):
|
|
|
278
292
|
# Thread-safe runtime state
|
|
279
293
|
# -----------------------------
|
|
280
294
|
|
|
281
|
-
_state_lock = threading.RLock()
|
|
282
|
-
|
|
283
|
-
@dataclass
|
|
284
|
-
class _DeviceState:
|
|
285
|
-
dev: object
|
|
286
|
-
salt: str
|
|
287
|
-
hsh: str
|
|
288
|
-
name: str
|
|
289
|
-
ident: str
|
|
290
|
-
dtype: str
|
|
291
|
-
io_lock: threading.RLock
|
|
292
|
-
|
|
293
|
-
# gid -> state
|
|
294
|
-
_devices: Dict[int, _DeviceState] = {}
|
|
295
|
-
|
|
296
295
|
# legacy maps (kept for your existing server calls/UI)
|
|
297
296
|
devices_info: Dict[int, str] = {}
|
|
298
297
|
device_serialization: Dict[int, str] = {}
|
|
@@ -39,6 +39,7 @@ from .device_manager import get_all_devices, get_all_devices_str
|
|
|
39
39
|
from .user_group_cli import make_user_group_local, edit_user_group_local, list_user_groups_local, remove_user_group_local, make_enrollment_codes_local, remove_enrollment_code_local, list_enrollment_codes_local, export_user_groups_csv_local, export_enrollment_codes_csv_local
|
|
40
40
|
from .user_group_handler import user_group_handler, start_usergroup_cleanup_loop
|
|
41
41
|
|
|
42
|
+
from ..host import host_tunnel_server as hts
|
|
42
43
|
from ..host.host_tunnel_server import HostTunnelRegistry, HostTunnelServicer
|
|
43
44
|
from ..common.grpc import grpc_host_pb2_grpc as host_tunnel_pb2_grpc
|
|
44
45
|
from ..common.grpc import grpc_host_pb2 as host_tunnel_pb2
|
|
@@ -48,7 +49,6 @@ from prompt_toolkit import PromptSession
|
|
|
48
49
|
|
|
49
50
|
from pathlib import Path
|
|
50
51
|
|
|
51
|
-
|
|
52
52
|
def _xdg_config_home() -> Path:
|
|
53
53
|
return Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config"))
|
|
54
54
|
|
|
@@ -92,8 +92,6 @@ def _get_port(name: str, *, default: int | None = None) -> int:
|
|
|
92
92
|
raise SystemExit(f"{name} out of range (1..65535): {n}")
|
|
93
93
|
return n
|
|
94
94
|
|
|
95
|
-
TUNNEL_REGISTRY: HostTunnelRegistry | None = None
|
|
96
|
-
|
|
97
95
|
session = PromptSession()
|
|
98
96
|
|
|
99
97
|
from dotenv import load_dotenv, find_dotenv
|
|
@@ -208,16 +206,14 @@ def serve():
|
|
|
208
206
|
# Create server credentials
|
|
209
207
|
server_credentials = grpc.ssl_server_credentials(
|
|
210
208
|
((private_key, certificate_chain,),))
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
global TUNNEL_REGISTRY
|
|
217
|
-
TUNNEL_REGISTRY = HostTunnelRegistry()
|
|
209
|
+
|
|
210
|
+
reg = HostTunnelRegistry()
|
|
211
|
+
|
|
212
|
+
# publish registry where device_manager expects it
|
|
213
|
+
hts.TUNNEL_REGISTRY = reg
|
|
218
214
|
|
|
219
215
|
host_tunnel_pb2_grpc.add_HostTunnelServicer_to_server(
|
|
220
|
-
HostTunnelServicer(
|
|
216
|
+
HostTunnelServicer(reg),
|
|
221
217
|
server
|
|
222
218
|
)
|
|
223
219
|
|
|
@@ -391,8 +387,7 @@ def _fmt_ms_ago(ms: int) -> str:
|
|
|
391
387
|
return f"{dt/60_000:.1f}m"
|
|
392
388
|
|
|
393
389
|
def _cmd_hosts_status() -> None:
|
|
394
|
-
|
|
395
|
-
reg = TUNNEL_REGISTRY
|
|
390
|
+
reg = getattr(hts, "TUNNEL_REGISTRY", None)
|
|
396
391
|
if reg is None:
|
|
397
392
|
printf("Host tunnel registry not initialized yet.", Sty.RED)
|
|
398
393
|
return
|
|
@@ -432,8 +427,7 @@ def _cmd_hosts_status() -> None:
|
|
|
432
427
|
)
|
|
433
428
|
|
|
434
429
|
def _cmd_devices_status() -> None:
|
|
435
|
-
|
|
436
|
-
reg = TUNNEL_REGISTRY
|
|
430
|
+
reg = getattr(hts, "TUNNEL_REGISTRY", None)
|
|
437
431
|
if reg is None:
|
|
438
432
|
printf("Host tunnel registry not initialized yet.", Sty.RED)
|
|
439
433
|
return
|
|
@@ -753,8 +747,7 @@ def _cmd_hosts_wipe(*, yes: bool = False) -> None:
|
|
|
753
747
|
return
|
|
754
748
|
|
|
755
749
|
# 2) clear in-memory registry (THIS is what drives `hosts status`)
|
|
756
|
-
|
|
757
|
-
reg = TUNNEL_REGISTRY
|
|
750
|
+
reg = getattr(hts, "TUNNEL_REGISTRY", None)
|
|
758
751
|
if reg is None:
|
|
759
752
|
printf("Host tunnel registry not initialized; only persisted wipe attempted.", Sty.GRAY)
|
|
760
753
|
else:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_host_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_pb2.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/ansi_codes.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/api_token.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/db_connection.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/db_location.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/list_string.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/common/utils/process_arg.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/host/host_directory_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/cert_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/user_group_cli.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server/server/user_group_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.83 → remoterf_server-0.1.85}/src/remoteRF_server.egg-info/top_level.txt
RENAMED
|
File without changes
|