akashcli 4.5.2__tar.gz → 4.5.3__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.
Files changed (31) hide show
  1. {akashcli-4.5.2 → akashcli-4.5.3}/PKG-INFO +2 -1
  2. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/relay.py +18 -6
  3. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/PKG-INFO +2 -1
  4. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/requires.txt +1 -0
  5. {akashcli-4.5.2 → akashcli-4.5.3}/pyproject.toml +2 -1
  6. {akashcli-4.5.2 → akashcli-4.5.3}/README.md +0 -0
  7. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/__init__.py +0 -0
  8. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/auth.py +0 -0
  9. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/cli.py +0 -0
  10. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/client.py +0 -0
  11. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/config.py +0 -0
  12. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/crypto.py +0 -0
  13. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/env_manager.py +0 -0
  14. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/exceptions.py +0 -0
  15. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/exec.py +0 -0
  16. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/integrity.py +0 -0
  17. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/logger.py +0 -0
  18. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/models.py +0 -0
  19. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/p2p.py +0 -0
  20. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/packages.py +0 -0
  21. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/restore.py +0 -0
  22. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/snapshot_crypto.py +0 -0
  23. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/storage.py +0 -0
  24. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/terminal.py +0 -0
  25. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/uploader.py +0 -0
  26. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli/utils.py +0 -0
  27. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/SOURCES.txt +0 -0
  28. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/dependency_links.txt +0 -0
  29. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/entry_points.txt +0 -0
  30. {akashcli-4.5.2 → akashcli-4.5.3}/akashcli.egg-info/top_level.txt +0 -0
  31. {akashcli-4.5.2 → akashcli-4.5.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akashcli
3
- Version: 4.5.2
3
+ Version: 4.5.3
4
4
  Summary: Akash CLI — secure remote shell relay, file vault, and device management
5
5
  License: MIT
6
6
  Keywords: akash,cli,relay,remote-shell,vault
@@ -12,6 +12,7 @@ Classifier: Topic :: Utilities
12
12
  Requires-Python: >=3.9
13
13
  Description-Content-Type: text/markdown
14
14
  Requires-Dist: httpx
15
+ Requires-Dist: certifi
15
16
  Requires-Dist: typer
16
17
  Requires-Dist: cryptography
17
18
  Requires-Dist: pydantic
@@ -560,20 +560,32 @@ def guest_serve(base_url: str) -> None:
560
560
  """
561
561
  import websockets.sync.client as _ws
562
562
 
563
- # 1. Get a pairing code — try httpx first, fall back to urllib (system certs)
563
+ # 1. Get a pairing code — use certifi CA bundle for SSL (works on Android/Termux)
564
564
  def _post_code(url: str) -> dict:
565
+ # Try httpx with certifi first (most reliable cross-platform)
565
566
  try:
566
567
  import httpx as _hx
567
- r = _hx.post(url, timeout=10)
568
+ try:
569
+ import certifi as _cf
570
+ _verify = _cf.where()
571
+ except ImportError:
572
+ _verify = True
573
+ r = _hx.post(url, timeout=10, verify=_verify)
568
574
  r.raise_for_status()
569
575
  return r.json()
570
576
  except Exception:
571
577
  pass
572
- # urllib fallback — uses system CA bundle, works on Android/Termux
573
- import urllib.request as _ur, urllib.error as _ue
578
+ # urllib fallback — load certifi bundle if available, else skip verify
579
+ import urllib.request as _ur, ssl as _ssl, json as _j
580
+ try:
581
+ import certifi as _cf2
582
+ _ctx = _ssl.create_default_context(cafile=_cf2.where())
583
+ except ImportError:
584
+ _ctx = _ssl.create_default_context()
585
+ _ctx.check_hostname = False
586
+ _ctx.verify_mode = _ssl.CERT_NONE
574
587
  req = _ur.Request(url, data=b"", method="POST")
575
- with _ur.urlopen(req, timeout=10) as resp:
576
- import json as _j
588
+ with _ur.urlopen(req, timeout=10, context=_ctx) as resp:
577
589
  return _j.loads(resp.read())
578
590
 
579
591
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akashcli
3
- Version: 4.5.2
3
+ Version: 4.5.3
4
4
  Summary: Akash CLI — secure remote shell relay, file vault, and device management
5
5
  License: MIT
6
6
  Keywords: akash,cli,relay,remote-shell,vault
@@ -12,6 +12,7 @@ Classifier: Topic :: Utilities
12
12
  Requires-Python: >=3.9
13
13
  Description-Content-Type: text/markdown
14
14
  Requires-Dist: httpx
15
+ Requires-Dist: certifi
15
16
  Requires-Dist: typer
16
17
  Requires-Dist: cryptography
17
18
  Requires-Dist: pydantic
@@ -1,4 +1,5 @@
1
1
  httpx
2
+ certifi
2
3
  typer
3
4
  cryptography
4
5
  pydantic
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "akashcli"
3
- version = "4.5.2"
3
+ version = "4.5.3"
4
4
  description = "Akash CLI — secure remote shell relay, file vault, and device management"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -15,6 +15,7 @@ classifiers = [
15
15
  ]
16
16
  dependencies = [
17
17
  "httpx",
18
+ "certifi",
18
19
  "typer",
19
20
  "cryptography",
20
21
  "pydantic",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes