vssh 3.6.6__tar.gz → 3.6.7__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vssh
3
- Version: 3.6.6
3
+ Version: 3.6.7
4
4
  Summary: Secure SSH/SCP tool with Tailscale failover, P2P transport, and MCP server
5
5
  Author-email: MeshPOP <mpop@mpop.dev>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vssh"
7
- version = "3.6.6"
7
+ version = "3.6.7"
8
8
  description = "Secure SSH/SCP tool with Tailscale failover, P2P transport, and MCP server"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vssh
3
- Version: 3.6.6
3
+ Version: 3.6.7
4
4
  Summary: Secure SSH/SCP tool with Tailscale failover, P2P transport, and MCP server
5
5
  Author-email: MeshPOP <mpop@mpop.dev>
6
6
  License: MIT
@@ -4017,7 +4017,7 @@ Env: VSSH_SECRET
4017
4017
  result['info'] = json.loads(buf.decode())
4018
4018
  except (json.JSONDecodeError, ValueError, UnicodeDecodeError) as e:
4019
4019
  pass # e silenced
4020
- s.close()
4020
+ s.close() # Always close — was only in full_mode, causing 13 dangling sockets on regular status
4021
4021
  except OSError:
4022
4022
  pass # safe to ignore
4023
4023
  return result
@@ -4032,7 +4032,7 @@ Env: VSSH_SECRET
4032
4032
  total = 0
4033
4033
  # Run checks in parallel for speed
4034
4034
  results = []
4035
- with concurrent.futures.ThreadPoolExecutor(max_workers=14) as pool:
4035
+ with concurrent.futures.ThreadPoolExecutor(max_workers=5) as pool: # 5 concurrent: limits WireGuard handshake burst that disrupts active sessions
4036
4036
  futures = {pool.submit(_check_node, n, ip): n for n, ip in sorted(_servers.items()) if ip}
4037
4037
  for f in concurrent.futures.as_completed(futures):
4038
4038
  results.append(f.result())
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes