{"id":13426761,"url":"https://github.com/afeld/jsonp","last_synced_at":"2025-10-22T18:18:08.829Z","repository":{"id":3245535,"uuid":"4282803","full_name":"afeld/jsonp","owner":"afeld","description":"DEPRECATED - A proxy to help with cross-domain requests","archived":true,"fork":false,"pushed_at":"2022-02-08T04:14:43.000Z","size":3192,"stargazers_count":301,"open_issues_count":15,"forks_count":39,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-04-08T17:10:06.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jsonp.afeld.me","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/afeld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-05-10T09:51:16.000Z","updated_at":"2024-02-23T20:00:36.000Z","dependencies_parsed_at":"2022-07-19T03:17:10.528Z","dependency_job_id":null,"html_url":"https://github.com/afeld/jsonp","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fjsonp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fjsonp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fjsonp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fjsonp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afeld","download_url":"https://codeload.github.com/afeld/jsonp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243792592,"owners_count":20348671,"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-07-31T00:01:43.814Z","updated_at":"2025-10-22T18:18:03.490Z","avatar_url":"https://github.com/afeld.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Services"],"sub_categories":[],"readme":"***The hosting for jsonp.afeld.me became too expensive to pay out of pocket, so I have decided to shut this down. Glad so many people found it useful over the years!***\n\n---\n\n# JSONProxy [![Tests](https://github.com/afeld/jsonp/actions/workflows/main.yml/badge.svg)](https://github.com/afeld/jsonp/actions/workflows/main.yml)\n\nHTTP proxy that enables cross-domain requests to any JSON API. See https://jsonp.afeld.me for documentation. See the [releases](https://github.com/afeld/jsonp/releases) page for the [client library](client/jsonp.js) changelog.\n\n## Development\n\nCode is written in a combination of JavaScript and TypeScript. The app is written to be deployed to a [CloudFlare Worker](https://developers.cloudflare.com/workers/) using [Terraform](https://www.terraform.io/), but can be run locally by doing the following:\n\n1. Install NodeJS \u003e= 7.6.0.\n1. Install the dependencies.\n\n   ```sh\n   npm install\n   ```\n\n1. Run the server.\n\n   ```sh\n   npm start\n   ```\n\nSee [CONTRIBUTING](CONTRIBUTING.md) for more info.\n\n## Deployment\n\n1. Install NodeJS \u003e= 7.6.0 and [Terraform](https://learn.hashicorp.com/terraform/getting-started/install.html).\n1. Install the dependencies.\n\n   ```sh\n   npm install\n   ```\n\n1. Set up CloudFlare.\n\n   1. [Sign up for CloudFlare](https://www.cloudflare.com/), and ensure you have a domain pointed there for DNS.\n   1. Get a CloudFlare API key.\n      1. Visit the [API Tokens](https://dash.cloudflare.com/profile/api-tokens) page.\n      1. Click `Create Token`.\n      1. `Use template` for `Edit Cloudflare Workers`.\n      1. Add permissions for `DNS` and `Zone`.\n   1. Go into the [`terraform/`](terraform) directory.\n\n   ```sh\n   cd terraform\n   ```\n\n   1. Create a `terraform/terraform.tfvars` file.\n\n   ```hcl\n   cloudflare_account_id = \"...\"\n   cloudflare_token = \"...\"\n   ```\n\n1. [Create a Terraform Cloud account.](https://app.terraform.io/signup)\n1. Set up Terraform.\n\n   ```sh\n   terraform init\n   ```\n\n1. Deploy the environment.\n\n   ```sh\n   cd ..\n   npm run deploy\n   ```\n\nIf you use [the client library](client/jsonp.js) with your own JSONP deployment, override the proxy URL before calling `$.jsonp()`.\n\n```javascript\n$.jsonp.PROXY = 'https://mydomain.com/proxy/path/';\n```\n\n## See also\n\n- https://github.com/jpillora/xdomain\n- https://github.com/mapbox/corslite\n- http://enable-cors.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafeld%2Fjsonp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafeld%2Fjsonp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafeld%2Fjsonp/lists"}