{"id":13568044,"url":"https://github.com/eea/volto-corsproxy","last_synced_at":"2026-04-09T07:05:19.760Z","repository":{"id":45176595,"uuid":"223901620","full_name":"eea/volto-corsproxy","owner":"eea","description":"A Volto middleware that provides a CORS proxy","archived":false,"fork":false,"pushed_at":"2025-03-12T15:12:49.000Z","size":134,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-03-23T12:15:44.316Z","etag":null,"topics":["builtin-cors-proxy","volto-addon","volto-corsproxy"],"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/eea.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2019-11-25T08:45:36.000Z","updated_at":"2024-04-22T17:22:09.000Z","dependencies_parsed_at":"2024-01-14T03:47:26.112Z","dependency_job_id":"8e6fd35e-b29b-4d3b-9198-ce1449724d65","html_url":"https://github.com/eea/volto-corsproxy","commit_stats":{"total_commits":98,"total_committers":12,"mean_commits":8.166666666666666,"dds":0.7551020408163265,"last_synced_commit":"a712a58860450be7cbc8952a3cf22a27333f53c9"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fvolto-corsproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fvolto-corsproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fvolto-corsproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fvolto-corsproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eea","download_url":"https://codeload.github.com/eea/volto-corsproxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248358548,"owners_count":21090401,"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":["builtin-cors-proxy","volto-addon","volto-corsproxy"],"created_at":"2024-08-01T14:00:19.329Z","updated_at":"2026-04-09T07:05:19.752Z","avatar_url":"https://github.com/eea.png","language":"JavaScript","funding_links":[],"categories":["Add-ons"],"sub_categories":[],"readme":"# volto-corsproxy\n\n[![Releases](https://img.shields.io/github/v/release/eea/volto-corsproxy)](https://github.com/eea/volto-corsproxy/releases)\n\n[![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-corsproxy%2Fmaster\u0026subject=master)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-corsproxy/job/master/display/redirect)\n[![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy)\n[![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy)\n[![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy)\n[![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy)\n\n[![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-corsproxy%2Fdevelop\u0026subject=develop)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-corsproxy/job/develop/display/redirect)\n[![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026branch=develop\u0026metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy\u0026branch=develop)\n[![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026branch=develop\u0026metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy\u0026branch=develop)\n[![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026branch=develop\u0026metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy\u0026branch=develop)\n[![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-corsproxy\u0026branch=develop\u0026metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-corsproxy\u0026branch=develop)\n\n[Volto](https://github.com/plone/volto) add-on\n\n## Features\n\n###\n\nThis package enables fetching data from third-party servers through the Volto\nHTTP server, this way bypassing any CORS security restrictions imposed by the\nbrowser.\n\nThe way it does this is by providing a pass-through CORS proxy server on the\npath (configurable) `/cors-proxy` path. For example, any requests made to the\nURL `http://localhost:3000/cors-proxy/http://example.com/` will be piped to\nthe http://example.com website, through the Volto node server.\n\nAs you wouldn't want to provide an open proxy, all proxied destinations need to\nbe configured either via `settings.allowed_cors_destinations` (which takes\na list of hostnames) or an environment variable called\n`RAZZLE_ALLOWED_CORS_DESTINATIONS` (where you need to provide a comma-separated\nlist of hostnames).\n\nFor example:\n\n```\nsettings.allowed_cors_destinations = ['eea.europa.eu', 'plone.org']\n\n```\n\nor:\n\n```\nRAZZLE_ALLOWED_CORS_DESTINATIONS=eea.europa.eu,plone.org yarn start\n```\n\nAs a convenience feature for dealing with third-party API endpoints, there's\na new action available, `getProxiedExternalContent`, somewhat similar to\nVolto's `getContent`. Call it like: `getProxiedExternalContent(thirdpartyurl)`\nand it will make that async content available in the Redux content reducer, at\n`store.content.subrequests[thirdpartyurl]`.\n\n## Getting started\n\n### Try volto-corsproxy with Docker\n\n      git clone https://github.com/eea/volto-corsproxy.git\n      cd volto-corsproxy\n      make\n      make start\n\nGo to http://localhost:3000\n\n`make start` now defaults to Volto 18. To run the same setup against Volto 17, use:\n\n      VOLTO_VERSION=17 make\n      VOLTO_VERSION=17 make start\n\n### Add volto-corsproxy to your Volto project\n\n1. Make sure you have a [Plone backend](https://plone.org/download) up-and-running at http://localhost:8080/Plone\n\n   ```Bash\n   docker compose up backend\n   ```\n\n1. Start Volto frontend\n\n* If you already have a volto project, just update `package.json`:\n\n   ```JSON\n   \"dependencies\": {\n       \"@eeacms/volto-corsproxy\": \"*\"\n   }\n   ```\n\n   and `volto.config.js`:\n\n   ```JavaScript\n   const addons = ['@eeacms/volto-corsproxy'];\n   ```\n\n* If not, create one with Cookieplone, as recommended by the official Plone documentation for Volto 18+:\n\n   ```\n   uvx cookieplone project\n   cd project-title\n   ```\n\n1. Install or update dependencies, then start the project:\n\n   ```\n   make install\n   ```\n\n   For a Cookieplone project, start the backend and frontend in separate terminals:\n\n   ```\n   make backend-start\n   make frontend-start\n   ```\n\n   For a legacy Volto 17 project, install the package with `yarn` and restart the frontend as usual.\n\n1. Go to http://localhost:3000\n\n1. Happy editing!\n\n## Release\n\nSee [RELEASE.md](https://github.com/eea/volto-corsproxy/blob/master/RELEASE.md).\n\n## How to contribute\n\nSee [DEVELOP.md](https://github.com/eea/volto-corsproxy/blob/master/DEVELOP.md).\n\n## Copyright and license\n\nThe Initial Owner of the Original Code is European Environment Agency (EEA).\nAll Rights Reserved.\n\nSee [LICENSE.md](https://github.com/eea/volto-corsproxy/blob/master/LICENSE.md) for details.\n\n## Funding\n\n[European Environment Agency (EU)](http://eea.europa.eu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Fvolto-corsproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feea%2Fvolto-corsproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Fvolto-corsproxy/lists"}