pyntcli 0.1.97__py3-none-any.whl → 0.1.99__py3-none-any.whl
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.
- pyntcli/__init__.py +1 -1
- pyntcli/commands/burp.py +2 -1
- pyntcli/commands/command.py +2 -1
- pyntcli/commands/har.py +2 -2
- pyntcli/commands/listen.py +2 -1
- pyntcli/commands/newman.py +2 -2
- pyntcli/commands/postman.py +2 -2
- pyntcli/main.py +2 -2
- pyntcli/pynt_docker/pynt_container.py +25 -12
- {pyntcli-0.1.97.dist-info → pyntcli-0.1.99.dist-info}/METADATA +1 -1
- {pyntcli-0.1.97.dist-info → pyntcli-0.1.99.dist-info}/RECORD +14 -14
- {pyntcli-0.1.97.dist-info → pyntcli-0.1.99.dist-info}/WHEEL +1 -1
- {pyntcli-0.1.97.dist-info → pyntcli-0.1.99.dist-info}/entry_points.txt +0 -0
- {pyntcli-0.1.97.dist-info → pyntcli-0.1.99.dist-info}/top_level.txt +0 -0
pyntcli/__init__.py
CHANGED
pyntcli/commands/burp.py
CHANGED
|
@@ -228,6 +228,7 @@ class BurpCommand(sub_command.PyntSubCommand):
|
|
|
228
228
|
|
|
229
229
|
def run_cmd(self, args: argparse.Namespace):
|
|
230
230
|
container = pynt_container.get_container_with_arguments(
|
|
231
|
+
"proxy",
|
|
231
232
|
args,
|
|
232
233
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
|
|
233
234
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"),
|
|
@@ -287,7 +288,7 @@ class BurpCommand(sub_command.PyntSubCommand):
|
|
|
287
288
|
|
|
288
289
|
proxy_docker = pynt_container.PyntContainer(
|
|
289
290
|
image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
290
|
-
tag="
|
|
291
|
+
tag="v1-latest",
|
|
291
292
|
detach=True,
|
|
292
293
|
base_container=container,
|
|
293
294
|
use_native=args.use_docker_native)
|
pyntcli/commands/command.py
CHANGED
|
@@ -146,6 +146,7 @@ class CommandSubCommand(sub_command.PyntSubCommand):
|
|
|
146
146
|
|
|
147
147
|
def run_cmd(self, args: argparse.Namespace):
|
|
148
148
|
container = pynt_container.get_container_with_arguments(
|
|
149
|
+
"proxy",
|
|
149
150
|
args,
|
|
150
151
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
|
|
151
152
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"),
|
|
@@ -178,7 +179,7 @@ class CommandSubCommand(sub_command.PyntSubCommand):
|
|
|
178
179
|
|
|
179
180
|
proxy_docker = pynt_container.PyntContainer(
|
|
180
181
|
image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
181
|
-
tag="
|
|
182
|
+
tag="v1-latest",
|
|
182
183
|
detach=True,
|
|
183
184
|
base_container=container,
|
|
184
185
|
use_native=args.use_docker_native)
|
pyntcli/commands/har.py
CHANGED
|
@@ -59,7 +59,7 @@ class HarSubCommand(sub_command.PyntSubCommand):
|
|
|
59
59
|
ui_thread.print_verbose("Building container")
|
|
60
60
|
port = util.find_open_port()
|
|
61
61
|
container = pynt_container.get_container_with_arguments(
|
|
62
|
-
args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
|
|
62
|
+
"har", args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
if not os.path.isfile(args.har):
|
|
@@ -88,7 +88,7 @@ class HarSubCommand(sub_command.PyntSubCommand):
|
|
|
88
88
|
|
|
89
89
|
har_docker = pynt_container.PyntContainer(
|
|
90
90
|
image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
91
|
-
tag="
|
|
91
|
+
tag="v1-latest",
|
|
92
92
|
detach=True,
|
|
93
93
|
base_container=container,
|
|
94
94
|
use_native=args.use_docker_native)
|
pyntcli/commands/listen.py
CHANGED
|
@@ -107,6 +107,7 @@ class ListenSubCommand(sub_command.PyntSubCommand):
|
|
|
107
107
|
|
|
108
108
|
def run_cmd(self, args: argparse.Namespace):
|
|
109
109
|
container = pynt_container.get_container_with_arguments(
|
|
110
|
+
"proxy",
|
|
110
111
|
args,
|
|
111
112
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
|
|
112
113
|
pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"))
|
|
@@ -137,7 +138,7 @@ class ListenSubCommand(sub_command.PyntSubCommand):
|
|
|
137
138
|
|
|
138
139
|
proxy_docker = pynt_container.PyntContainer(
|
|
139
140
|
image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
140
|
-
tag="
|
|
141
|
+
tag="v1-latest",
|
|
141
142
|
detach=True,
|
|
142
143
|
base_container=container)
|
|
143
144
|
|
pyntcli/commands/newman.py
CHANGED
|
@@ -58,7 +58,7 @@ class NewmanSubCommand(sub_command.PyntSubCommand):
|
|
|
58
58
|
|
|
59
59
|
port = util.find_open_port()
|
|
60
60
|
container = pynt_container.get_container_with_arguments(
|
|
61
|
-
args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
|
|
61
|
+
"newman", args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
|
|
62
62
|
)
|
|
63
63
|
|
|
64
64
|
if not os.path.isfile(args.collection):
|
|
@@ -102,7 +102,7 @@ class NewmanSubCommand(sub_command.PyntSubCommand):
|
|
|
102
102
|
container.mounts += m
|
|
103
103
|
newman_docker = pynt_container.PyntContainer(
|
|
104
104
|
image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
105
|
-
tag="
|
|
105
|
+
tag="v1-latest",
|
|
106
106
|
detach=True,
|
|
107
107
|
base_container=container,
|
|
108
108
|
use_native=args.use_docker_native)
|
pyntcli/commands/postman.py
CHANGED
|
@@ -95,10 +95,10 @@ class PostmanSubCommand(sub_command.PyntSubCommand):
|
|
|
95
95
|
ui_thread.print("application-id is not supported in postman integration, use the collection variables to set application id.")
|
|
96
96
|
args.application_id = ""
|
|
97
97
|
|
|
98
|
-
container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, name="--port"))
|
|
98
|
+
container = pynt_container.get_container_with_arguments("postman", args, pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, name="--port"))
|
|
99
99
|
|
|
100
100
|
postman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
101
|
-
tag="
|
|
101
|
+
tag="v1-latest",
|
|
102
102
|
detach=True,
|
|
103
103
|
base_container=container,
|
|
104
104
|
use_native=args.use_docker_native)
|
pyntcli/main.py
CHANGED
|
@@ -35,9 +35,9 @@ def signal_handler(signal_number, frame):
|
|
|
35
35
|
|
|
36
36
|
def get_docker_platform_name(use_docker_native: bool = False) -> str:
|
|
37
37
|
if use_docker_native:
|
|
38
|
-
return pynt_container.
|
|
38
|
+
return pynt_container.get_docker_platform_by_native_command()
|
|
39
39
|
|
|
40
|
-
return pynt_container.
|
|
40
|
+
return pynt_container.get_docker_platform_by_sdk()
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
def print_header():
|
|
@@ -18,7 +18,7 @@ from pyntcli.store import CredStore
|
|
|
18
18
|
from pyntcli.auth.login import PYNT_ID, PYNT_SAAS, PYNT_BUCKET_NAME, PYNT_PARAM1, PYNT_PARAM2
|
|
19
19
|
|
|
20
20
|
PYNT_DOCKER_IMAGE = "ghcr.io/pynt-io/pynt"
|
|
21
|
-
IMAGE_TAGS = ["postman-latest", "newman-latest", "har-latest", "proxy-latest"]
|
|
21
|
+
IMAGE_TAGS = ["postman-latest", "newman-latest", "har-latest", "proxy-latest", "v1-latest"]
|
|
22
22
|
|
|
23
23
|
PYNT_CONTAINER_INTERNAL_PORT = "5001"
|
|
24
24
|
|
|
@@ -46,17 +46,17 @@ class PortInUseException(Exception):
|
|
|
46
46
|
super().__init__(self.message)
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
def
|
|
49
|
+
def get_docker_platform_by_native_command():
|
|
50
50
|
try:
|
|
51
51
|
version_data = json.loads(subprocess.check_output(["docker", "version", "--format", "{{json .}}"], text=True))
|
|
52
|
-
platform = version_data.get("
|
|
52
|
+
platform = version_data.get("Server", {}).get("Platform", {})
|
|
53
53
|
analytics.deferred_emit(analytics.DOCKER_PLATFORM, platform)
|
|
54
54
|
return platform.get("Name", "")
|
|
55
55
|
except Exception:
|
|
56
56
|
raise DockerNotAvailableException()
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
def
|
|
59
|
+
def get_docker_platform_by_sdk():
|
|
60
60
|
try:
|
|
61
61
|
c = docker.from_env()
|
|
62
62
|
version_data = c.version()
|
|
@@ -88,20 +88,33 @@ class PyntDockerPort:
|
|
|
88
88
|
self.name = name
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
def
|
|
92
|
-
|
|
91
|
+
def is_network_host(use_docker_sdk: bool) -> bool:
|
|
92
|
+
platform_sys_name = platform.system()
|
|
93
|
+
if platform_sys_name == "Windows" or platform_sys_name == "Darwin":
|
|
94
|
+
return False
|
|
95
|
+
else:
|
|
96
|
+
docker_platform_name = get_docker_platform_by_sdk().lower() if use_docker_sdk else get_docker_platform_by_native_command().lower()
|
|
97
|
+
if "desktop" in docker_platform_name:
|
|
98
|
+
return False
|
|
99
|
+
return True
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def get_container_with_arguments(integration: str, args: argparse.Namespace, *port_args: PyntDockerPort) \
|
|
103
|
+
-> PyntBaseContainer:
|
|
104
|
+
docker_arguments = [integration]
|
|
93
105
|
ports = {}
|
|
106
|
+
create_network_host = is_network_host(args.use_docker_native)
|
|
94
107
|
for p in port_args:
|
|
95
|
-
if
|
|
96
|
-
ports[str(p.src)] = int(p.dest)
|
|
97
|
-
else:
|
|
108
|
+
if create_network_host:
|
|
98
109
|
docker_arguments.append(p.name)
|
|
99
110
|
docker_arguments.append(str(p.dest))
|
|
111
|
+
else:
|
|
112
|
+
ports[str(p.src)] = int(p.dest)
|
|
100
113
|
|
|
101
|
-
if
|
|
102
|
-
docker_type = PyntDockerDesktopContainer(ports=ports)
|
|
103
|
-
else:
|
|
114
|
+
if create_network_host:
|
|
104
115
|
docker_type = PyntNativeContainer(network="host")
|
|
116
|
+
else:
|
|
117
|
+
docker_type = PyntDockerDesktopContainer(ports=ports)
|
|
105
118
|
|
|
106
119
|
if "insecure" in args and args.insecure:
|
|
107
120
|
docker_arguments.append("--insecure")
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
ignoreTests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
|
|
2
2
|
ignoreTests/auth/login.py,sha256=KFlzWhXBAuwdi7GXf16gCB3ya94LQG2wjcSChE149rQ,3798
|
|
3
3
|
ignoreTests/store/cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
|
|
4
|
-
pyntcli/__init__.py,sha256=
|
|
5
|
-
pyntcli/main.py,sha256
|
|
4
|
+
pyntcli/__init__.py,sha256=96CSieH-K5R3B_CG2Gfc3dNu3WA01VqXDKUfJ__2Pdg,402
|
|
5
|
+
pyntcli/main.py,sha256=-INlAS5ks6ofT38Nap0FylRYjCdrLZLuTn5-Pea5UXY,6528
|
|
6
6
|
pyntcli/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
pyntcli/analytics/send.py,sha256=9TRAEoPbv4rWOZfcNaGanrRJAFvNs39P-uKSl49GcQE,3679
|
|
8
8
|
pyntcli/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
pyntcli/auth/login.py,sha256=TljsRXbEkNI1YUrKm5mlTw4YiecYScYUsit8Z8vstss,5228
|
|
10
10
|
pyntcli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
pyntcli/commands/burp.py,sha256=
|
|
12
|
-
pyntcli/commands/command.py,sha256=
|
|
13
|
-
pyntcli/commands/har.py,sha256=
|
|
11
|
+
pyntcli/commands/burp.py,sha256=z6_kYEL6cXNg5yFFR4d8UAgJGTLn3XgUNWsqCBhsJoE,12398
|
|
12
|
+
pyntcli/commands/command.py,sha256=Aw2wb4pV99r9ot6gC2ckqg_1379PZLfudQZ3Igx8Lds,11143
|
|
13
|
+
pyntcli/commands/har.py,sha256=YekPhsbIuuw_lNby97CPDNkEJysFycr_cx-8nPTX6Co,4470
|
|
14
14
|
pyntcli/commands/id_command.py,sha256=UBEgMIpm4vauTCsKyixltiGUolNg_OfHEJvJ_i5BpJY,943
|
|
15
|
-
pyntcli/commands/listen.py,sha256=
|
|
16
|
-
pyntcli/commands/newman.py,sha256=
|
|
17
|
-
pyntcli/commands/postman.py,sha256=
|
|
15
|
+
pyntcli/commands/listen.py,sha256=UERWRArlJQGbM9-bZzG4OlDD7r73UxdwHFWWzxkNObE,9081
|
|
16
|
+
pyntcli/commands/newman.py,sha256=n1eNjeE6dEPjq9Sax9MXcZCJLzn29MidLjV2GeVYmPU,5307
|
|
17
|
+
pyntcli/commands/postman.py,sha256=b_nF-ryleENUrr1RzqmzhJmhWR4IWPw0ehS9y_11m4U,5262
|
|
18
18
|
pyntcli/commands/pynt_cmd.py,sha256=T7jee0yw67Zth3lTkSDInCLnbu_IhpNqb7GqnTiTceQ,7012
|
|
19
19
|
pyntcli/commands/root.py,sha256=4yeGlTeL3Xu2xlSbMYhhaDwUnP29sF2Y2sxq8E1P3lo,3986
|
|
20
20
|
pyntcli/commands/static_file_extensions.py,sha256=PZJb02BI-64tbU-j3rdCNsXzTh7gkIDGxGKbKNw3h5k,1995
|
|
@@ -24,7 +24,7 @@ pyntcli/log/__init__.py,sha256=cOGwOYzMoshEbZiiasBGkj6wF0SBu3Jdpl-AuakDesw,19
|
|
|
24
24
|
pyntcli/log/log.py,sha256=cWCdWmUaAwePwdhYDcgNMEG9d9RM34sGahxBCYEdv2Y,1069
|
|
25
25
|
pyntcli/pynt_docker/__init__.py,sha256=PQIOVxc7XXtMLfEX7ojgwf_Z3mmTllO3ZvzUZTPOxQY,30
|
|
26
26
|
pyntcli/pynt_docker/container_utils.py,sha256=_Onn7loInzyJAG2-Uk6CGpsuRyelmUFHOvtJj4Uzi9A,175
|
|
27
|
-
pyntcli/pynt_docker/pynt_container.py,sha256=
|
|
27
|
+
pyntcli/pynt_docker/pynt_container.py,sha256=Fbm03hofQR7F5_wQaJ2NgEjBE8TvYE7_fv5K_ps4y7M,19499
|
|
28
28
|
pyntcli/store/__init__.py,sha256=1fP8cEAQCF_myja3gnhHH9FEqtBiOJ-2aBmUXSKBdFA,41
|
|
29
29
|
pyntcli/store/json_connector.py,sha256=UGs3uORw3iyn0YJ8kzab-veEZToA6d-ByXYuqEleWsA,560
|
|
30
30
|
pyntcli/store/store.py,sha256=ZLSe0WAjHDp8cSt4BBFDkPGRux4cgOo5UfF7V4naM7U,2559
|
|
@@ -39,8 +39,8 @@ pyntcli/ui/report.py,sha256=W-icPSZrGLOubXgam0LpOvHLl_aZg9Zx9qIkL8Ym5PE,1930
|
|
|
39
39
|
pyntcli/ui/ui_thread.py,sha256=XUBgLpYQjVhrilU-ofw7VSXgTiwneSdTxm61EvC3x4Q,5091
|
|
40
40
|
tests/test_utils.py,sha256=t5fTQUk1U_Js6iMxcGYGqt4C-crzOJ0CqCKtLkRtUi0,2050
|
|
41
41
|
tests/commands/test_pynt_cmd.py,sha256=BjGFCFACcSziLrNA6_27t6TjSmvdu54wx9njwLpRSJY,8379
|
|
42
|
-
pyntcli-0.1.
|
|
43
|
-
pyntcli-0.1.
|
|
44
|
-
pyntcli-0.1.
|
|
45
|
-
pyntcli-0.1.
|
|
46
|
-
pyntcli-0.1.
|
|
42
|
+
pyntcli-0.1.99.dist-info/METADATA,sha256=6jNnyPGykzIJa0hDpAMadLZYm3FznLEz5g8Th7n2wF0,493
|
|
43
|
+
pyntcli-0.1.99.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
44
|
+
pyntcli-0.1.99.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
|
|
45
|
+
pyntcli-0.1.99.dist-info/top_level.txt,sha256=64XSgBzSpgwjYjEKHZE7q3JH2a816zEeyZBXfJi3AKI,42
|
|
46
|
+
pyntcli-0.1.99.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|