{"id":20548575,"url":"https://github.com/smilyorg/website-image-proxy","last_synced_at":"2026-06-05T19:31:37.196Z","repository":{"id":75930468,"uuid":"396492233","full_name":"SmilyOrg/website-image-proxy","owner":"SmilyOrg","description":"Simple proxy that serves a website as an image","archived":false,"fork":false,"pushed_at":"2023-03-07T18:13:07.000Z","size":312,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-06T05:29:41.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/SmilyOrg.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-15T20:53:45.000Z","updated_at":"2025-02-07T16:52:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"b2ceb69b-4553-456b-b33e-16d3733c949c","html_url":"https://github.com/SmilyOrg/website-image-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SmilyOrg/website-image-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmilyOrg%2Fwebsite-image-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmilyOrg%2Fwebsite-image-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmilyOrg%2Fwebsite-image-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmilyOrg%2Fwebsite-image-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SmilyOrg","download_url":"https://codeload.github.com/SmilyOrg/website-image-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmilyOrg%2Fwebsite-image-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33957498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-16T02:13:55.317Z","updated_at":"2026-06-05T19:31:37.164Z","avatar_url":"https://github.com/SmilyOrg.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Website Image Proxy\n\nThe Website Image Proxy is a simple service that tries to provide an up-to-date\nscreenshot of a website. This is useful for displaying websites on low-power IoT\ndevices like the [Inkplate], where running a full web browser is not feasible.\n\n![header image](docs/header.png)\n\nIt will always serve the latest available screenshot immediately without\nwaiting. The neat trick it does is that it expects to be called on a regular\ninterval, so it learns this interval and updates the screenshot _just before_\neach call is made. In practice, it means that the screenshots are always fresh\n(less than a minute out of date) without the need for manual synchronization or\nconfiguration.\n\n## Usage\n\n### Docker (recommended)\n\nThis is the easiest way as it includes all the dependencies needed already.\nTested on a Windows 10 PC (Docker for Desktop) and Synology DS418play.\n\n1. Build and run the server via `docker-compose.yml`\n    ```sh\n    URL=https://google.com docker compose up --build\n    ```\n2. Go to http://localhost:8000/page.png to get a screenshot of the website\nprovided by the URL. You should get a HTTP 204 response until the first\nscreenshot has been made and afterwards the latest available screenshot.\n\nYou can also use an `.env` file:\n\n```sh\n# .env\nURL=https://google.com\n```\n```sh\ndocker compose up\n```\n\nThere are no prebuilt images available yet.\n\n### node.js\n\nThis is also not too bad as Puppeteer downloads the required browsers\nautomatically, faster for development.\n\n1. `npm install` (once to install dependencies)\n2. Create an `.env` file to set up environment variables.\n  ```sh\n  # .env\n  URL=https://google.com\n  ```\n3. `npm start` to run the server.\n4. Go to http://localhost:8000/page.png to get a screenshot of the website\nprovided by the URL. You should get a HTTP 204 response until the first\nscreenshot has been made and afterwards the latest available screenshot.\n\n## Built With\n\n* [Puppeteer]\n* [Fastify]\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to\ndiscuss what you would like to change.\n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n\n[Inkplate]: https://inkplate.io/\n[Puppeteer]: https://github.com/puppeteer/puppeteer\n[Fastify]: https://www.fastify.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmilyorg%2Fwebsite-image-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmilyorg%2Fwebsite-image-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmilyorg%2Fwebsite-image-proxy/lists"}