ipclick 2.1.0__tar.gz → 2.1.1__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 (124) hide show
  1. {ipclick-2.1.0 → ipclick-2.1.1}/PKG-INFO +2 -2
  2. {ipclick-2.1.0 → ipclick-2.1.1}/pyproject.toml +3 -3
  3. {ipclick-2.1.0 → ipclick-2.1.1}/pyproject.toml.orig +3 -3
  4. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/__init__.py +1 -1
  5. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cli/agent.py +2 -1
  6. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/task_pb2_grpc.py +1 -1
  7. {ipclick-2.1.0 → ipclick-2.1.1}/LICENSE +0 -0
  8. {ipclick-2.1.0 → ipclick-2.1.1}/README.md +0 -0
  9. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/__main__.py +0 -0
  10. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/__init__.py +0 -0
  11. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/base.py +0 -0
  12. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/browser_adapter.py +0 -0
  13. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/browser_engines.py +0 -0
  14. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/browser_settings.py +0 -0
  15. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/curl_cffi_adapter.py +0 -0
  16. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/drission_adapter.py +0 -0
  17. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/niquests_adapter.py +0 -0
  18. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/redirects.py +0 -0
  19. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/registry.py +0 -0
  20. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/retry.py +0 -0
  21. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/sessions.py +0 -0
  22. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/adapters/settings.py +0 -0
  23. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/aio.py +0 -0
  24. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/async_limiter.py +0 -0
  25. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/async_server.py +0 -0
  26. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/auth.py +0 -0
  27. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cli/__init__.py +0 -0
  28. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cli/main.py +0 -0
  29. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cli/output.py +0 -0
  30. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cli/skill_cmd.py +0 -0
  31. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/__init__.py +0 -0
  32. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/async_forwarder.py +0 -0
  33. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/balancer.py +0 -0
  34. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/client.py +0 -0
  35. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/discovery.py +0 -0
  36. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/forwarder.py +0 -0
  37. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/node.py +0 -0
  38. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/pool.py +0 -0
  39. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/probe.py +0 -0
  40. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/status_page.py +0 -0
  41. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/cluster/tokens.py +0 -0
  42. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/components.py +0 -0
  43. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/compression.py +0 -0
  44. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/__init__.py +0 -0
  45. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/dotenv.py +0 -0
  46. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/env_writer.py +0 -0
  47. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/loader.py +0 -0
  48. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/placeholders.py +0 -0
  49. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/config_loader/writer.py +0 -0
  50. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/configs/__init__.py +0 -0
  51. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/configs/default_config.toml +0 -0
  52. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/__init__.py +0 -0
  53. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/models.py +0 -0
  54. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/__init__.py +0 -0
  55. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/generate.py +0 -0
  56. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/task.proto +0 -0
  57. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/task_pb2.py +0 -0
  58. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/proto/task_pb2.pyi +0 -0
  59. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/dto/response.py +0 -0
  60. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/exceptions.py +0 -0
  61. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/factory.py +0 -0
  62. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/health.py +0 -0
  63. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/limiter.py +0 -0
  64. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/multiprocess.py +0 -0
  65. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/ports.py +0 -0
  66. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/protocols.py +0 -0
  67. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/py.typed +0 -0
  68. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/resume.py +0 -0
  69. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/rpc/__init__.py +0 -0
  70. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/rpc/channel.py +0 -0
  71. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/rpc/options.py +0 -0
  72. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/sdk.py +0 -0
  73. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/secrets.py +0 -0
  74. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/server.py +0 -0
  75. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/server_settings.py +0 -0
  76. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/__init__.py +0 -0
  77. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/async_task_service.py +0 -0
  78. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/components.py +0 -0
  79. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/detached.py +0 -0
  80. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/errors.py +0 -0
  81. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/services/task_service.py +0 -0
  82. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/skill.py +0 -0
  83. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/skills/ipclick/SKILL.md +0 -0
  84. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/tls.py +0 -0
  85. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/trace/__init__.py +0 -0
  86. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/trace/counters.py +0 -0
  87. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/trace/recorder.py +0 -0
  88. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/trace/records.py +0 -0
  89. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/trace/store.py +0 -0
  90. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/__init__.py +0 -0
  91. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/coerce.py +0 -0
  92. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/config_util.py +0 -0
  93. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/log_util.py +0 -0
  94. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/module_probe.py +0 -0
  95. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/path_util.py +0 -0
  96. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/secure_util.py +0 -0
  97. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/utils/url_util.py +0 -0
  98. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/__init__.py +0 -0
  99. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/assets.py +0 -0
  100. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/auth.py +0 -0
  101. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/curl_parser.py +0 -0
  102. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/deploy.py +0 -0
  103. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/editable.py +0 -0
  104. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/installer.py +0 -0
  105. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/__init__.py +0 -0
  106. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/components.py +0 -0
  107. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/context.py +0 -0
  108. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/sandbox.py +0 -0
  109. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/settings.py +0 -0
  110. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/skill.py +0 -0
  111. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/pages/trace.py +0 -0
  112. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/proxy_tunnel.py +0 -0
  113. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/server.py +0 -0
  114. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/snapshot.py +0 -0
  115. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/__init__.py +0 -0
  116. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/base.py +0 -0
  117. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/components.py +0 -0
  118. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/config.py +0 -0
  119. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/dashboard.py +0 -0
  120. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/deploy.py +0 -0
  121. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/login.py +0 -0
  122. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/sandbox.py +0 -0
  123. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/skill.py +0 -0
  124. {ipclick-2.1.0 → ipclick-2.1.1}/src/ipclick/web/templates/trace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipclick
3
- Version: 2.1.0
3
+ Version: 2.1.1
4
4
  Summary: IPClick Tool
5
5
  Keywords: http,grpc,downloader,scraping,browser,cluster
6
6
  Author: 元气码农少女酱
@@ -18,7 +18,7 @@ Classifier: Topic :: Internet :: WWW/HTTP
18
18
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Dist: curl-cffi>=0.16.0,<0.17.0
21
- Requires-Dist: grpcio>=1.83.0,<2.0.0
21
+ Requires-Dist: grpcio>=1.84.0,<2.0.0
22
22
  Requires-Dist: grpcio-health-checking>=1.83.0,<2.0.0
23
23
  Requires-Dist: protobuf>=7.35.1,<8.0.0
24
24
  Requires-Dist: click>=8.4.2,<9.0.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ipclick"
3
- version = "2.1.0"
3
+ version = "2.1.1"
4
4
  description = "IPClick Tool"
5
5
  license = "MIT"
6
6
  license-files = ["LICENSE"]
@@ -28,7 +28,7 @@ classifiers = [
28
28
  ]
29
29
  dependencies = [
30
30
  "curl-cffi>=0.16.0,<0.17.0",
31
- "grpcio>=1.83.0,<2.0.0",
31
+ "grpcio>=1.84.0,<2.0.0",
32
32
  "grpcio-health-checking>=1.83.0,<2.0.0",
33
33
  "protobuf>=7.35.1,<8.0.0",
34
34
  "click>=8.4.2,<9.0.0",
@@ -176,7 +176,7 @@ lint = [
176
176
  "basedpyright>=1.39.9",
177
177
  "ruff>=0.16.1",
178
178
  ]
179
- proto = ["grpcio-tools>=1.83.0,<2.0.0"]
179
+ proto = ["grpcio-tools>=1.84.0,<2.0.0"]
180
180
  release = ["twine>=6.2.0,<8.0.0"]
181
181
 
182
182
  [[dependency-groups.dev]]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ipclick"
3
- version = "2.1.0"
3
+ version = "2.1.1"
4
4
  description = "IPClick Tool"
5
5
  authors = [
6
6
  { name = "元气码农少女酱", email = "1276162429@qq.com" }
@@ -24,7 +24,7 @@ classifiers = [
24
24
  ]
25
25
  dependencies = [
26
26
  "curl-cffi>=0.16.0,<0.17.0",
27
- "grpcio>=1.83.0,<2.0.0",
27
+ "grpcio>=1.84.0,<2.0.0",
28
28
  "grpcio-health-checking>=1.83.0,<2.0.0",
29
29
  "protobuf>=7.35.1,<8.0.0",
30
30
  "click>=8.4.2,<9.0.0",
@@ -82,7 +82,7 @@ lint = [
82
82
  "ruff>=0.16.1",
83
83
  ]
84
84
  proto = [
85
- "grpcio-tools>=1.83.0,<2.0.0",
85
+ "grpcio-tools>=1.84.0,<2.0.0",
86
86
  ]
87
87
  release = [
88
88
  "twine>=6.2.0,<8.0.0",
@@ -35,7 +35,7 @@ try:
35
35
  __version__ = importlib.metadata.version("ipclick")
36
36
  __author__ = importlib.metadata.metadata("ipclick")["Author"]
37
37
  except importlib.metadata.PackageNotFoundError:
38
- __version__ = "2.0.0"
38
+ __version__ = "2.1.1"
39
39
  __author__ = "元气码农少女酱"
40
40
 
41
41
 
@@ -448,7 +448,8 @@ def fetch(
448
448
  if output is not None:
449
449
  note(f" 已写入 {output}")
450
450
  else:
451
- click.get_binary_stream("stdout").write(response.content)
451
+ with click.open_file("-", "wb") as stdout:
452
+ stdout.write(response.content)
452
453
 
453
454
  if code is not Exit.OK:
454
455
  raise SystemExit(int(code))
@@ -5,7 +5,7 @@ import warnings
5
5
 
6
6
  from . import task_pb2 as task__pb2
7
7
 
8
- GRPC_GENERATED_VERSION = '1.83.0'
8
+ GRPC_GENERATED_VERSION = '1.84.0'
9
9
  GRPC_VERSION = grpc.__version__
10
10
  _version_not_supported = False
11
11
 
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