chankhavu commited on
Commit
478cb64
·
verified ·
1 Parent(s): 584ddff

daemon: default client id = user@ip

Browse files
daemon/__pycache__/client.cpython-311.pyc ADDED
Binary file (14.4 kB). View file
 
daemon/client.py CHANGED
@@ -20,6 +20,8 @@ import os
20
  import sys
21
  import time
22
  import signal
 
 
23
  import threading
24
  import subprocess
25
  import uuid
@@ -27,10 +29,35 @@ import queue as queuelib
27
 
28
  from gradio_client import Client
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  SPACE = os.environ.get("RELAY_SPACE", "")
31
  SECRET = os.environ.get("RELAY_SECRET", "")
32
  HF_TOKEN = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN")
33
- CLIENT_ID = os.environ.get("CLIENT_ID") or os.uname().nodename
34
  POLL_INTERVAL = float(os.environ.get("POLL_INTERVAL", "5"))
35
  DEFAULT_TIMEOUT = int(os.environ.get("CMD_TIMEOUT", "120"))
36
  MAX_OUTPUT_CHARS = 200_000
 
20
  import sys
21
  import time
22
  import signal
23
+ import socket
24
+ import getpass
25
  import threading
26
  import subprocess
27
  import uuid
 
29
 
30
  from gradio_client import Client
31
 
32
+
33
+ def _primary_ip() -> str:
34
+ """Best-effort local IP. The UDP 'connect' just picks the outbound route's
35
+ source address; no packets are sent and the host need not be reachable."""
36
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
37
+ try:
38
+ s.connect(("8.8.8.8", 80))
39
+ return s.getsockname()[0]
40
+ except OSError:
41
+ try:
42
+ return socket.gethostbyname(socket.gethostname())
43
+ except OSError:
44
+ return os.uname().nodename
45
+ finally:
46
+ s.close()
47
+
48
+
49
+ def _default_client_id() -> str:
50
+ try:
51
+ user = getpass.getuser()
52
+ except Exception:
53
+ user = os.environ.get("USER") or "user"
54
+ return f"{user}@{_primary_ip()}"
55
+
56
+
57
  SPACE = os.environ.get("RELAY_SPACE", "")
58
  SECRET = os.environ.get("RELAY_SECRET", "")
59
  HF_TOKEN = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN")
60
+ CLIENT_ID = os.environ.get("CLIENT_ID") or _default_client_id()
61
  POLL_INTERVAL = float(os.environ.get("POLL_INTERVAL", "5"))
62
  DEFAULT_TIMEOUT = int(os.environ.get("CMD_TIMEOUT", "120"))
63
  MAX_OUTPUT_CHARS = 200_000