tokenade 1.0.0__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 (368) hide show
  1. tokenade-1.0.0/PKG-INFO +831 -0
  2. tokenade-1.0.0/README.md +771 -0
  3. tokenade-1.0.0/pyproject.toml +112 -0
  4. tokenade-1.0.0/setup.cfg +4 -0
  5. tokenade-1.0.0/tokenade/__init__.py +84 -0
  6. tokenade-1.0.0/tokenade/__main__.py +5 -0
  7. tokenade-1.0.0/tokenade/cli/__init__.py +1937 -0
  8. tokenade-1.0.0/tokenade/cli/__main__.py +5 -0
  9. tokenade-1.0.0/tokenade/cli/advanced.py +490 -0
  10. tokenade-1.0.0/tokenade/cli/completions.py +73 -0
  11. tokenade-1.0.0/tokenade/cli/config.py +47 -0
  12. tokenade-1.0.0/tokenade/cli/handlers/__init__.py +51 -0
  13. tokenade-1.0.0/tokenade/cli/handlers/browser_ops.py +1373 -0
  14. tokenade-1.0.0/tokenade/cli/handlers/ci.py +361 -0
  15. tokenade-1.0.0/tokenade/cli/handlers/infrastructure.py +452 -0
  16. tokenade-1.0.0/tokenade/cli/handlers/misc.py +222 -0
  17. tokenade-1.0.0/tokenade/cli/handlers/session_ops.py +1263 -0
  18. tokenade-1.0.0/tokenade/cli/management.py +82 -0
  19. tokenade-1.0.0/tokenade/cli/output.py +176 -0
  20. tokenade-1.0.0/tokenade/cli/proxy.py +279 -0
  21. tokenade-1.0.0/tokenade/cli/security.py +167 -0
  22. tokenade-1.0.0/tokenade/cli/session.py +885 -0
  23. tokenade-1.0.0/tokenade/core/__init__.py +0 -0
  24. tokenade-1.0.0/tokenade/core/antidetection/__init__.py +4 -0
  25. tokenade-1.0.0/tokenade/core/antidetection/behavioral.py +140 -0
  26. tokenade-1.0.0/tokenade/core/antidetection/cdp_cleaner.py +60 -0
  27. tokenade-1.0.0/tokenade/core/api/__init__.py +3 -0
  28. tokenade-1.0.0/tokenade/core/api/server.py +445 -0
  29. tokenade-1.0.0/tokenade/core/batch/__init__.py +23 -0
  30. tokenade-1.0.0/tokenade/core/batch/operations.py +398 -0
  31. tokenade-1.0.0/tokenade/core/browser/__init__.py +84 -0
  32. tokenade-1.0.0/tokenade/core/browser/battle.py +865 -0
  33. tokenade-1.0.0/tokenade/core/browser/captcha.py +244 -0
  34. tokenade-1.0.0/tokenade/core/browser/cdp_connection.py +1095 -0
  35. tokenade-1.0.0/tokenade/core/browser/cloak.py +24 -0
  36. tokenade-1.0.0/tokenade/core/browser/cloudflare.py +294 -0
  37. tokenade-1.0.0/tokenade/core/browser/dashboard.py +195 -0
  38. tokenade-1.0.0/tokenade/core/browser/dependencies.py +271 -0
  39. tokenade-1.0.0/tokenade/core/browser/fingerprint.py +262 -0
  40. tokenade-1.0.0/tokenade/core/browser/manager.py +317 -0
  41. tokenade-1.0.0/tokenade/core/browser/patcher.py +322 -0
  42. tokenade-1.0.0/tokenade/core/browser/profile_cloner.py +344 -0
  43. tokenade-1.0.0/tokenade/core/browser/profiles.py +221 -0
  44. tokenade-1.0.0/tokenade/core/browser/session_state.py +254 -0
  45. tokenade-1.0.0/tokenade/core/browser/stealth/__init__.py +68 -0
  46. tokenade-1.0.0/tokenade/core/browser/stealth/backend.py +101 -0
  47. tokenade-1.0.0/tokenade/core/browser/stealth/cloak.py +258 -0
  48. tokenade-1.0.0/tokenade/core/browser/stealth/launcher.py +593 -0
  49. tokenade-1.0.0/tokenade/core/browser/stealth/manager.py +671 -0
  50. tokenade-1.0.0/tokenade/core/browser/stealth.py +24 -0
  51. tokenade-1.0.0/tokenade/core/browser/stealth_test.py +324 -0
  52. tokenade-1.0.0/tokenade/core/browser/storage_extractor.py +231 -0
  53. tokenade-1.0.0/tokenade/core/browser/synchronizer.py +200 -0
  54. tokenade-1.0.0/tokenade/core/browser/tls_fingerprint.py +179 -0
  55. tokenade-1.0.0/tokenade/core/browser/undetectable.py +16 -0
  56. tokenade-1.0.0/tokenade/core/browser/xvfb.py +222 -0
  57. tokenade-1.0.0/tokenade/core/cicd/__init__.py +29 -0
  58. tokenade-1.0.0/tokenade/core/cicd/runner.py +548 -0
  59. tokenade-1.0.0/tokenade/core/cicd/workflow_generator.py +432 -0
  60. tokenade-1.0.0/tokenade/core/config.py +103 -0
  61. tokenade-1.0.0/tokenade/core/crypto/__init__.py +19 -0
  62. tokenade-1.0.0/tokenade/core/crypto/at_rest.py +178 -0
  63. tokenade-1.0.0/tokenade/core/crypto/cookie_crypto.py +805 -0
  64. tokenade-1.0.0/tokenade/core/crypto/encryptor.py +301 -0
  65. tokenade-1.0.0/tokenade/core/daemon/__init__.py +4 -0
  66. tokenade-1.0.0/tokenade/core/daemon/session_daemon.py +675 -0
  67. tokenade-1.0.0/tokenade/core/errors.py +77 -0
  68. tokenade-1.0.0/tokenade/core/fingerprint/__init__.py +0 -0
  69. tokenade-1.0.0/tokenade/core/fingerprint/collectors/__init__.py +30 -0
  70. tokenade-1.0.0/tokenade/core/fingerprint/collectors/audio.py +124 -0
  71. tokenade-1.0.0/tokenade/core/fingerprint/collectors/base.py +66 -0
  72. tokenade-1.0.0/tokenade/core/fingerprint/collectors/battery.py +59 -0
  73. tokenade-1.0.0/tokenade/core/fingerprint/collectors/canvas.py +81 -0
  74. tokenade-1.0.0/tokenade/core/fingerprint/collectors/fonts.py +52 -0
  75. tokenade-1.0.0/tokenade/core/fingerprint/collectors/navigator.py +99 -0
  76. tokenade-1.0.0/tokenade/core/fingerprint/collectors/plugins.py +92 -0
  77. tokenade-1.0.0/tokenade/core/fingerprint/collectors/screen.py +81 -0
  78. tokenade-1.0.0/tokenade/core/fingerprint/collectors/webgl.py +104 -0
  79. tokenade-1.0.0/tokenade/core/fingerprint/collectors/webrtc.py +91 -0
  80. tokenade-1.0.0/tokenade/core/fingerprint/injector.py +94 -0
  81. tokenade-1.0.0/tokenade/core/fingerprint/manager.py +278 -0
  82. tokenade-1.0.0/tokenade/core/fingerprint/stealth.py +357 -0
  83. tokenade-1.0.0/tokenade/core/forensics/__init__.py +15 -0
  84. tokenade-1.0.0/tokenade/core/forensics/autopsy.py +464 -0
  85. tokenade-1.0.0/tokenade/core/importer/__init__.py +23 -0
  86. tokenade-1.0.0/tokenade/core/importer/adb_extractor.py +259 -0
  87. tokenade-1.0.0/tokenade/core/importer/advanced_validator.py +665 -0
  88. tokenade-1.0.0/tokenade/core/importer/browser_discovery.py +313 -0
  89. tokenade-1.0.0/tokenade/core/importer/chromium_forks.py +174 -0
  90. tokenade-1.0.0/tokenade/core/importer/competitor_import.py +324 -0
  91. tokenade-1.0.0/tokenade/core/importer/cookie_extractor.py +612 -0
  92. tokenade-1.0.0/tokenade/core/importer/db_utils.py +66 -0
  93. tokenade-1.0.0/tokenade/core/importer/format_exporter.py +210 -0
  94. tokenade-1.0.0/tokenade/core/importer/format_importer.py +277 -0
  95. tokenade-1.0.0/tokenade/core/importer/local_storage_extractor.py +271 -0
  96. tokenade-1.0.0/tokenade/core/importer/mobile_extractor.py +263 -0
  97. tokenade-1.0.0/tokenade/core/importer/mobile_import.py +556 -0
  98. tokenade-1.0.0/tokenade/core/importer/plugin_export.py +321 -0
  99. tokenade-1.0.0/tokenade/core/importer/safari_extractor.py +376 -0
  100. tokenade-1.0.0/tokenade/core/importer/session_comparator.py +126 -0
  101. tokenade-1.0.0/tokenade/core/importer/session_loader.py +494 -0
  102. tokenade-1.0.0/tokenade/core/importer/session_manager.py +295 -0
  103. tokenade-1.0.0/tokenade/core/importer/session_packager.py +492 -0
  104. tokenade-1.0.0/tokenade/core/importer/session_refresher.py +467 -0
  105. tokenade-1.0.0/tokenade/core/importer/session_rotation.py +147 -0
  106. tokenade-1.0.0/tokenade/core/importer/session_rotator.py +279 -0
  107. tokenade-1.0.0/tokenade/core/importer/session_sharer.py +713 -0
  108. tokenade-1.0.0/tokenade/core/importer/session_sync.py +298 -0
  109. tokenade-1.0.0/tokenade/core/importer/session_vault.py +282 -0
  110. tokenade-1.0.0/tokenade/core/importer/site_configs.py +314 -0
  111. tokenade-1.0.0/tokenade/core/importer/tor_extractor.py +138 -0
  112. tokenade-1.0.0/tokenade/core/importer/validator.py +497 -0
  113. tokenade-1.0.0/tokenade/core/injector/__init__.py +15 -0
  114. tokenade-1.0.0/tokenade/core/injector/profile_manager.py +386 -0
  115. tokenade-1.0.0/tokenade/core/integration/__init__.py +32 -0
  116. tokenade-1.0.0/tokenade/core/integration/container_orchestrator.py +512 -0
  117. tokenade-1.0.0/tokenade/core/integration/docker_manager.py +349 -0
  118. tokenade-1.0.0/tokenade/core/integration/fleet.py +464 -0
  119. tokenade-1.0.0/tokenade/core/integration/kubernetes.py +393 -0
  120. tokenade-1.0.0/tokenade/core/integration/plugin_browser.py +251 -0
  121. tokenade-1.0.0/tokenade/core/integration/plugin_loader.py +395 -0
  122. tokenade-1.0.0/tokenade/core/integration/plugin_registry.py +620 -0
  123. tokenade-1.0.0/tokenade/core/integration/plugin_search.py +186 -0
  124. tokenade-1.0.0/tokenade/core/integration/plugin_testing.py +422 -0
  125. tokenade-1.0.0/tokenade/core/integration/plugin_verifier.py +193 -0
  126. tokenade-1.0.0/tokenade/core/integration/rating_sync.py +286 -0
  127. tokenade-1.0.0/tokenade/core/integration/webhooks.py +219 -0
  128. tokenade-1.0.0/tokenade/core/logging/__init__.py +6 -0
  129. tokenade-1.0.0/tokenade/core/logging/structured.py +182 -0
  130. tokenade-1.0.0/tokenade/core/monitoring/__init__.py +0 -0
  131. tokenade-1.0.0/tokenade/core/monitoring/analytics.py +194 -0
  132. tokenade-1.0.0/tokenade/core/monitoring/session_monitor.py +479 -0
  133. tokenade-1.0.0/tokenade/core/proxy/__init__.py +42 -0
  134. tokenade-1.0.0/tokenade/core/proxy/cdp_api.py +97 -0
  135. tokenade-1.0.0/tokenade/core/proxy/cdp_gui.py +349 -0
  136. tokenade-1.0.0/tokenade/core/proxy/cdp_injection.py +376 -0
  137. tokenade-1.0.0/tokenade/core/proxy/cdp_proxy.py +808 -0
  138. tokenade-1.0.0/tokenade/core/proxy/cdp_routing.py +419 -0
  139. tokenade-1.0.0/tokenade/core/proxy/cdp_stealth.py +229 -0
  140. tokenade-1.0.0/tokenade/core/proxy/extension_bridge.py +132 -0
  141. tokenade-1.0.0/tokenade/core/proxy/forward_proxy.py +317 -0
  142. tokenade-1.0.0/tokenade/core/proxy/manager.py +275 -0
  143. tokenade-1.0.0/tokenade/core/proxy/multi_site_proxy.py +255 -0
  144. tokenade-1.0.0/tokenade/core/proxy/residential.py +305 -0
  145. tokenade-1.0.0/tokenade/core/proxy/rotation.py +365 -0
  146. tokenade-1.0.0/tokenade/core/proxy/server.py +422 -0
  147. tokenade-1.0.0/tokenade/core/proxy/server_gui.py +214 -0
  148. tokenade-1.0.0/tokenade/core/proxy/server_routing.py +128 -0
  149. tokenade-1.0.0/tokenade/core/proxy/server_utils.py +253 -0
  150. tokenade-1.0.0/tokenade/core/refresh/__init__.py +67 -0
  151. tokenade-1.0.0/tokenade/core/refresh/batch_refresh.py +319 -0
  152. tokenade-1.0.0/tokenade/core/refresh/encrypted_refresh.py +342 -0
  153. tokenade-1.0.0/tokenade/core/refresh/health_checker.py +355 -0
  154. tokenade-1.0.0/tokenade/core/refresh/health_reporter.py +379 -0
  155. tokenade-1.0.0/tokenade/core/refresh/health_scorer.py +292 -0
  156. tokenade-1.0.0/tokenade/core/refresh/oauth_refresh.py +611 -0
  157. tokenade-1.0.0/tokenade/core/refresh/session_validator.py +367 -0
  158. tokenade-1.0.0/tokenade/core/runtime/__init__.py +30 -0
  159. tokenade-1.0.0/tokenade/core/runtime/engine.py +783 -0
  160. tokenade-1.0.0/tokenade/core/runtime/tls_matcher.py +282 -0
  161. tokenade-1.0.0/tokenade/core/security/__init__.py +27 -0
  162. tokenade-1.0.0/tokenade/core/security/audit.py +577 -0
  163. tokenade-1.0.0/tokenade/core/security/credentials.py +417 -0
  164. tokenade-1.0.0/tokenade/core/storage/__init__.py +1 -0
  165. tokenade-1.0.0/tokenade/core/storage/session_versions.py +261 -0
  166. tokenade-1.0.0/tokenade/core/utils/__init__.py +0 -0
  167. tokenade-1.0.0/tokenade/core/utils/performance.py +446 -0
  168. tokenade-1.0.0/tokenade/handlers/__init__.py +42 -0
  169. tokenade-1.0.0/tokenade/handlers/base.py +288 -0
  170. tokenade-1.0.0/tokenade/handlers/generic_oauth.py +593 -0
  171. tokenade-1.0.0/tokenade/handlers/github.py +347 -0
  172. tokenade-1.0.0/tokenade/handlers/google.py +301 -0
  173. tokenade-1.0.0/tokenade/handlers/resolve.py +49 -0
  174. tokenade-1.0.0/tokenade/plugin/__init__.py +62 -0
  175. tokenade-1.0.0/tokenade/plugin/api.py +139 -0
  176. tokenade-1.0.0/tokenade/plugin/base.py +681 -0
  177. tokenade-1.0.0/tokenade/plugin/oauth2/__init__.py +4 -0
  178. tokenade-1.0.0/tokenade/plugin/oauth2/plugin.py +282 -0
  179. tokenade-1.0.0/tokenade/sdk/__init__.py +257 -0
  180. tokenade-1.0.0/tokenade/tests/__init__.py +0 -0
  181. tokenade-1.0.0/tokenade/tests/portability.py +308 -0
  182. tokenade-1.0.0/tokenade/tests/test_accounts.py +286 -0
  183. tokenade-1.0.0/tokenade/tests/test_advanced_validator.py +209 -0
  184. tokenade-1.0.0/tokenade/tests/test_advanced_validator_edge_cases.py +1115 -0
  185. tokenade-1.0.0/tokenade/tests/test_analytics.py +222 -0
  186. tokenade-1.0.0/tokenade/tests/test_antidetection.py +145 -0
  187. tokenade-1.0.0/tokenade/tests/test_api_monitor_endpoints.py +204 -0
  188. tokenade-1.0.0/tokenade/tests/test_api_monitoring.py +26 -0
  189. tokenade-1.0.0/tokenade/tests/test_api_sdk.py +262 -0
  190. tokenade-1.0.0/tokenade/tests/test_api_server_comprehensive.py +400 -0
  191. tokenade-1.0.0/tokenade/tests/test_api_server_coverage.py +232 -0
  192. tokenade-1.0.0/tokenade/tests/test_at_rest_encryption.py +210 -0
  193. tokenade-1.0.0/tokenade/tests/test_audit_coverage.py +560 -0
  194. tokenade-1.0.0/tokenade/tests/test_autopsy.py +375 -0
  195. tokenade-1.0.0/tokenade/tests/test_base_handler_coverage.py +365 -0
  196. tokenade-1.0.0/tokenade/tests/test_batch_operations.py +311 -0
  197. tokenade-1.0.0/tokenade/tests/test_batch_operations_coverage.py +415 -0
  198. tokenade-1.0.0/tokenade/tests/test_batch_refresh.py +175 -0
  199. tokenade-1.0.0/tokenade/tests/test_battle.py +274 -0
  200. tokenade-1.0.0/tokenade/tests/test_benchmarks.py +209 -0
  201. tokenade-1.0.0/tokenade/tests/test_binary_patcher.py +419 -0
  202. tokenade-1.0.0/tokenade/tests/test_browser.py +367 -0
  203. tokenade-1.0.0/tokenade/tests/test_browser_discovery.py +58 -0
  204. tokenade-1.0.0/tokenade/tests/test_browser_discovery_coverage.py +516 -0
  205. tokenade-1.0.0/tokenade/tests/test_browser_improvements.py +277 -0
  206. tokenade-1.0.0/tokenade/tests/test_browser_manager_coverage.py +764 -0
  207. tokenade-1.0.0/tokenade/tests/test_browser_support.py +728 -0
  208. tokenade-1.0.0/tokenade/tests/test_cdp_gui_coverage.py +573 -0
  209. tokenade-1.0.0/tokenade/tests/test_cdp_injection_coverage.py +1056 -0
  210. tokenade-1.0.0/tokenade/tests/test_cdp_injection_edge_cases.py +396 -0
  211. tokenade-1.0.0/tokenade/tests/test_cdp_proxy_coverage.py +534 -0
  212. tokenade-1.0.0/tokenade/tests/test_cdp_routing_coverage.py +1162 -0
  213. tokenade-1.0.0/tokenade/tests/test_cdp_stealth_urls.py +50 -0
  214. tokenade-1.0.0/tokenade/tests/test_chromium_forks_coverage.py +411 -0
  215. tokenade-1.0.0/tokenade/tests/test_ci_runner.py +500 -0
  216. tokenade-1.0.0/tokenade/tests/test_cicd.py +122 -0
  217. tokenade-1.0.0/tokenade/tests/test_cli.py +200 -0
  218. tokenade-1.0.0/tokenade/tests/test_cli_advanced.py +943 -0
  219. tokenade-1.0.0/tokenade/tests/test_cli_helpers.py +99 -0
  220. tokenade-1.0.0/tokenade/tests/test_cli_init_coverage.py +651 -0
  221. tokenade-1.0.0/tokenade/tests/test_cli_integration.py +205 -0
  222. tokenade-1.0.0/tokenade/tests/test_cli_management.py +231 -0
  223. tokenade-1.0.0/tokenade/tests/test_cli_management_coverage.py +419 -0
  224. tokenade-1.0.0/tokenade/tests/test_cli_monitor.py +201 -0
  225. tokenade-1.0.0/tokenade/tests/test_cli_output.py +219 -0
  226. tokenade-1.0.0/tokenade/tests/test_cli_proxy.py +1004 -0
  227. tokenade-1.0.0/tokenade/tests/test_cli_refactor.py +454 -0
  228. tokenade-1.0.0/tokenade/tests/test_cli_security_coverage.py +306 -0
  229. tokenade-1.0.0/tokenade/tests/test_cli_security_proxy.py +242 -0
  230. tokenade-1.0.0/tokenade/tests/test_cli_session.py +1168 -0
  231. tokenade-1.0.0/tokenade/tests/test_cloak.py +375 -0
  232. tokenade-1.0.0/tokenade/tests/test_cloudflare_akamai.py +384 -0
  233. tokenade-1.0.0/tokenade/tests/test_collectors.py +283 -0
  234. tokenade-1.0.0/tokenade/tests/test_comprehensive.py +311 -0
  235. tokenade-1.0.0/tokenade/tests/test_config_and_cdp_modules.py +610 -0
  236. tokenade-1.0.0/tokenade/tests/test_container_orchestration.py +488 -0
  237. tokenade-1.0.0/tokenade/tests/test_cookie_crypto.py +835 -0
  238. tokenade-1.0.0/tokenade/tests/test_cookie_extractor.py +1088 -0
  239. tokenade-1.0.0/tokenade/tests/test_credentials_keyring_errors.py +68 -0
  240. tokenade-1.0.0/tokenade/tests/test_crypto.py +188 -0
  241. tokenade-1.0.0/tokenade/tests/test_custom_errors.py +100 -0
  242. tokenade-1.0.0/tokenade/tests/test_daemon.py +430 -0
  243. tokenade-1.0.0/tokenade/tests/test_db_utils.py +93 -0
  244. tokenade-1.0.0/tokenade/tests/test_db_utils_coverage.py +218 -0
  245. tokenade-1.0.0/tokenade/tests/test_docker_manager.py +587 -0
  246. tokenade-1.0.0/tokenade/tests/test_e2e_headless.py +207 -0
  247. tokenade-1.0.0/tokenade/tests/test_encrypted_refresh.py +169 -0
  248. tokenade-1.0.0/tokenade/tests/test_encryptor.py +323 -0
  249. tokenade-1.0.0/tokenade/tests/test_encryptor_coverage.py +339 -0
  250. tokenade-1.0.0/tokenade/tests/test_encryptor_edge.py +66 -0
  251. tokenade-1.0.0/tokenade/tests/test_engine_coverage.py +748 -0
  252. tokenade-1.0.0/tokenade/tests/test_enterprise.py +819 -0
  253. tokenade-1.0.0/tokenade/tests/test_errors.py +49 -0
  254. tokenade-1.0.0/tokenade/tests/test_extension_bridge_coverage.py +215 -0
  255. tokenade-1.0.0/tokenade/tests/test_fingerprint.py +66 -0
  256. tokenade-1.0.0/tokenade/tests/test_fingerprint_collectors.py +397 -0
  257. tokenade-1.0.0/tokenade/tests/test_fingerprint_collectors_coverage.py +298 -0
  258. tokenade-1.0.0/tokenade/tests/test_fingerprint_consistency.py +202 -0
  259. tokenade-1.0.0/tokenade/tests/test_fingerprint_injector.py +308 -0
  260. tokenade-1.0.0/tokenade/tests/test_fingerprint_manager.py +580 -0
  261. tokenade-1.0.0/tokenade/tests/test_fleet.py +398 -0
  262. tokenade-1.0.0/tokenade/tests/test_format_export.py +414 -0
  263. tokenade-1.0.0/tokenade/tests/test_format_importer_and_helpers.py +656 -0
  264. tokenade-1.0.0/tokenade/tests/test_forward_proxy.py +52 -0
  265. tokenade-1.0.0/tokenade/tests/test_forward_proxy_coverage.py +725 -0
  266. tokenade-1.0.0/tokenade/tests/test_generic_oauth_coverage.py +576 -0
  267. tokenade-1.0.0/tokenade/tests/test_github_handler_coverage.py +342 -0
  268. tokenade-1.0.0/tokenade/tests/test_google_handler_coverage.py +317 -0
  269. tokenade-1.0.0/tokenade/tests/test_handler_resolve.py +32 -0
  270. tokenade-1.0.0/tokenade/tests/test_handlers.py +521 -0
  271. tokenade-1.0.0/tokenade/tests/test_health_checker_coverage.py +451 -0
  272. tokenade-1.0.0/tokenade/tests/test_health_reporter.py +287 -0
  273. tokenade-1.0.0/tokenade/tests/test_health_scorer.py +537 -0
  274. tokenade-1.0.0/tokenade/tests/test_importer_integration.py +290 -0
  275. tokenade-1.0.0/tokenade/tests/test_integration.py +662 -0
  276. tokenade-1.0.0/tokenade/tests/test_kubernetes.py +484 -0
  277. tokenade-1.0.0/tokenade/tests/test_local_storage.py +56 -0
  278. tokenade-1.0.0/tokenade/tests/test_local_storage_extractor.py +174 -0
  279. tokenade-1.0.0/tokenade/tests/test_local_storage_extractor_coverage.py +291 -0
  280. tokenade-1.0.0/tokenade/tests/test_local_storage_extractor_plyvel.py +400 -0
  281. tokenade-1.0.0/tokenade/tests/test_mac_crypto.py +74 -0
  282. tokenade-1.0.0/tokenade/tests/test_mobile_extractor_coverage.py +397 -0
  283. tokenade-1.0.0/tokenade/tests/test_mobile_import.py +240 -0
  284. tokenade-1.0.0/tokenade/tests/test_monitoring.py +92 -0
  285. tokenade-1.0.0/tokenade/tests/test_multi_site_proxy.py +51 -0
  286. tokenade-1.0.0/tokenade/tests/test_multi_site_proxy_coverage.py +408 -0
  287. tokenade-1.0.0/tokenade/tests/test_mutmut_killers.py +122 -0
  288. tokenade-1.0.0/tokenade/tests/test_new_plugins.py +295 -0
  289. tokenade-1.0.0/tokenade/tests/test_oauth_refresh.py +412 -0
  290. tokenade-1.0.0/tokenade/tests/test_official_plugin_contracts.py +52 -0
  291. tokenade-1.0.0/tokenade/tests/test_performance.py +294 -0
  292. tokenade-1.0.0/tokenade/tests/test_performance_coverage.py +392 -0
  293. tokenade-1.0.0/tokenade/tests/test_phase80.py +266 -0
  294. tokenade-1.0.0/tokenade/tests/test_playwright_e2e.py +663 -0
  295. tokenade-1.0.0/tokenade/tests/test_plugin_api.py +347 -0
  296. tokenade-1.0.0/tokenade/tests/test_plugin_api_v11.py +357 -0
  297. tokenade-1.0.0/tokenade/tests/test_plugin_loader.py +297 -0
  298. tokenade-1.0.0/tokenade/tests/test_plugin_loader_coverage.py +254 -0
  299. tokenade-1.0.0/tokenade/tests/test_plugin_marketplace.py +838 -0
  300. tokenade-1.0.0/tokenade/tests/test_plugin_registry.py +447 -0
  301. tokenade-1.0.0/tokenade/tests/test_plugin_system.py +339 -0
  302. tokenade-1.0.0/tokenade/tests/test_plugin_types.py +358 -0
  303. tokenade-1.0.0/tokenade/tests/test_profile_cloner.py +226 -0
  304. tokenade-1.0.0/tokenade/tests/test_profile_management.py +280 -0
  305. tokenade-1.0.0/tokenade/tests/test_profile_manager.py +338 -0
  306. tokenade-1.0.0/tokenade/tests/test_profile_manager_coverage.py +400 -0
  307. tokenade-1.0.0/tokenade/tests/test_profile_manager_errors.py +397 -0
  308. tokenade-1.0.0/tokenade/tests/test_property_based.py +214 -0
  309. tokenade-1.0.0/tokenade/tests/test_proxy.py +652 -0
  310. tokenade-1.0.0/tokenade/tests/test_proxy_config.py +86 -0
  311. tokenade-1.0.0/tokenade/tests/test_proxy_gui.py +80 -0
  312. tokenade-1.0.0/tokenade/tests/test_proxy_manager.py +218 -0
  313. tokenade-1.0.0/tokenade/tests/test_proxy_modules.py +197 -0
  314. tokenade-1.0.0/tokenade/tests/test_proxy_rotation.py +584 -0
  315. tokenade-1.0.0/tokenade/tests/test_rating_sync.py +156 -0
  316. tokenade-1.0.0/tokenade/tests/test_refresh_browser.py +511 -0
  317. tokenade-1.0.0/tokenade/tests/test_runtime.py +474 -0
  318. tokenade-1.0.0/tokenade/tests/test_safari_extractor_coverage.py +538 -0
  319. tokenade-1.0.0/tokenade/tests/test_sdk_coverage.py +429 -0
  320. tokenade-1.0.0/tokenade/tests/test_security.py +349 -0
  321. tokenade-1.0.0/tokenade/tests/test_server_coverage.py +696 -0
  322. tokenade-1.0.0/tokenade/tests/test_server_routing_coverage.py +349 -0
  323. tokenade-1.0.0/tokenade/tests/test_server_utils_coverage.py +485 -0
  324. tokenade-1.0.0/tokenade/tests/test_session_comparator.py +110 -0
  325. tokenade-1.0.0/tokenade/tests/test_session_loader.py +52 -0
  326. tokenade-1.0.0/tokenade/tests/test_session_loader_coverage.py +621 -0
  327. tokenade-1.0.0/tokenade/tests/test_session_manager.py +135 -0
  328. tokenade-1.0.0/tokenade/tests/test_session_monitor_coverage.py +297 -0
  329. tokenade-1.0.0/tokenade/tests/test_session_monitor_enhanced.py +618 -0
  330. tokenade-1.0.0/tokenade/tests/test_session_packager.py +104 -0
  331. tokenade-1.0.0/tokenade/tests/test_session_packager_coverage.py +466 -0
  332. tokenade-1.0.0/tokenade/tests/test_session_refresher.py +543 -0
  333. tokenade-1.0.0/tokenade/tests/test_session_rotation.py +408 -0
  334. tokenade-1.0.0/tokenade/tests/test_session_rotator.py +377 -0
  335. tokenade-1.0.0/tokenade/tests/test_session_sharer.py +591 -0
  336. tokenade-1.0.0/tokenade/tests/test_session_sharer_qr_versions.py +272 -0
  337. tokenade-1.0.0/tokenade/tests/test_session_sync.py +598 -0
  338. tokenade-1.0.0/tokenade/tests/test_session_sync_coverage.py +302 -0
  339. tokenade-1.0.0/tokenade/tests/test_session_validator.py +204 -0
  340. tokenade-1.0.0/tokenade/tests/test_session_vault.py +418 -0
  341. tokenade-1.0.0/tokenade/tests/test_session_versions.py +262 -0
  342. tokenade-1.0.0/tokenade/tests/test_share_improvements.py +181 -0
  343. tokenade-1.0.0/tokenade/tests/test_site_configs.py +92 -0
  344. tokenade-1.0.0/tokenade/tests/test_site_filter.py +65 -0
  345. tokenade-1.0.0/tokenade/tests/test_site_handlers.py +318 -0
  346. tokenade-1.0.0/tokenade/tests/test_ssrf.py +54 -0
  347. tokenade-1.0.0/tokenade/tests/test_stealth.py +147 -0
  348. tokenade-1.0.0/tokenade/tests/test_stealth_enhanced.py +444 -0
  349. tokenade-1.0.0/tokenade/tests/test_stealth_validation.py +217 -0
  350. tokenade-1.0.0/tokenade/tests/test_structured_logging.py +243 -0
  351. tokenade-1.0.0/tokenade/tests/test_sync_import.py +302 -0
  352. tokenade-1.0.0/tokenade/tests/test_tls.py +39 -0
  353. tokenade-1.0.0/tokenade/tests/test_tls_matcher.py +133 -0
  354. tokenade-1.0.0/tokenade/tests/test_tls_matcher_coverage.py +310 -0
  355. tokenade-1.0.0/tokenade/tests/test_tor_extractor_coverage.py +141 -0
  356. tokenade-1.0.0/tokenade/tests/test_tui.py +259 -0
  357. tokenade-1.0.0/tokenade/tests/test_undetectable.py +176 -0
  358. tokenade-1.0.0/tokenade/tests/test_validator_coverage.py +582 -0
  359. tokenade-1.0.0/tokenade/tests/test_webhooks.py +290 -0
  360. tokenade-1.0.0/tokenade/tests/test_xvfb.py +172 -0
  361. tokenade-1.0.0/tokenade/tui/__init__.py +7 -0
  362. tokenade-1.0.0/tokenade/tui/app.py +1145 -0
  363. tokenade-1.0.0/tokenade.egg-info/PKG-INFO +831 -0
  364. tokenade-1.0.0/tokenade.egg-info/SOURCES.txt +366 -0
  365. tokenade-1.0.0/tokenade.egg-info/dependency_links.txt +1 -0
  366. tokenade-1.0.0/tokenade.egg-info/entry_points.txt +2 -0
  367. tokenade-1.0.0/tokenade.egg-info/requires.txt +42 -0
  368. tokenade-1.0.0/tokenade.egg-info/top_level.txt +1 -0
@@ -0,0 +1,831 @@
1
+ Metadata-Version: 2.4
2
+ Name: tokenade
3
+ Version: 1.0.0
4
+ Summary: Production-grade token shifting and session portability tool
5
+ Author: Tokenade Team
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/mihir0209/tokenade
8
+ Project-URL: Documentation, https://github.com/mihir0209/tokenade#readme
9
+ Project-URL: Repository, https://github.com/mihir0209/tokenade
10
+ Project-URL: Issues, https://github.com/mihir0209/tokenade/issues
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
22
+ Classifier: Topic :: Security
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ Requires-Dist: playwright>=1.40.0
26
+ Requires-Dist: cloakbrowser>=0.4.0
27
+ Requires-Dist: curl-cffi>=0.6.0
28
+ Requires-Dist: requests>=2.28.0
29
+ Requires-Dist: pycryptodome>=3.19.0
30
+ Requires-Dist: cryptography>=41.0.0
31
+ Requires-Dist: keyring>=24.0.0
32
+ Requires-Dist: aiohttp>=3.9.0
33
+ Requires-Dist: websockets>=12.0
34
+ Requires-Dist: PyYAML>=6.0
35
+ Provides-Extra: windows
36
+ Requires-Dist: pywin32>=306; extra == "windows"
37
+ Provides-Extra: linux
38
+ Requires-Dist: secretstorage>=3.3.3; extra == "linux"
39
+ Provides-Extra: runtime
40
+ Requires-Dist: curl-cffi>=0.6.0; extra == "runtime"
41
+ Provides-Extra: ldap
42
+ Requires-Dist: ldap3>=2.9; extra == "ldap"
43
+ Provides-Extra: enterprise
44
+ Requires-Dist: ldap3>=2.9; extra == "enterprise"
45
+ Provides-Extra: tui
46
+ Requires-Dist: textual>=0.40.0; extra == "tui"
47
+ Provides-Extra: dev
48
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
49
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
50
+ Requires-Dist: pytest-aiohttp>=1.0.0; extra == "dev"
51
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
52
+ Requires-Dist: pytest-timeout>=2.0.0; extra == "dev"
53
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
54
+ Requires-Dist: hypothesis>=6.0.0; extra == "dev"
55
+ Requires-Dist: mutmut<3,>=2.4.0; extra == "dev"
56
+ Requires-Dist: black>=23.0.0; extra == "dev"
57
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
58
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
59
+ Requires-Dist: build>=1.0.0; extra == "dev"
60
+
61
+ # Tokenade v6.4 — Browser Session Portability Tool
62
+
63
+ Extract browser sessions from one device, package them into portable `.tokenade` files, and browse as the donor on another device using a **CDP reverse proxy** with TLS fingerprint matching.
64
+
65
+ **Product focus:** session portability + TLS-matched replay — not a Multilogin replacement.
66
+
67
+ **~5250 automated tests** · **large CLI surface** · **22 official plugins (unverified)** · **stealth: measured, not “Grade A”**
68
+
69
+ > **Honesty policy:** This README separates **battle-tested** behavior from **code that exists but is not production-proven**. Overclaims were removed 2026-07-09. Deferred goals live in [`.agent/plans/2026-07-09-p0-honesty-deferred-claims.md`](.agent/plans/2026-07-09-p0-honesty-deferred-claims.md).
70
+
71
+ ## What actually works (battle-tested)
72
+
73
+ Evidence: `.agent/working.md`, `.agent/testing-reports/2026-07-06-e2e-headless-test.md`, manual multi-device notes.
74
+
75
+ | Capability | Status | Notes |
76
+ |------------|--------|-------|
77
+ | Cookie export (Chrome/Firefox/Brave/Edge) | **Works** | SQLite extraction, domain filters |
78
+ | CDP proxy + session inject (Gmail, ChatGPT) | **Works** | Confirmed logged-in in real runs |
79
+ | localStorage transfer (Telegram Web) | **Works** | E2E headless 2026-07-06 |
80
+ | Google persistent cookies → CloakBrowser | **Works** | 171 cookies, login selectors matched |
81
+ | AES-256-GCM session file encryption | **Works** | Core `TokenadeEncryptor`, PBKDF2 600k |
82
+ | Session health scoring (cookie heuristics) | **Works** | Heuristic score — not a live auth proof |
83
+ | Forward proxy CONNECT | **Works** | Battle-tested 2026-06-17 |
84
+ | Multi-site proxy (2 sessions) | **Works** | Battle-tested 2026-06-17 |
85
+ | CloakBrowser as default stealth backend | **Works** | Prefer over pure JS patches |
86
+ | GitHub/Discord/Reddit from **session-only** Firefox cookies | **Often fails** | Auth cookies not always persisted to disk |
87
+ | Google Chrome→Chrome / multi-device | **Often fails** | DBSC + risk signals; see working notes |
88
+ | Cloudflare Turnstile / hard bot labs | **Often fails** | Battle suite ~Grade C (~78/100), not A |
89
+ | Enterprise LDAP / fleet / K8s generators | **Code present** | Not battle-tested as a product |
90
+ | Official plugin marketplace “ratings/downloads” | **Removed** | Were never real telemetry |
91
+
92
+ ## Features
93
+
94
+ ### Core (primary product)
95
+
96
+ | Feature | Description | Confidence |
97
+ |---------|-------------|------------|
98
+ | **Session Export** | Extract cookies from Chrome, Firefox, Brave, Edge; Safari/Tor/mobile available | High for desktop Chromium/Firefox |
99
+ | **Session Injection** | CDP proxy or direct profile modification | High for persistent-cookie sites |
100
+ | **TLS Fingerprint Matching** | `curl-cffi` impersonation on proxied requests | High when `tokenade[runtime]` installed |
101
+ | **localStorage Support** | Extract/inject localStorage (critical for Telegram) | High for Telegram; mixed for Discord |
102
+ | **Encryption** | AES-256-GCM via **core** encryptor only | High |
103
+ | **Session Refresh** | Cookie re-warm via headless browser; OAuth path exists | Medium (site-dependent) |
104
+ | **Health Scoring** | Heuristic cookie/auth scoring | Medium (not live site proof) |
105
+ | **Site Configs / plugins** | Domain + critical-cookie presets | Medium (configs/lists, not deep site engines) |
106
+
107
+ ### Stealth (honest)
108
+
109
+ | Feature | Description | Confidence |
110
+ |---------|-------------|------------|
111
+ | **CloakBrowser** | Stealth Chromium backend (default when available) | High as launcher |
112
+ | **JS patch fallback** | Webdriver/plugins/WebGL/canvas/etc. when CloakBrowser unavailable | Best-effort |
113
+ | **Battle testing** | Multi-site detection suite with scores | Use scores; do not assume “undetectable” |
114
+ | **CAPTCHA / CF / Akamai helpers** | Detection + partial automation | Partial — not a guaranteed bypass product |
115
+ | **Humanize** | Mouse/keyboard timing helpers | Best-effort |
116
+
117
+ ### Also present (code exists — not the sales pitch)
118
+
119
+ | Area | What exists | Caveat |
120
+ |------|-------------|--------|
121
+ | Advanced refresh/share/merge/rotate | CLI + modules | Prefer core loop first |
122
+ | Browser extension | MV3 export helper | Manual install; not a full product surface |
123
+ | Plugin marketplace | Install/search/TUI; 22 official plugins | Plugins **unverified**; many thin or core-overlapping |
124
+ | Profile / fingerprint / competitor import | Modules + CLI | Competitor parity is incomplete vs AdsPower/Multilogin |
125
+ | Enterprise (audit, RBAC, LDAP) | Modules + optional deps | Not production-hardened for multi-tenant ops |
126
+ | Fleet / K8s YAML / CI generators | CLI scaffolding | Generators ≠ managed platform |
127
+ | GitHub Actions CI for this repo | Present | Matrix lint/test |
128
+
129
+ ### Browser support
130
+
131
+ | Browser | Status | Notes |
132
+ |---------|--------|-------|
133
+ | Chrome | Strong | SQLite extraction, profile discovery; binary patch experimental |
134
+ | Firefox | Strong | SQLite + LevelDB localStorage paths used in E2E |
135
+ | Edge / Brave | Strong | Chromium-based |
136
+ | Safari | Partial | macOS cookie parsing |
137
+ | Tor Browser | Available | Firefox-based profile discovery |
138
+ | Mobile (Android) | Available | Via ADB — less battle coverage than desktop |
139
+
140
+ ## Quick Start (3 commands)
141
+
142
+ ### Step 1 — Install
143
+
144
+ ```bash
145
+ pip install tokenade
146
+ ```
147
+
148
+ ### Step 2 — Export cookies from your browser
149
+
150
+ ```bash
151
+ # See what browsers are installed
152
+ tokenade export --list-profiles
153
+
154
+ # Export ChatGPT session from Firefox
155
+ tokenade export --browser-name firefox --domains "chatgpt.com,openai.com" -o chatgpt.tokenade
156
+
157
+ # Export Gmail session from Chrome
158
+ tokenade export --browser-name chrome --domains "google.com,accounts.google.com,mail.google.com" -o gmail.tokenade
159
+ ```
160
+
161
+ ### Step 3 — Launch with stealth (CloakBrowser)
162
+
163
+ ```bash
164
+ # Launch stealth browser with session injected
165
+ tokenade launch -s gmail.tokenade -u https://mail.google.com
166
+
167
+ # With human-like behavior
168
+ tokenade launch -s gmail.tokenade -u https://mail.google.com --humanize
169
+
170
+ # Or use the proxy mode
171
+ tokenade proxy -s gmail.tokenade
172
+ ```
173
+
174
+ ## Full CLI Reference (58 Commands)
175
+
176
+ ### Session Management
177
+ ```bash
178
+ tokenade export # Extract cookies from browser
179
+ tokenade load # Load session into browser
180
+ tokenade sessions list # List all sessions
181
+ tokenade sessions stats # Session statistics
182
+ tokenade session-diff # Compare two sessions
183
+ tokenade validate # Validate session integrity
184
+ tokenade validate-rules # Validate against custom rules
185
+ tokenade validate-session # Validate for CI/CD health gates
186
+ tokenade health # Check session health
187
+ tokenade health-report # Batch health report for CI/CD
188
+ tokenade diff # Diff two sessions
189
+ tokenade merge # Merge multiple sessions
190
+ tokenade rotate # Rotate sessions
191
+ tokenade transfer # Transfer session between browsers
192
+ tokenade extract # Extract session (alias for export)
193
+ tokenade inject-profile # Inject session into browser profile
194
+ tokenade import # Import from competitor format
195
+ tokenade versions # Show session versions
196
+ tokenade rollback # Rollback to previous version
197
+ ```
198
+
199
+ ### Stealth & Browser
200
+ ```bash
201
+ tokenade stealth test # 18-point detection test suite
202
+ tokenade stealth battle # Battle test against 5 detection sites
203
+ tokenade stealth report # Generate detection report
204
+ tokenade stealth deps # Check stealth dependencies
205
+ tokenade launch # Launch stealth browser with session
206
+ tokenade patch-chrome # Binary patch Chrome for stealth
207
+ tokenade fingerprint # Generate fingerprint
208
+ tokenade clone-profile # Clone browser profile
209
+ ```
210
+
211
+ ### CloakBrowser
212
+ ```bash
213
+ tokenade cloak info # Show CloakBrowser status
214
+ tokenade cloak install # Download CloakBrowser binary
215
+ tokenade cloak serve # Start CDP server (cloakserve)
216
+ ```
217
+
218
+ ### Session Refresh
219
+ ```bash
220
+ tokenade refresh # Refresh session from source browser
221
+ tokenade refresh-browser # Refresh via undetectable browser
222
+ tokenade refresh-oauth # Refresh OAuth2 tokens
223
+ tokenade encrypted-refresh # Refresh encrypted sessions
224
+ tokenade batch-refresh # Refresh multiple sessions
225
+ tokenade oauth-config # Configure OAuth settings
226
+ ```
227
+
228
+ ### Plugins
229
+ ```bash
230
+ tokenade plugin list # List installed plugins
231
+ tokenade plugin install # Install a plugin
232
+ tokenade plugin uninstall # Uninstall a plugin
233
+ tokenade plugin info # Show plugin details
234
+ tokenade plugin search # Search marketplace
235
+ tokenade plugin rate # Rate a plugin (syncs to GitHub)
236
+ tokenade plugin ratings # View global ratings
237
+ tokenade plugin popular # Show popular plugins
238
+ tokenade plugin recent # Show newest plugins
239
+ tokenade plugin categories # List categories
240
+ tokenade plugin verify # Verify plugin integrity
241
+ tokenade plugin outdated # Show outdated plugins
242
+ tokenade plugin browse # Generate HTML marketplace
243
+ tokenade plugin test # Test a plugin
244
+ tokenade plugin enable # Enable a plugin
245
+ tokenade plugin disable # Disable a plugin
246
+ tokenade plugin update # Update plugins
247
+ tokenade plugin reload # Reload a plugin
248
+ ```
249
+
250
+ ### Proxy & Network
251
+ ```bash
252
+ tokenade proxy # Start CDP reverse proxy
253
+ tokenade serve # Serve session via HTTP
254
+ ```
255
+
256
+ ### Session Sharing
257
+ ```bash
258
+ tokenade share # Share session (URL, QR, email)
259
+ tokenade unshare # Revoke shared session
260
+ tokenade sync # Sync sessions across devices
261
+ ```
262
+
263
+ ### Encryption
264
+ ```bash
265
+ tokenade encrypt # Encrypt session file
266
+ tokenade decrypt # Decrypt session file
267
+ tokenade rekey # Re-encrypt with new key
268
+ ```
269
+
270
+ ### CI/CD & Fleet
271
+ ```bash
272
+ tokenade ci run # Run CI pipeline from tokenade.yml
273
+ tokenade ci init # Create starter tokenade.yml
274
+ tokenade ci validate # Validate tokenade.yml
275
+ tokenade ci lint # Lint tokenade.yml
276
+ tokenade cicd # Generate CI/CD workflow files
277
+ tokenade fleet status # Show all containers/pods
278
+ tokenade fleet health # Health check across fleet
279
+ tokenade fleet refresh # Refresh all containers
280
+ tokenade fleet logs # Get container logs
281
+ ```
282
+
283
+ ### Forensics
284
+ ```bash
285
+ tokenade autopsy # Analyze why a session died
286
+ ```
287
+
288
+ ### Container & Kubernetes
289
+ ```bash
290
+ tokenade container start/stop/restart/status/logs/refresh/scale/cleanup/health/generate
291
+ tokenade k8s deploy/status/scale/logs/delete/pods
292
+ ```
293
+
294
+ ### TUI
295
+ ```bash
296
+ tokenade tui # Launch interactive terminal UI
297
+ ```
298
+
299
+ ### Other
300
+ ```bash
301
+ tokenade setup # Initial setup
302
+ tokenade config show/get/set # Manage configuration
303
+ tokenade monitor start/stop/status # Session monitoring
304
+ tokenade analytics report/cleanup # Session analytics
305
+ tokenade daemon start/stop/status # Background daemon
306
+ tokenade logs # View logs
307
+ tokenade diff # Diff sessions
308
+ tokenade deps check/install # System dependencies
309
+ tokenade batch-export # Export multiple sessions
310
+ tokenade batch-load # Load multiple sessions
311
+ tokenade completion # Shell completion scripts
312
+ tokenade test # Run built-in tests
313
+ tokenade mobile-import # Import from mobile device
314
+ ```
315
+ --no-open-browser Don't auto-open GUI
316
+ --timeout SECONDS Request timeout (default: 30)
317
+ --all Multi-site mode (use -d for sessions directory)
318
+ --mode {cdp,forward} Proxy mode
319
+ --legacy Use legacy service-worker proxy
320
+ --auto-refresh Enable auto-refresh from source browser
321
+ --source-browser NAME Browser to refresh from
322
+ --rotate Enable session rotation
323
+ --rotate-strategy Rotation strategy (health-weighted, round-robin, random, lru)
324
+ --rotate-interval Rotation interval in seconds
325
+ ```
326
+
327
+ ### Stealth
328
+
329
+ ```bash
330
+ tokenade stealth test # Run 18-point detection test suite
331
+ tokenade stealth battle # Battle test against 5 real detection sites
332
+ tokenade stealth report # Generate HTML/JSON detection report
333
+ tokenade stealth deps # Check stealth system dependencies
334
+ tokenade stealth deps-install # Install missing dependencies
335
+ ```
336
+
337
+ **Battle Test Options:**
338
+
339
+ ```bash
340
+ tokenade stealth battle --browser chromium # Test with Chromium (default)
341
+ tokenade stealth battle --browser firefox # Test with Firefox
342
+ tokenade stealth battle --site bot_sannysoft # Test specific site only
343
+ tokenade stealth battle --output report.json # Save JSON report
344
+ tokenade stealth battle -s bot_sannysoft -s creepjs # Multiple sites
345
+ ```
346
+
347
+ **Detection Sites Tested:**
348
+
349
+ | Site | What It Detects | Weight |
350
+ |------|----------------|--------|
351
+ | bot.sannysoft.com | WebDriver, automation flags | 1.0 |
352
+ | creepjs | Browser fingerprint anomalies | 0.8 |
353
+ | pixelscan.net | Headless, automation vectors | 1.0 |
354
+ | browserleaks.com | JavaScript API leaks | 0.7 |
355
+ | iphey.com | Bot detection, behavioral analysis | 0.6 |
356
+
357
+ ### Browser Launch
358
+
359
+ ```bash
360
+ tokenade launch -s session.tokenade -u https://site.com [options]
361
+
362
+ Options:
363
+ -s, --session FILE Session file (required)
364
+ -u, --url URL Target URL
365
+ -b, --browser NAME Browser (chrome, firefox, brave, edge)
366
+ --visible Show browser window
367
+ --headless Run in headless mode
368
+ --proxy URL Upstream proxy
369
+ --proxy-file FILE Proxy list file
370
+ --proxy-rotate Rotate proxies
371
+ --plugin NAME Plugin to use
372
+ --encrypt Encrypt session at rest
373
+ ```
374
+
375
+ ### Session Refresh
376
+
377
+ ```bash
378
+ tokenade refresh-browser -s session.tokenade -b chrome --url https://github.com
379
+ tokenade accounts list # List all sessions
380
+ tokenade accounts status # Health status with color coding
381
+ tokenade accounts refresh --all # Parallel refresh with unique CDP ports
382
+ ```
383
+
384
+ ### Sessions
385
+
386
+ ```bash
387
+ tokenade sessions list -d ./sessions # List sessions
388
+ tokenade sessions list --site google # Filter by site
389
+ tokenade sessions merge s1.tokenade s2.tokenade -o merged.tokenade
390
+ tokenade sessions rotate s1.tokenade s2.tokenade
391
+ tokenade sessions stats *.tokenade
392
+ ```
393
+
394
+ ### Session Sharing
395
+
396
+ ```bash
397
+ tokenade share -s session.tokenade # Create URL
398
+ tokenade share -s session.tokenade --format qr -o qr.png
399
+ tokenade share -s session.tokenade --password x --expiry 48
400
+ tokenade share -s session.tokenade --webhook https://hooks.slack.com/...
401
+ tokenade unshare --list
402
+ tokenade unshare <session-id>
403
+ ```
404
+
405
+ ### Encrypt / Decrypt
406
+
407
+ ```bash
408
+ tokenade encrypt -s session.tokenade -o encrypted.tokenade
409
+ tokenade decrypt -s encrypted.tokenade -o session.tokenade
410
+ tokenade rekey -s encrypted.tokenade
411
+ ```
412
+
413
+ ### Health & Validation
414
+
415
+ ```bash
416
+ tokenade health -s session.tokenade
417
+ tokenade health-report --sessions-dir ./sessions
418
+ tokenade validate-rules -s session.tokenade -r rules.json
419
+ tokenade diff file1.tokenade file2.tokenade
420
+ ```
421
+
422
+ ### Profile Management
423
+
424
+ ```bash
425
+ tokenade profile create --name "Work" --browser chrome
426
+ tokenade profile list
427
+ tokenade profile get --name "Work"
428
+ tokenade profile delete --name "Work"
429
+ tokenade profile export --name "Work" -o work-profile.json
430
+ tokenade profile import --file work-profile.json
431
+ tokenade profile recent
432
+ tokenade profile stats
433
+ ```
434
+
435
+ ### Fingerprint
436
+
437
+ ```bash
438
+ tokenade fingerprint --browser chrome --platform windows
439
+ tokenade fingerprint --seed my-seed --count 5
440
+ ```
441
+
442
+ ### Multi-Profile Sync
443
+
444
+ ```bash
445
+ tokenade sync --action "navigate,url=https://example.com;click,button#submit"
446
+ ```
447
+
448
+ ### Plugins
449
+
450
+ ```bash
451
+ tokenade plugin list # List installed plugins
452
+ tokenade plugin install <name> # Install from marketplace
453
+ tokenade plugin uninstall <name> # Remove plugin
454
+ tokenade plugin info <name> # Plugin details
455
+ tokenade plugin enable <name> # Enable plugin
456
+ tokenade plugin disable <name> # Disable plugin
457
+ tokenade plugin update <name> # Update plugin
458
+ tokenade plugin reload # Reload all plugins
459
+ tokenade plugin search <query> # Search marketplace
460
+ tokenade plugin categories # List categories
461
+ tokenade plugin popular # Top by downloads
462
+ tokenade plugin recent # Recently added
463
+ tokenade plugin trending # Trending plugins
464
+ tokenade plugin rate <name> <1-5> # Rate plugin
465
+ tokenade plugin verify <name> # Verify checksum
466
+ tokenade plugin outdated # Check for updates
467
+ tokenade plugin browse # Generate HTML marketplace
468
+ tokenade plugin test <name> # Run plugin test suite
469
+ ```
470
+
471
+ ### Server
472
+
473
+ ```bash
474
+ tokenade serve --port 8080 # Start REST API server
475
+ ```
476
+
477
+ ### Configuration
478
+
479
+ ```bash
480
+ tokenade config show # View all config
481
+ tokenade config set default_browser brave
482
+ tokenade config set stealth_level maximum
483
+ tokenade config get default_browser
484
+ tokenade config path
485
+ ```
486
+
487
+ ### Daemon
488
+
489
+ ```bash
490
+ tokenade daemon start # Start background daemon
491
+ tokenade daemon stop # Stop daemon
492
+ tokenade daemon status # Check daemon status
493
+ tokenade daemon add session.tokenade # Add session to daemon
494
+ tokenade daemon remove session.tokenade # Remove session
495
+ tokenade daemon list # List managed sessions
496
+ ```
497
+
498
+ ### Session Versioning
499
+
500
+ ```bash
501
+ tokenade versions list session.tokenade # List versions
502
+ tokenade versions create session.tokenade # Create version
503
+ tokenade versions delete session.tokenade 2 # Delete version
504
+ tokenade rollback session.tokenade 2 # Rollback to version
505
+ tokenade session-diff session.tokenade 1 2 # Diff versions
506
+ ```
507
+
508
+ ### Logging
509
+
510
+ ```bash
511
+ tokenade logs # View recent logs
512
+ tokenade logs --follow # Tail logs
513
+ tokenade logs --search "error" # Search logs
514
+ tokenade logs --json # JSON format
515
+ ```
516
+
517
+ ### Other Commands
518
+
519
+ ```bash
520
+ tokenade batch-export # Batch export multiple sessions
521
+ tokenade batch-load # Batch load sessions
522
+ tokenade batch-refresh # Batch refresh with rate limiting
523
+ tokenade clone-profile # Clone browser profile
524
+ tokenade completion # Shell completion
525
+ tokenade container start/status/health # Docker container management
526
+ tokenade deps # System dependency check
527
+ tokenade inject-profile # Inject session into browser profile
528
+ tokenade k8s deploy/status/scale # Kubernetes management
529
+ tokenade mobile-import # Import from Android/iOS
530
+ tokenade monitor start/stop/status/history # Session monitoring
531
+ tokenade oauth-config # Configure OAuth
532
+ tokenade patch-chrome scan/patch/restore # Chrome binary patching
533
+ tokenade refresh-oauth # Refresh OAuth tokens
534
+ tokenade setup # Initial setup
535
+ tokenade transfer # Transfer sessions
536
+ tokenade validate-session # CI/CD validation
537
+ ```
538
+
539
+ ## How It Works
540
+
541
+ ### 1. Session Export
542
+
543
+ ```
544
+ Your Browser (Firefox/Chrome/Safari/Tor)
545
+
546
+
547
+ ┌─────────────────┐
548
+ │ tokenade export │
549
+ └─────────────────┘
550
+
551
+
552
+ ┌─────────────────┐
553
+ │ Read SQLite DB │──── Browser stores cookies in SQLite
554
+ └─────────────────┘
555
+
556
+
557
+ ┌─────────────────┐
558
+ │ Decrypt Cookies │──── Platform-specific decryption
559
+ └─────────────────┘
560
+
561
+
562
+ ┌─────────────────┐
563
+ │ Package .tokenade│──── JSON with cookies, fingerprint, TLS profile
564
+ └─────────────────┘
565
+
566
+
567
+ session.tokenade
568
+ ```
569
+
570
+ ### 2. Session Injection (CDP Proxy)
571
+
572
+ ```
573
+ .tokenade file
574
+
575
+
576
+ ┌─────────────────┐
577
+ │ tokenade proxy │
578
+ └─────────────────┘
579
+
580
+
581
+ ┌─────────────────┐
582
+ │ Launch Chromium │──── Playwright browser
583
+ └─────────────────┘
584
+
585
+
586
+ ┌─────────────────┐
587
+ │ Inject Cookies │──── Add to browser context
588
+ └─────────────────┘
589
+
590
+
591
+ ┌─────────────────┐
592
+ │ page.route() │──── Intercept ALL browser requests
593
+ └─────────────────┘
594
+
595
+
596
+ ┌─────────────────┐
597
+ │ curl-cffi │──── Forward with donor TLS fingerprint
598
+ │ (TLS matched) │
599
+ └─────────────────┘
600
+
601
+
602
+ http://127.0.0.1:9222
603
+ You are logged in as donor
604
+ ```
605
+
606
+ ### 3. TLS Fingerprint Matching (Why It Works)
607
+
608
+ ```
609
+ Without Tokenade:
610
+ Your Browser → Your TLS fingerprint → Blocked by Cloudflare
611
+
612
+ With Tokenade:
613
+ Your Browser → Tokenade Proxy → Donor's TLS fingerprint → Allowed
614
+
615
+ curl-cffi impersonates Chrome's TLS handshake (JA3 hash),
616
+ so servers see the donor's fingerprint, not yours.
617
+ ```
618
+
619
+ ## Why Tokenade?
620
+
621
+ | Feature | Tokenade (honest) | Browser Extensions | Simple cookie dump tools |
622
+ |---------|-------------------|--------------------|--------------------------|
623
+ | **CLI + portable `.tokenade` files** | Yes | Usually no | Partial |
624
+ | **TLS-matched CDP proxy** | Yes (needs `curl-cffi`) | No | No |
625
+ | **Multi-browser extract** | Yes (desktop strong) | Limited | Varies |
626
+ | **localStorage packaging** | Yes (Telegram proven) | Varies | Rare |
627
+ | **Encrypted session files** | Yes (core AES-GCM) | Rare | Rare |
628
+ | **Undetectable vs all bot labs** | **No — do not claim this** | No | No |
629
+ | **Full Multilogin replacement** | **No** | No | No |
630
+ | **Self-hosted** | Yes | N/A | Yes |
631
+
632
+ ## What's New in v6.4
633
+
634
+ - **Plugin API v1.0/v1.1** — Base classes + PluginResult/PluginConfig
635
+ - **Full ecosystem transfer format** — `.tokenade` v3 storage.local / storage.session per origin
636
+ - **Encryption at export** — `--encrypt-password` uses core encryptor
637
+ - **Plugin-first export** — site handlers can drive domains/critical cookies
638
+ - **Honesty pass (2026-07-09)** — removed Grade A / fake plugin stats; single crypto path for session-encrypt plugin
639
+
640
+ ## What's New in v6.3
641
+
642
+ - **Stealth modules consolidated** — `core/browser/stealth/` package (manager, launcher, cloak, backend)
643
+ - **CLI handlers split** — `cli/handlers/` with infrastructure, CI, misc modules
644
+ - **Test suite optimization** — pytest-xdist parallel execution (150s → 27s)
645
+
646
+ ## What's New in v6.2
647
+
648
+ - **CloakBrowser Integration** — Stealth Chromium binary with 58 C++ patches as default backend
649
+ - **Session CI Runner** — `tokenade ci run` reads `tokenade.yml` for automated session validation
650
+ - **Fleet Management** — `tokenade fleet status|health|refresh|logs` across Docker/k8s containers
651
+ - **Session Forensics** — `tokenade autopsy -s session.tokenade` — root-cause analysis for dead sessions
652
+ - **Interactive TUI** — `tokenade tui` — marketplace browser, session manager, keyboard navigation
653
+
654
+ ## What's New in v6.0
655
+
656
+ - **Enhanced Browser Stealth** — 14 patch categories, 2026-grade anti-detection
657
+ - **Cloudflare & Akamai Bypass** — Turnstile solver, cf_clearance extraction, residential proxy support
658
+ - **CAPTCHA Detection** — Turnstile, hCaptcha, reCAPTCHA detection
659
+ - **Plugin Marketplace** — Search, categories, ratings, trending, HTML marketplace page
660
+ - **Profile Manager** — Create, list, export/import browser profiles
661
+ - **Fingerprint Generator** — OS/hardware-aware deterministic fingerprints
662
+ - **Multi-Profile Sync** — Execute actions across multiple browser profiles
663
+ - **Competitor Import** — Import sessions from AdsPower, Multilogin, GoLogin
664
+ - **Stealth Testing** — 18-point automated detection test suite with HTML/JSON reports
665
+ - **Python 3.10+ Required** — Dropped Python 3.9 support
666
+
667
+ ## Installation
668
+
669
+ ```bash
670
+ pip install tokenade
671
+ ```
672
+
673
+ CloakBrowser (stealth Chromium with 58 C++ patches) is a core dependency. The binary (~200MB) auto-downloads on first use.
674
+
675
+ ### Optional Dependencies
676
+
677
+ ```bash
678
+ pip install tokenade[enterprise] # ldap3 for LDAP/SSO (experimental)
679
+ pip install tokenade[linux] # secretstorage for Linux keyring
680
+ pip install 'tokenade[tui]' # Interactive terminal UI (textual)
681
+ # tokenade[runtime] still installs curl-cffi (now also a core dependency)
682
+ ```
683
+
684
+ **Note:** `curl-cffi` is a **core** dependency (P1). TLS-matched proxy fails closed if it is missing (broken install), instead of silently degrading.
685
+
686
+ ### Development
687
+
688
+ ```bash
689
+ git clone https://github.com/mihir0209/tokenade.git
690
+ cd tokenade
691
+ pip install -e ".[dev]"
692
+ playwright install chromium --with-deps
693
+ ```
694
+
695
+ ## .tokenade File Format
696
+
697
+ ```json
698
+ {
699
+ "version": "2.0",
700
+ "created_at": "2026-06-27T12:00:00Z",
701
+ "source_device": {
702
+ "browser": "firefox",
703
+ "profile": "default",
704
+ "platform": "Linux",
705
+ "hostname": "my-pc"
706
+ },
707
+ "site_name": "google",
708
+ "auth_status": "logged_in",
709
+ "cookies": [
710
+ {
711
+ "name": "SID",
712
+ "value": "abc123",
713
+ "domain": ".google.com",
714
+ "path": "/",
715
+ "secure": true,
716
+ "httpOnly": true,
717
+ "sameSite": "Lax",
718
+ "expires": 1781000000
719
+ }
720
+ ],
721
+ "fingerprint": {
722
+ "user_agent": "Mozilla/5.0 ...",
723
+ "platform": "Linux",
724
+ "language": "en-US"
725
+ },
726
+ "tls_profile": {
727
+ "browser": "chrome",
728
+ "version": "131",
729
+ "impersonate": "chrome131",
730
+ "http_version": "2"
731
+ },
732
+ "metadata": {
733
+ "cookie_count": 50,
734
+ "critical_cookie_count": 30
735
+ }
736
+ }
737
+ ```
738
+
739
+ ## Architecture
740
+
741
+ ```
742
+ tokenade/
743
+ ├── core/
744
+ │ ├── browser/
745
+ │ │ ├── stealth.py # 14-patch stealth injection
746
+ │ │ ├── stealth_test.py # 18-point detection test suite
747
+ │ │ ├── dashboard.py # HTML/JSON detection reports
748
+ │ │ ├── cloudflare.py # Cloudflare & Akamai bypass
749
+ │ │ ├── captcha.py # CAPTCHA detection
750
+ │ │ ├── tls_fingerprint.py # curl-cffi TLS matching
751
+ │ │ ├── undetectable.py # System browser launcher
752
+ │ │ ├── cdp_connection.py # CDP WebSocket connection
753
+ │ │ ├── patcher.py # Chrome binary patcher
754
+ │ │ ├── profiles.py # Browser profile manager
755
+ │ │ ├── fingerprint.py # Fingerprint generator
756
+ │ │ ├── synchronizer.py # Multi-profile sync
757
+ │ │ └── dependencies.py # System dependency checker
758
+ │ ├── proxy/
759
+ │ │ ├── cdp_proxy.py # CDP proxy (recommended)
760
+ │ │ ├── forward_proxy.py # HTTP forward proxy
761
+ │ │ ├── multi_site_proxy.py # Multi-site bundler
762
+ │ │ ├── rotation.py # Proxy rotation
763
+ │ │ └── residential.py # Residential proxy pool
764
+ │ ├── importer/
765
+ │ │ ├── browser_discovery.py # Find browser profiles
766
+ │ │ ├── cookie_extractor.py # Extract cookies from SQLite
767
+ │ │ ├── session_packager.py # Package into .tokenade
768
+ │ │ ├── session_loader.py # Load .tokenade into browser
769
+ │ │ ├── session_refresher.py # Auto-refresh sessions
770
+ │ │ ├── session_sharer.py # Email, webhook, QR codes
771
+ │ │ ├── session_manager.py # Multi-session management
772
+ │ │ ├── competitor_import.py # AdsPower/Multilogin/GoLogin import
773
+ │ │ └── mobile_import.py # Android/iOS import
774
+ │ ├── integration/
775
+ │ │ ├── plugin_loader.py # Plugin auto-discovery
776
+ │ │ ├── plugin_registry.py # Plugin marketplace registry
777
+ │ │ ├── plugin_search.py # TF-IDF search index
778
+ │ │ ├── plugin_browser.py # HTML marketplace generator
779
+ │ │ ├── plugin_verifier.py # SHA256 verification
780
+ │ │ ├── plugin_testing.py # Plugin test runner
781
+ │ │ └── container_orchestrator.py
782
+ │ ├── crypto/
783
+ │ │ ├── encryptor.py # AES-256-GCM encryption
784
+ │ │ └── at_rest.py # Transparent encryption at rest
785
+ │ ├── security/
786
+ │ │ ├── credentials.py # Credential management
787
+ │ │ └── audit.py # Audit logging, RBAC, LDAP
788
+ │ ├── api/
789
+ │ │ └── server.py # REST API server
790
+ │ ├── daemon/
791
+ │ │ └── session_daemon.py # Background refresh daemon
792
+ │ ├── logging/
793
+ │ │ └── structured.py # JSON structured logging
794
+ │ ├── config.py # Config file support
795
+ │ └── utils/
796
+ │ └── performance.py # LRU cache, connection pooling
797
+ ├── cli/ # 47 CLI commands
798
+ ├── plugin/
799
+ │ └── base.py # Plugin base classes
800
+ ├── handlers/ # Site-specific handlers
801
+ ├── extension/ # Browser extension
802
+ └── tests/ # large automated suite (~5250 tests; not a quality grade)
803
+ ```
804
+
805
+ ## Security
806
+
807
+ - Session files contain raw cookies — treat like passwords
808
+ - Use `tokenade encrypt` to encrypt at rest
809
+ - The proxy runs on `127.0.0.1` only (not accessible from network)
810
+ - Cookies are injected into an isolated Playwright browser context
811
+ - SSRF protection blocks private/loopback/link-local IPs
812
+ - HMAC-SHA256 signatures on shared sessions
813
+ - Audit logging tracks all session operations
814
+ - Stealth patches hide automation artifacts from detection
815
+ - Residential proxy support for anonymous session refresh
816
+
817
+ ## Documentation
818
+
819
+ - [Use Cases & Competitor Comparison](USE-CASES.md)
820
+ - [Site Configurations](docs/SITE_CONFIGS.md)
821
+ - [Troubleshooting Guide](docs/TROUBLESHOOTING.md)
822
+ - [Tutorials](docs/)
823
+ - [API Reference](docs/API.md)
824
+ - [Architecture](docs/ARCHITECTURE.md)
825
+ - [Security](docs/SECURITY.md)
826
+ - [Competitor Comparison](docs/competitor-comparison.md)
827
+ - [Contributing](docs/CONTRIBUTING.md)
828
+
829
+ ## License
830
+
831
+ MIT License