{"id":22151015,"url":"https://github.com/justcoded/goprerender","last_synced_at":"2025-03-24T13:20:41.677Z","repository":{"id":40390551,"uuid":"412416425","full_name":"justcoded/goprerender","owner":"justcoded","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-04T08:45:42.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-29T18:22:45.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/justcoded.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-01T10:06:21.000Z","updated_at":"2021-10-05T12:41:39.000Z","dependencies_parsed_at":"2022-08-18T03:00:59.554Z","dependency_job_id":null,"html_url":"https://github.com/justcoded/goprerender","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justcoded%2Fgoprerender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justcoded%2Fgoprerender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justcoded%2Fgoprerender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justcoded%2Fgoprerender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justcoded","download_url":"https://codeload.github.com/justcoded/goprerender/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245276093,"owners_count":20588895,"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":[],"created_at":"2024-12-02T00:29:45.032Z","updated_at":"2025-03-24T13:20:41.657Z","avatar_url":"https://github.com/justcoded.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"GO Prerender\n===========================\n\n\u003e Inspired by https://github.com/goprerender/prerender\n\nGO Prerender is a dockerized server app written in Golang that uses Headless Chrome to render HTML and JS files out of\nany web page.\nThe Prerender server listens for a http request, takes the URL and loads it in Headless Chrome, waits for the page to\nfinish loading by waiting for the network to be idle, and then returns your content.\n\n#### In memory cache\n\nIt caches pages in memory using prerender `storage` container.\n\n### Installation\n\n* clone repository\n* run `make init`\n* configure `.env` and `docker-compose.yml` to fit your needs or use the default.\n* run `make up` - this will build and start docker containers\n\n### Development\n\nRun `make build-server` to build server Go application.  \nRun `make build-storage` to build storage Go application.  \nRun `make build` to build both Go applications server and storage.\n\n#### Usage\n\nTo run docker compose stack just run `make up`.\n\nTo prerender some URL you need to specify it as a query parameter, like this:\n\n```\nhttp://localhost:3000/render?url=https://www.example.com/\n```\n\n#### Clear cache\n\nCached pages are valid for 7 days by default, but you can force clear it.\n\nTo purge all cached pages you need to send the`Clear-Site-Data` header with the value `*`. To remove only one page from\ncache, just pass `Cache-Control` header with the value `must-revalidate`.\n\nJust send a usual request to\n\n```\nhttp://localhost:3000/render?url=https://www.example.com/\n```\n\nWith this header, to remove the cached page\n\n```\nCache-Control: must-revalidate\n```\n\nor, to flush all cache\n\n```\nClear-Site-Data: *\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustcoded%2Fgoprerender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustcoded%2Fgoprerender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustcoded%2Fgoprerender/lists"}