config.json 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "type": "object",
  4. "additionalProperties": false,
  5. "properties": {
  6. "CHROME_BINARY": {
  7. "type": "string",
  8. "default": "chromium",
  9. "x-aliases": ["CHROMIUM_BINARY", "GOOGLE_CHROME_BINARY"],
  10. "description": "Path to Chrome/Chromium binary"
  11. },
  12. "CHROME_NODE_BINARY": {
  13. "type": "string",
  14. "default": "node",
  15. "x-fallback": "NODE_BINARY",
  16. "description": "Path to Node.js binary (for Puppeteer)"
  17. },
  18. "CHROME_TIMEOUT": {
  19. "type": "integer",
  20. "default": 60,
  21. "minimum": 5,
  22. "x-fallback": "TIMEOUT",
  23. "description": "Timeout for Chrome operations in seconds"
  24. },
  25. "CHROME_HEADLESS": {
  26. "type": "boolean",
  27. "default": true,
  28. "description": "Run Chrome in headless mode"
  29. },
  30. "CHROME_SANDBOX": {
  31. "type": "boolean",
  32. "default": true,
  33. "description": "Enable Chrome sandbox (disable in Docker with --no-sandbox)"
  34. },
  35. "CHROME_RESOLUTION": {
  36. "type": "string",
  37. "default": "1440,2000",
  38. "pattern": "^\\d+,\\d+$",
  39. "x-fallback": "RESOLUTION",
  40. "description": "Browser viewport resolution (width,height)"
  41. },
  42. "CHROME_USER_DATA_DIR": {
  43. "type": "string",
  44. "default": "",
  45. "description": "Path to Chrome user data directory for persistent sessions (derived from ACTIVE_PERSONA if not set)"
  46. },
  47. "CHROME_USER_AGENT": {
  48. "type": "string",
  49. "default": "",
  50. "x-fallback": "USER_AGENT",
  51. "description": "User agent string for Chrome"
  52. },
  53. "CHROME_ARGS": {
  54. "type": "array",
  55. "items": {"type": "string"},
  56. "default": [
  57. "--no-first-run",
  58. "--no-default-browser-check",
  59. "--disable-default-apps",
  60. "--disable-sync",
  61. "--disable-infobars",
  62. "--disable-blink-features=AutomationControlled",
  63. "--disable-component-update",
  64. "--disable-domain-reliability",
  65. "--disable-breakpad",
  66. "--disable-client-side-phishing-detection",
  67. "--disable-hang-monitor",
  68. "--disable-speech-synthesis-api",
  69. "--disable-speech-api",
  70. "--disable-print-preview",
  71. "--disable-notifications",
  72. "--disable-desktop-notifications",
  73. "--disable-popup-blocking",
  74. "--disable-prompt-on-repost",
  75. "--disable-external-intent-requests",
  76. "--disable-session-crashed-bubble",
  77. "--disable-search-engine-choice-screen",
  78. "--disable-datasaver-prompt",
  79. "--ash-no-nudges",
  80. "--hide-crash-restore-bubble",
  81. "--suppress-message-center-popups",
  82. "--noerrdialogs",
  83. "--no-pings",
  84. "--silent-debugger-extension-api",
  85. "--deny-permission-prompts",
  86. "--safebrowsing-disable-auto-update",
  87. "--metrics-recording-only",
  88. "--password-store=basic",
  89. "--use-mock-keychain",
  90. "--disable-cookie-encryption",
  91. "--font-render-hinting=none",
  92. "--force-color-profile=srgb",
  93. "--disable-partial-raster",
  94. "--disable-skia-runtime-opts",
  95. "--disable-2d-canvas-clip-aa",
  96. "--enable-webgl",
  97. "--hide-scrollbars",
  98. "--export-tagged-pdf",
  99. "--generate-pdf-document-outline",
  100. "--disable-lazy-loading",
  101. "--disable-renderer-backgrounding",
  102. "--disable-background-networking",
  103. "--disable-background-timer-throttling",
  104. "--disable-backgrounding-occluded-windows",
  105. "--disable-ipc-flooding-protection",
  106. "--disable-extensions-http-throttling",
  107. "--disable-field-trial-config",
  108. "--disable-back-forward-cache",
  109. "--autoplay-policy=no-user-gesture-required",
  110. "--disable-gesture-requirement-for-media-playback",
  111. "--lang=en-US,en;q=0.9",
  112. "--log-level=2",
  113. "--enable-logging=stderr"
  114. ],
  115. "x-aliases": ["CHROME_DEFAULT_ARGS"],
  116. "description": "Default Chrome command-line arguments (static flags only, dynamic args like --user-data-dir are added at runtime)"
  117. },
  118. "CHROME_ARGS_EXTRA": {
  119. "type": "array",
  120. "items": {"type": "string"},
  121. "default": [],
  122. "x-aliases": ["CHROME_EXTRA_ARGS"],
  123. "description": "Extra arguments to append to Chrome command (for user customization)"
  124. },
  125. "CHROME_PAGELOAD_TIMEOUT": {
  126. "type": "integer",
  127. "default": 60,
  128. "minimum": 5,
  129. "x-fallback": "CHROME_TIMEOUT",
  130. "description": "Timeout for page navigation/load in seconds"
  131. },
  132. "CHROME_WAIT_FOR": {
  133. "type": "string",
  134. "default": "networkidle2",
  135. "enum": ["domcontentloaded", "load", "networkidle0", "networkidle2"],
  136. "description": "Page load completion condition (domcontentloaded, load, networkidle0, networkidle2)"
  137. },
  138. "CHROME_DELAY_AFTER_LOAD": {
  139. "type": "number",
  140. "default": 0,
  141. "minimum": 0,
  142. "description": "Extra delay in seconds after page load completes before archiving (useful for JS-heavy SPAs)"
  143. },
  144. "CHROME_CHECK_SSL_VALIDITY": {
  145. "type": "boolean",
  146. "default": true,
  147. "x-fallback": "CHECK_SSL_VALIDITY",
  148. "description": "Whether to verify SSL certificates (disable for self-signed certs)"
  149. }
  150. }
  151. }