{"id":14989911,"url":"https://github.com/5ouma/reproxy","last_synced_at":"2025-04-12T01:41:35.733Z","repository":{"id":243212598,"uuid":"810331404","full_name":"5ouma/reproxy","owner":"5ouma","description":"🚚 Deliver any files in the GitHub repository","archived":false,"fork":false,"pushed_at":"2025-03-23T11:35:26.000Z","size":276,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-23T12:26:58.239Z","etag":null,"topics":["bun","cloudflare-workers","curl","deno","file","github","hono","install","jsr","nodejs","oneliner","redirect","repository","reproxy","typescript","wget"],"latest_commit_sha":null,"homepage":"https://jsr.io/@5ouma/reproxy","language":"TypeScript","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/5ouma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"5ouma"}},"created_at":"2024-06-04T13:39:57.000Z","updated_at":"2025-03-23T11:35:12.000Z","dependencies_parsed_at":"2024-12-28T02:17:13.306Z","dependency_job_id":"77d34d44-5477-41f9-b141-37623858cd73","html_url":"https://github.com/5ouma/reproxy","commit_stats":{"total_commits":79,"total_committers":4,"mean_commits":19.75,"dds":"0.21518987341772156","last_synced_commit":"bb5da1bf4774310f630a719166e928b39919a0a2"},"previous_names":["5ouma/reproxy"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5ouma%2Freproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5ouma%2Freproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5ouma%2Freproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5ouma%2Freproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/5ouma","download_url":"https://codeload.github.com/5ouma/reproxy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505752,"owners_count":21115352,"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":["bun","cloudflare-workers","curl","deno","file","github","hono","install","jsr","nodejs","oneliner","redirect","repository","reproxy","typescript","wget"],"created_at":"2024-09-24T14:19:07.557Z","updated_at":"2025-04-12T01:41:35.687Z","avatar_url":"https://github.com/5ouma.png","language":"TypeScript","funding_links":["https://github.com/sponsors/5ouma"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eReproxy\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n**🚚 Deliver any files in the GitHub repository**\n\n\u003cbr /\u003e\n\n[![GitHub Release](https://img.shields.io/github/v/release/5ouma/reproxy?label=Release\u0026style=flat-square)](https://github.com/5ouma/reproxy/releases)\n[![JSR](https://jsr.io/badges/@5ouma/reproxy?style=flat-square)](https://jsr.io/@5ouma/reproxy)\n[![JSR Score](https://jsr.io/badges/@5ouma/reproxy/score)](https://jsr.io/@5ouma/reproxy)\n\u003cbr /\u003e\n[![CI](https://img.shields.io/github/actions/workflow/status/5ouma/reproxy/ci.yml?label=CI\u0026style=flat-square)](https://github.com/5ouma/reproxy/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/github/actions/workflow/status/5ouma/reproxy/release.yml?label=Release\u0026style=flat-square)](https://github.com/5ouma/reproxy/actions/workflows/release.yml)\n[![pre-commit](https://img.shields.io/github/actions/workflow/status/5ouma/reproxy/pre-commit.yml?label=pre-commit\u0026style=flat-square)](https://github.com/5ouma/reproxy/actions/workflows/pre-commit.yml)\n[![codecov](https://codecov.io/github/5ouma/reproxy/graph/badge.svg)](https://codecov.io/github/5ouma/reproxy)\n\n![Repobeats Analytics Image](https://repobeats.axiom.co/api/embed/1a8a73d955b8c9a227d007646d77ca8e22f6e88c.svg)\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 💡 Concepts\n\nYou can host your specific file on the GitHub repository. The usage I assume is\nfor one-line scripts. (i.e. dotfiles or some install scripts, like\n`curl https://example.com | sh`)\n\nIf you access from browsers, you'll redirected to the GitHub page, not a raw\nfile.\n\nFor the development or testing, you can access to the different branches or\ntags. To do this, simply add the ref name to the sub-directory. (i.e.\n`curl https://example.com/ref | sh`)\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 📊 Usage\n\n### 💻 On Local\n\n1. Copy the [`.env.tmpl`](./.env.tmpl) to `.env` and edit as you prefer\n\n   \u003e [🌍 Environment Variables](#-environment-variables)\n\n2. Follow the steps depending on the runtime\n\n   - [🦕 Deno](https://deno.com)\n\n     1. Run this command\n\n        ```sh\n        deno serve -A --env-file='.env' jsr:@5ouma/reproxy\n        ```\n\n   - [🍞 Bun](https://bun.sh)\n\n     1. Add this code to the `index.ts`\n\n        ```ts\n        export { default } from \"@5ouma/reproxy\";\n        ```\n\n     2. Run these commands\n\n        ```sh\n        bunx jsr add @5ouma/reproxy\n        bun run index.ts\n        ```\n\n   - [🐢 Node.js](https://nodejs.org)\n\n     1. Add this code to the `index.js`\n\n        ```js ignore\n        import { serve } from \"@hono/node-server\";\n        import app from \"@5ouma/reproxy\";\n        serve(app);\n        ```\n\n     2. Run these commands\n\n        ```sh\n        npm install @hono/node-server\n        npx jsr add @5ouma/reproxy\n        node run index.js\n        ```\n\n\u003cbr /\u003e\n\n### 🦕 Use [Deno Deploy](https://deno.com/deploy)\n\n1. [Create a new playground](https://dash.deno.com)\n\n2. Replace the default code with this\n\n   ```ts\n   export { default } from \"jsr:@5ouma/reproxy\";\n   ```\n\n3. Set the environment variables (_Don't forget!!_)\n\n   \u003e [🌍 Environment Variables](#-environment-variables)\n\n\u003cbr /\u003e\n\n### ⛅️ Use [Cloudflare Workers](https://workers.cloudflare.com)\n\n1. Set up the `wrangler.toml`\n\n   \u003e [🌍 Environment Variables](#-environment-variables)\n\n2. Add this code to the `index.ts`\n\n   ```ts\n   export { default } from \"@5ouma/reproxy\";\n   ```\n\n3. Deploy with these commands\n\n   ```sh\n   npx jsr add @5ouma/reproxy\n   npx wrangler deploy index.ts\n   ```\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 🔨 Development\n\n1. Clone this repository\n\n   ```sh\n   git clone https://github.com/5ouma/reproxy.git\n   ```\n\n2. Copy the [`.env.tmpl`](./.env.tmpl) to `.env` and edit as you prefer\n\n   \u003e [🌍 Environment Variables](#-environment-variables)\n\n3. Run the [`server.ts`](./src/server.ts) via these task runners\n\n   ```sh\n   # For production\n   deno task start\n   ```\n\n   ```sh\n   # For development\n   deno task dev\n   ```\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 🌍 Environment Variables\n\n|        Name        | Required |\n| :----------------: | :------: |\n| `REPOSITORY_OWNER` |   yes    |\n| `REPOSITORY_NAME`  |   yes    |\n| `REPOSITORY_PATH`  |   yes    |\n|  [`GITHUB_TOKEN`]  |    no    |\n\n\u003e [!NOTE]\n\u003e You need to add [`GITHUB_TOKEN`] if you want to:\n\u003e\n\u003e - Access the file in the private repository\n\u003e - Avoid the API usage limit\n\n[`GITHUB_TOKEN`]: https://github.com/settings/tokens/new?scopes=repo\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 🆘 Help\n\n- [**⚠️ Issues**]: Feature Requests or Bug Reports\n- [**💬 Discussions**]: General Chats or Questions\n- [**🛡️ Security Advisories**]: Security Issues that should not be public\n\n[**⚠️ Issues**]: https://github.com/5ouma/reproxy/issues/new/choose\n[**💬 Discussions**]: https://github.com/5ouma/reproxy/discussions/new/choose\n[**🛡️ Security Advisories**]: https://github.com/5ouma/reproxy/security/advisories/new\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 🎽 Contributing\n\nI happily welcome your contributions! Before you contribute, I would recommend\nreading [CONTRIBUTING.md](./.github/CONTRIBUTING.md) for a better development\nexperience.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5ouma%2Freproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F5ouma%2Freproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5ouma%2Freproxy/lists"}