{"id":22373866,"url":"https://github.com/ayltai/passthrough-proxy-darksky","last_synced_at":"2026-05-01T21:33:20.017Z","repository":{"id":42568163,"uuid":"397506001","full_name":"ayltai/passthrough-proxy-darksky","owner":"ayltai","description":"A pass-through proxy to communicate with DarkSky API server","archived":false,"fork":false,"pushed_at":"2024-02-08T01:26:18.000Z","size":1035,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T17:28:23.464Z","etag":null,"topics":["aws","aws-lambda","darksky","darksky-api","terraform","weather","weather-api"],"latest_commit_sha":null,"homepage":"","language":"HCL","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/ayltai.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-18T07:06:28.000Z","updated_at":"2022-03-30T16:09:06.000Z","dependencies_parsed_at":"2025-01-31T22:53:48.911Z","dependency_job_id":"ad9f43e6-e88a-4761-8a44-c037f1418ec6","html_url":"https://github.com/ayltai/passthrough-proxy-darksky","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ayltai/passthrough-proxy-darksky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayltai%2Fpassthrough-proxy-darksky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayltai%2Fpassthrough-proxy-darksky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayltai%2Fpassthrough-proxy-darksky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayltai%2Fpassthrough-proxy-darksky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayltai","download_url":"https://codeload.github.com/ayltai/passthrough-proxy-darksky/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayltai%2Fpassthrough-proxy-darksky/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259606882,"owners_count":22883558,"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":["aws","aws-lambda","darksky","darksky-api","terraform","weather","weather-api"],"created_at":"2024-12-04T21:15:03.893Z","updated_at":"2025-10-17T05:33:53.593Z","avatar_url":"https://github.com/ayltai.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DarkSky API pass-through proxy server\n\n[![GitHub workflow status](https://img.shields.io/github/workflow/status/ayltai/passthrough-proxy-darksky/CI?style=flat)](https://github.com/ayltai/passthrough-proxy-darksky/actions)\n![Maintenance](https://img.shields.io/maintenance/yes/2021)\n[![Release](https://img.shields.io/github/release/ayltai/passthrough-proxy-darksky.svg?style=flat)](https://github.com/ayltai/passthrough-proxy-darksky/releases)\n[![License](https://img.shields.io/github/license/ayltai/passthrough-proxy-darksky.svg?style=flat)](https://github.com/ayltai/passthrough-proxy-darksky/blob/master/LICENSE)\n\nA pass-through proxy to communicate with [DarkSky](https://darksky.net) API server.\n\n## How it works\n\nIt acts as a simple web proxy that sends all requests it receives to `https://api.darksky.net`. You may need to send your secret key to the proxy if it is a protected API. Check the official [documentation](https://darksky.net/dev/docs).\n\nThe proxy runs on AWS Lambda.\n\n## Supported APIs\n\n* `/forecast`\n\n## Setup\n\n[Terraform](https://www.terraform.io) is used for deployment on AWS.\n\n### Development\n\n[LocalStack](https://localstack.cloud) is used to provide local AWS services.\n\n**Requirements**\n\n* [Docker](https://www.docker.com)\n\n**Steps**\n\n1. Start LocalStack\n   ```shell\n   docker run --rm -it -p 4566:4566 -p 4571:4571 -e \"SERVICES=iam,lambda,apigateway,cloudwatch,logs,sts\" localstack/localstack\n   ```\n2. Run Terraform scripts\n   ```shell\n   cd terraform/local\n   terraform init\n   terraform apply -auto-approve\n   ```\n3. Take note of the outputs when Terraform completes. Example:\n   ```shell\n   Outputs:\n\n   rest_api_url = \"http://localhost:4566/restapis/7rujauhl95/api/_user_request_\"\n   ```\n4. Test the deployed endpoint\n   ```shell\n   curl http://localhost:4566/restapis/7rujauhl95/api/_user_request_/forecast/[secretKey]/[latitude],[longitude]\n   ```\n\n### Production\n\n**Requirements**\n\n* Have an AWS account ready. We will need the Access and Secret Keys to run the Terraform scripts.\n* Have a Terraform account ready. We will need it to store the Terraform states.\n\n**Steps**\n\n1. Run Terraform scripts\n   ```shell\n   cd terraform/remote\n   terraform init\n   terraform apply -auto-approve\n   ```\n2. Take note of the outputs when Terraform completes\n3. Test the deployed endpoint\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayltai%2Fpassthrough-proxy-darksky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayltai%2Fpassthrough-proxy-darksky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayltai%2Fpassthrough-proxy-darksky/lists"}