{"id":18569311,"url":"https://github.com/rayhanadev/from","last_synced_at":"2026-05-01T06:34:24.973Z","repository":{"id":130746942,"uuid":"591797825","full_name":"rayhanadev/from","owner":"rayhanadev","description":"Extra simple URL redirector hosted on Cloudflare Workers.","archived":false,"fork":false,"pushed_at":"2023-01-21T22:32:58.000Z","size":19887,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T21:47:47.729Z","etag":null,"topics":["cloudflare","redirect","replit","shortener","workers"],"latest_commit_sha":null,"homepage":"https://from.furret.codes","language":"TypeScript","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/rayhanadev.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":"2023-01-21T22:30:23.000Z","updated_at":"2023-01-21T22:32:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"309a56c1-695d-4540-b5b3-5b0ad60037ff","html_url":"https://github.com/rayhanadev/from","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rayhanadev/from","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayhanadev%2Ffrom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayhanadev%2Ffrom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayhanadev%2Ffrom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayhanadev%2Ffrom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rayhanadev","download_url":"https://codeload.github.com/rayhanadev/from/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayhanadev%2Ffrom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32487638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cloudflare","redirect","replit","shortener","workers"],"created_at":"2024-11-06T22:33:42.218Z","updated_at":"2026-05-01T06:34:24.952Z","avatar_url":"https://github.com/rayhanadev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e Try it out: https://from.furret.dev/to/replit\n\n# Cloudflare Workers Template\n\nThis template makes it easy to build and run [Cloudflare Workers](https://developers.cloudflare.com/workers/), which can be published to the [Cloudflare Global Network](https://www.cloudflare.com/network/), or run directly from Replit using `wrangler dev` (no Cloudflare account required.) In the future, `wrangler dev` will be powered by [Workerd](https://github.com/cloudflare/workerd), our Open-Source Workers runtime.\n\n## Setup\n\n### Initialize a Workers project\n\nClick **Run** in your Replit workspace to set up a Workers project with customizable settings. By default, it will initialize a git repository, set up a TypeScript project, and create a Fetch handler.\n\n### Add Cloudflare credentials to Replit secrets (Optional)\nThis is only needed for publishing the Worker to Cloudflare - it is not needed for running dev mode in Replit.\n\n#### First, add your Cloudflare API token:\n\n1. Log in to the [Cloudflare Dashboard](https://dash.cloudflare.com/).\n2. In **Account Home**, select **My Profile** on the top right.\n3. Select **API Tokens** on the left-hand navigation.\n4. Select **Create Token**.\n5. Go to **Edit Cloudflare Workers** under **API Token Templates** and select **Use Template**.\n6. Under **Account Resources**, select *All accounts* (or a specific account).\n7. Under **Zone Resources**, change *Specific zone* to *All zones*.\n8. Select **Continue to summary**.\n9. Select  **Create Token**.\n10. This gives you the API token needed. Copy it to [Replit secrets](https://docs.replit.com/programming-ide/storing-sensitive-information-environment-variables) with the name `CLOUDFLARE_API_TOKEN`.\n\n#### Next, add your Cloudflare Account ID:\n\n1. Log in to the Cloudflare dashboard \u003e [**Workers**](https://dash.cloudflare.com/?to=/:account/workers/overview).\n2. In **Workers**, find your **Account ID** on the right side of the screen.\n3. Select **Click to copy** to copy your Account ID.\n4. Add this to [Replit secrets](https://docs.replit.com/programming-ide/storing-sensitive-information-environment-variables) with the name `CLOUDFLARE_ACCOUNT_ID`.\n\n#### You should have three secrets added to Replit secrets:\n\n- `CLOUDFLARE_ACCOUNT_ID`\n- `CLOUDFLARE_API_TOKEN`\n- `WRANGLER_SEND_METRICS`\n\n### Silence Wrangler metrics prompts\nBy default, Wrangler will prompt for sending metrics every time a Repl is booted up. To silence this prompt:\n\n1. [Add a Replit secret](https://docs.replit.com/programming-ide/storing-sensitive-information-environment-variables) with the name `WRANGLER_SEND_METRICS`\n2. Use value `true` to send anonymous metrics to Cloudflare, or `false` to opt-out.\n\n### Update the name of your Worker in `wrangler.toml` (optional)\n\n```toml\nname = \"YOUR-WORKER-NAME\"\n```\n\n## Commands\n\n### Deploy Worker to Cloudflare\nBefore deploying your Worker to Cloudflare, make sure that you have completed the **Add Cloudflare credentials to Replit secrets** step. If you do not add Cloudflare credentials, your project will deploy to a Replit subdomain. After adding Cloudflare credentials to Replit secrets, publish your Worker to the Cloudflare global network. You can publish to a custom domain, or, if not configured, the Worker will publish to a `*.workers.dev` subdomain by default. To set up a `*.workers.dev` subdomain, go to the Cloudflare dashboard \u003e **Workers** \u003e Your subdomain \u003e Change. To set up a custom domain, go to **Workers** in the Cloudflare dashboard \u003e select your Worker \u003e **Triggers** \u003e **Add Custom Domain**. To publish your project, run:\n\n```shell\nnpm run deploy\n```\n\n### Develop and run in Replit\n\nBy default, the Run button in your Replit workspace will run your Worker in dev mode, which allows Replit to run your Worker. In the future, this will be backed by our  [Open-source Runtime, Workerd](https://github.com/cloudflare/workerd).\n\nWhen you deploy your project using the Replit workspace without configuring Cloudflare credentials as secrets, your project will be available on a Replit subdomain as long as the Replit workspace is open. To keep your Worker running when the Replit workspace is closed, enable Always On in your Replit workspace settings.\n\nIf you chose to set the **Run** button to publish to Cloudflare, you can still run the Worker in local development mode with:\n\n```shell\nnpm run start\n```\n\n### Develop with persistent data\n\nTo persist development data between sessions, run:\n\n```shell\nnpm run start-persist\n```\n\n### Run tests\n\nTests are a great way to ensure your project works as expected. To run tests at any time, run:\n\n```shell\nnpm run test\n```\n\n### Update Replit's Run button\n\nBy default, `replit-run-command` is set to `npm run start`, but it can be set to any of the above commands. To change the  Run command:\n\n1. Open `package.json`.\n2. Update `replit-run-command` to any of the above commands (or any custom command).\n\n## Discord\n\nJoin the Cloudflare Developers community Discord:\nhttps://discord.gg/cloudflaredev\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayhanadev%2Ffrom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayhanadev%2Ffrom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayhanadev%2Ffrom/lists"}