{"id":13705700,"url":"https://github.com/bosondata/chrome-prerender","last_synced_at":"2025-05-05T16:33:48.165Z","repository":{"id":80916949,"uuid":"85672456","full_name":"bosondata/chrome-prerender","owner":"bosondata","description":"Render JavaScript-rendered page as HTML/PDF/mhtml/png/jpeg using Headless Chrome","archived":true,"fork":false,"pushed_at":"2018-08-16T15:32:01.000Z","size":268,"stargazers_count":165,"open_issues_count":7,"forks_count":20,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-08-03T22:15:49.945Z","etag":null,"topics":["prerender","prerender-daemon","server-rendering"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bosondata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-03-21T07:36:58.000Z","updated_at":"2023-03-05T11:29:20.000Z","dependencies_parsed_at":"2023-03-12T12:43:43.700Z","dependency_job_id":null,"html_url":"https://github.com/bosondata/chrome-prerender","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosondata%2Fchrome-prerender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosondata%2Fchrome-prerender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosondata%2Fchrome-prerender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosondata%2Fchrome-prerender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bosondata","download_url":"https://codeload.github.com/bosondata/chrome-prerender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224455909,"owners_count":17314204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["prerender","prerender-daemon","server-rendering"],"created_at":"2024-08-02T22:00:46.336Z","updated_at":"2024-11-13T13:30:49.748Z","avatar_url":"https://github.com/bosondata.png","language":"Python","readme":"# prerender\n\nRender JavaScript-rendered page as HTML/PDF/mhtml/png/jpeg using headless Chrome\n\n## Install Chrome\n\nHeadless mode is supported in Chrome stable 59+ and unstable/dev channel, you should be able to install it via:\n\nhttps://www.google.com/chrome/browser/beta.html?platform=linux\n\n## Start Chrome Headless\n\n```bash\n$ google-chrome --headless --remote-debugging-port=9222 --disable-gpu \"about:blank\"\n```\n\nTo disable image loading, add `--blink-settings=imagesEnabled=false` argument:\n\n```bash\n$ google-chrome --headless --remote-debugging-port=9222 --disable-gpu --blink-settings=imagesEnabled=false \"about:blank\"\n```\n\n## Install Prerender\n\n```bash\n$ pip install -U prerender\n```\n\n## Start Prerender\n\nAs standalone application:\n\n```bash\n$ prerender\n```\n\nTo run it under gunicorn:\n\n```bash\n$ gunicorn --bind 0.0.0.0:3000 --worker-class sanic.worker.GunicornWorker prerender.app:app\n```\n\n## How does it work\n\nSay you deployed Prerender under `http://prerender.example.com:8000`, to render `http://example.com` you can do:\n\n```bash\n$ # render HTML\n$ curl http://prerender.example.com:8000/http://example.com\n$ curl http://prerender.example.com:8000/html/http://example.com\n$ # render mhtml\n$ curl http://prerender.example.com:8000/mhtml/http://example.com\n$ # render PDF\n$ curl http://prerender.example.com:8000/pdf/http://example.com\n$ # render png\n$ curl http://prerender.example.com:8000/png/http://example.com\n$ # render jpeg\n$ curl http://prerender.example.com:8000/jpeg/http://example.com\n```\n\n## Configuration\n\nSettings are mostly configured by environment variables.\n\n| ENV                        | default value    | description                                                                                     |\n|----------------------------|------------------|-------------------------------------------------------------------------------------------------|\n| HOST                       | 0.0.0.0          | Prerender listen host                                                                           |\n| PORT                       | 8000             | Prerender listen port                                                                           |\n| DEBUG                      | false            | Toggle debug mode                                                                               |\n| PRERENDER_TIMEOUT          | 30               | renderring timeout                                                                              |\n| PAGE_DONE_CHECK_TIMEOUT    | 200              | Number of milliseconds between the interval of checking whether the page is done loading or not |\n| CONCURRENCY                | 2 * CPU count    | Chrome pages count                                                                              |\n| MAX_ITERATIONS             | 200              | Restart Chrome page after rendering this many pages                                             |\n| CHROME_HOST                | localhost        | Chrome remote debugging host                                                                    |\n| CHROME_PORT                | 9222             | Chrome remote debugging port                                                                    |\n| USER_AGENT                 |                  | Chrome User Agent                                                                               |\n| BLOCK_FONTS                | 1                | Block web fonts loading, set to 0 to allow fonts loading                                        |\n| ALLOWED_DOMAINS            |                  | Domains allowed for renderring, comma seperated                                                 |\n| CACHE_BACKEND              | dummy            | Cache backend, `dummy`, `disk`, `s3`                                                            |\n| CACHE_LIVE_TIME            | 3600             | Disk cache live seconds                                                                         |\n| CACHE_ROOT_DIR             | /tmp/prerender   | Disk cache root directory                                                                       |\n| S3_SERVER                  | s3.amazonaws.com | S3 server address                                                                               |\n| S3_ACCESS_KEY              |                  | S3 access key                                                                                   |\n| S3_SECRET_KEY              |                  | S3 secret key                                                                                   |\n| S3_REGION                  |                  | S3 region                                                                                       |\n| S3_BUCKET                  | prerender        | S3 bucket name                                                                                  |\n| SENTRY_DSN                 |                  | Sentry DSN, for exception monitoring                                                            |\n| ENABLE_CIRCUIT_BREAKER     | false            | enable circuit breaker                                                                          |\n| CIRCUIT_BREAKER_FAIL_MAX   | 5                | maximum failures per browser/bot before circuit breaker open                                    |\n| CIRCUIT_BREAKER_RESET_TIMEOUT | 60            | circuit breaker reset timeout in seconds                                                        |\n\n## Configure client\n\nPlease view the original NodeJs version [prerender](https://github.com/prerender/prerender#official-middleware) README.\n\n## License\n\nMIT\n","funding_links":[],"categories":["Resources"],"sub_categories":["Built with Sanic"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbosondata%2Fchrome-prerender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbosondata%2Fchrome-prerender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbosondata%2Fchrome-prerender/lists"}