{"id":17104578,"url":"https://github.com/imyelo/ossedge","last_synced_at":"2026-06-07T16:30:19.343Z","repository":{"id":256735974,"uuid":"855701810","full_name":"imyelo/ossedge","owner":"imyelo","description":"🚀 Reverse proxy for OSS, a lightweight CDN alternative.","archived":false,"fork":false,"pushed_at":"2024-09-12T11:25:59.000Z","size":419,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-18T09:23:53.156Z","etag":null,"topics":["aliyun","cdn","edge","oss","reverse-proxy"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imyelo.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":"2024-09-11T10:17:47.000Z","updated_at":"2024-09-12T11:26:02.000Z","dependencies_parsed_at":"2024-09-12T20:47:50.729Z","dependency_job_id":"6c883b00-3f40-4f9c-9240-198b434add05","html_url":"https://github.com/imyelo/ossedge","commit_stats":null,"previous_names":["imyelo/ossedge"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fossedge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fossedge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fossedge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fossedge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imyelo","download_url":"https://codeload.github.com/imyelo/ossedge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240194608,"owners_count":19763159,"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":["aliyun","cdn","edge","oss","reverse-proxy"],"created_at":"2024-10-14T15:37:20.452Z","updated_at":"2026-06-07T16:30:18.881Z","avatar_url":"https://github.com/imyelo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSS Edge\n\n\u003e 🚀 Reverse proxy for OSS, a lightweight CDN alternative.\n\n## Configuration\n\nOSS Edge uses [dotenv-flow](https://github.com/kerimdzhanov/dotenv-flow) for environment variable configuration. You can configure it by either:\n\n1. Creating a `.env.local` (and `.env.production.local` for production) file (which is ignored by git)\n\n   OR\n\n2. Directly exporting environment variables in your shell\n\nHere's an example of the configuration:\n\n```bash\nAPP_PORT=3000\nAPP_LOG_LEVEL=info\nAPP_LOG_FILE=/tmp/ossedge.log\nAPP_OSS_REGION=your_oss_region\nAPP_OSS_ACCESS_KEY_ID=your_access_key_id\nAPP_OSS_ACCESS_KEY_SECRET=your_access_key_secret\nAPP_OSS_BUCKET_NAME=your_bucket_name\nAPP_CACHE_DIR=./.ossedge\nAPP_CACHE_TTL=3600\nAPP_CACHE_MAX_ITEMS=1000\n```\n\n### List of Environment Variables\n\n- `APP_PORT`: The port number on which the server will run.\n- `APP_LOG_LEVEL`: [The logging level](https://github.com/pinojs/pino/blob/main/docs/api.md#levels) (e.g., 'info', 'debug', 'error').\n- `APP_LOG_FILE`: The path to the log file. If not set, logs will be output to stdout.\n- `APP_OSS_REGION`: The region of your Alibaba Cloud OSS bucket.\n- `APP_OSS_ACCESS_KEY_ID`: Your Alibaba Cloud access key ID.\n- `APP_OSS_ACCESS_KEY_SECRET`: Your Alibaba Cloud access key secret.\n- `APP_OSS_BUCKET_NAME`: The name of your OSS bucket.\n- `APP_CACHE_DIR`: The directory where cached files will be stored.\n- `APP_CACHE_TTL`: The time-to-live for cached items in seconds.\n- `APP_CACHE_MAX_ITEMS`: The maximum number of items to store in the cache.\n\nMake sure to keep your .env file secure and do not commit it to version control.\n\n## Usage\n\n### Docker\n\nTo run OSS Edge using Docker:\n\n```bash\ndocker run --rm -p 3000:3000 -v ./.env.local:/app/.env ghcr.io/imyelo/ossedge:latest\n```\n\nfor production:\n\n```bash\ndocker run --rm -p 3000:3000 -v ./.env.production.local:/app/.env -e NODE_ENV=production ghcr.io/imyelo/ossedge:latest\n```\n\n### Use as a CLI\n\n```bash\nnpx ossedge\n```\n\n### Use as a Node.js module\n\n```bash\nyarn add ossedge\n```\n\n```javascript\nimport { createServer } from 'node:http'\nimport { toNodeListener } from 'h3'\nimport { app } from 'ossedge'\n\ncreateServer(toNodeListener(app)).listen(3000)\n```\n\n## License\n\nApache-2.0 \u0026copy; [yelo](https://github.com/imyelo), 2024 - present\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyelo%2Fossedge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimyelo%2Fossedge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyelo%2Fossedge/lists"}