{"id":18875402,"url":"https://github.com/contextualist/proxlet","last_synced_at":"2025-06-11T15:05:23.215Z","repository":{"id":162428783,"uuid":"190082267","full_name":"Contextualist/proxlet","owner":"Contextualist","description":"a POC, naïve implemetation of serverless reverse proxy for any website","archived":false,"fork":false,"pushed_at":"2019-06-04T03:15:11.000Z","size":3,"stargazers_count":25,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-17T00:27:25.679Z","etag":null,"topics":["reverse-proxy","serverless"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Contextualist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-06-03T21:06:44.000Z","updated_at":"2024-06-19T08:07:51.786Z","dependencies_parsed_at":null,"dependency_job_id":"07f44896-41a5-4169-aa90-899cd2c4704c","html_url":"https://github.com/Contextualist/proxlet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Contextualist%2Fproxlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Contextualist%2Fproxlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Contextualist%2Fproxlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Contextualist%2Fproxlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Contextualist","download_url":"https://codeload.github.com/Contextualist/proxlet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223639397,"owners_count":17177816,"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":["reverse-proxy","serverless"],"created_at":"2024-11-08T06:07:18.678Z","updated_at":"2024-11-08T06:07:19.252Z","avatar_url":"https://github.com/Contextualist.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proxlet\n\n[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/Contextualist/proxlet)\n\nProxlet is a POC, naïve implemetation of serverless reverse proxy for any website.\n\n## Supported Providers\n\n* [Now.sh](https://zeit.co/now)\n* [AWS Lambda](https://aws.amazon.com/lambda)\n* [Google Cloud Functions](https://cloud.google.com/functions)\n\n### Now.sh\n\ndev dependency: [now-cli](https://github.com/zeit/now-cli#usage)\n\n```bash\nnow\n\ncurl https://{app_name}.now.sh/https://httpbin.org/get\n```\n\n### AWS Lambda\n\ndev dependency: [Serverless Framework](https://serverless.com/framework/docs/getting-started/)\n\n```bash\n# First customize serverless.yml's fields: provider.role, provider.region, etc.\nmake aws\n\n# Then go to AWS API Gateway console, Setting, add Binary Media Type \"*/*\".\n# (All contents are base64-encoded and will be decoded by the API Gateway.)\n\ncurl https://{id}.execute-api.{region}.amazonaws.com/dev/https://httpbin.org/get\n```\n\nCAVEAT: All subsequent requests fail because of they are lack of the stage path `/dev`\n\n### Google Cloud Functions\n\ndev dependency: [gcloud](https://cloud.google.com/sdk/docs/quickstarts)\n\n```bash\nmake gcf\n\ncurl https://{region}-{project-id}.cloudfunctions.net/proxlet/https://httpbin.org/get\n```\n\nCAVEAT: All subsequent requests fail because of they are lack of the function path `/proxlet`\n\n## About the Cookie\n\nTo get the real host of subsequent request of relative path, Proxlet sets a session cookie `proxlet-host` with the value of real host. The server does not store the cookie.\n\n## Known Issues\n\n* Cross-site requests are not proxied.\n* Now.sh and AWS Lambda have an HTTP response size limit of 6MB. For GCF, it's 10MB.\n* AWS Lambda's stage path / GCF's function name path makes all subsequent requests impossible *(unless using a custom domain)*.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontextualist%2Fproxlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontextualist%2Fproxlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontextualist%2Fproxlet/lists"}