{"id":16343783,"url":"https://github.com/cofob/fastside","last_synced_at":"2025-10-17T07:14:08.844Z","repository":{"id":239741262,"uuid":"800335242","full_name":"cofob/fastside","owner":"cofob","description":"A smart redirecting gateway for various frontend services. Faster alternative to farside.","archived":false,"fork":false,"pushed_at":"2024-10-24T16:16:38.000Z","size":2450,"stargazers_count":13,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T17:40:27.232Z","etag":null,"topics":["privacy","redirect","rust"],"latest_commit_sha":null,"homepage":"https://fastsi.de/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cofob.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-05-14T06:24:09.000Z","updated_at":"2024-10-24T00:29:27.000Z","dependencies_parsed_at":"2024-05-15T12:37:10.264Z","dependency_job_id":"59cbc650-f9dd-4cfb-938b-9985d3d919cf","html_url":"https://github.com/cofob/fastside","commit_stats":null,"previous_names":["cofob/fastside"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cofob%2Ffastside","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cofob%2Ffastside/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cofob%2Ffastside/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cofob%2Ffastside/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cofob","download_url":"https://codeload.github.com/cofob/fastside/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221810198,"owners_count":16884063,"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":["privacy","redirect","rust"],"created_at":"2024-10-11T00:25:50.217Z","updated_at":"2025-10-17T07:14:08.775Z","avatar_url":"https://github.com/cofob.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fastside\n\nA smart redirecting gateway for various frontend services. Faster and compatible\nalternative to farside.\n\nContents\n\n- [fastside](#fastside)\n  - [About](#about)\n  - [Features](#features)\n  - [Demo](#demo)\n  - [Mirrors](#mirrors)\n  - [How It Works](#how-it-works)\n  - [Self-Hosting](#self-hosting)\n  - [Compiling from Source](#compiling-from-source)\n  - [Why does this fork exist?](#why-does-this-fork-exist)\n    - [Migration from farside](#migration-from-farside)\n  - [Tips and tricks](#tips-and-tricks)\n    - [Use fastside to upload files to 0x0](#use-fastside-to-upload-files-to-0x0)\n\n## About\n\nA redirecting service for FOSS alternative frontends.\n\n[Fastside](https://fastsi.de/) provides links that automatically redirect to\nworking instances of privacy-oriented alternative frontends, such as Nitter,\nLibreddit, etc. This allows for users to have more reliable access to the\navailable public instances for a particular service, while also helping to\ndistribute traffic more evenly across all instances and avoid performance\nbottlenecks and rate-limiting.\n\n## Features\n\n- [x] Support for hidden networks (tor, i2p, etc).\n- [x] Redirect behaviour can be configured. (for example - you can exclude cloudflare)\n- [x] User-preferred instances.\n- [x] POST redirects.\n- [x] Regex redirects via `/{url}` routes.\n- [x] Anonymous and cached redirects via `/@cached/#{path}` routes.\n- [x] History redirects via `/_/{path}` routes.\n- [x] Fallback redirects.\n- [x] Automatic update of services list.\n- [x] API.\n\n## Demo\n\nFastside's links work with the following structure: `fastsi.de/\u003cservice\u003e/\u003cpath\u003e`\n\nFor example:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eService\u003c/td\u003e\n        \u003ctd\u003ePage\u003c/td\u003e\n        \u003ctd\u003eFastside Link\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/spikecodes/libreddit\"\u003eLibreddit\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e/r/popular\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fastsi.de/libreddit/r/popular\"\u003ehttps://fastsi.de/libreddit/r/popular\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://codeberg.org/teddit/teddit\"\u003eTeddit\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e/r/popular\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fastsi.de/teddit/r/popular\"\u003ehttps://fastsi.de/teddit/r/popular\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/iv-org/invidious\"\u003eInvidious\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e/watch?v=zLGDE2j_n5c\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fastsi.de/_/invidious/watch?v=zLGDE2j_n5c\"\u003ehttps://fastsi.de/_/invidious/watch?v=zLGDE2j_n5c\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/iv-org/invidious\"\u003eInvidious\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003ehttps://www.youtube.com/watch?v=zLGDE2j_n5c\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fastsi.de/https://www.youtube.com/watch?v=zLGDE2j_n5c\"\u003ehttps://fastsi.de/https://www.youtube.com/watch?v=zLGDE2j_n5c\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/httpjamesm/AnonymousOverflow\"\u003eAnonymousOverflow\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fastsi.de/@cached/anonymousoverflow/#questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags\"\u003ehttps://fastsi.de/@cached/anonymousoverflow/#questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c!-- more rows can be added as needed --\u003e\n\u003c/table\u003e\n\n\u003csup\u003eNote: This table doesn't include all available services. For a complete list of supported frontends, see: https://fastsi.de/\u003c/sup\u003e\n\n## Mirrors\n\nFastside can be opened in [clearnet](https://fastsi.de/), [clearnet cloudflare](https://cdn.fastside.link/), [tor](http://a7xvcthrhfcsox73brt5hgueapwosohmieg5wttvuuuz6mqur5s3rqyd.onion/), [i2p](http://fastside.i2p/) ([b32](http://i4autaipx7a4ro34cbwvni6bcph34eueocplwsxaqeeuyb6cavzq.b32.i2p)), [yggdrasil](http://ygg.fastside.link/) ([Alfis](http://fastside.ygg/), [IPv6](http://[200:691d:578e:f10e:e935:f189:aab4:1d98]/)).\n\n## How It Works\n\nThe app runs with an internally scheduled cron task that queries all instances\nfor services defined in [services.json](./services.json) every 5 minutes. For\neach instance, as long as the instance takes \u003c5 seconds to respond and returns\na successful response code, the instance is added to a list of available\ninstances for that particular service. If not, it is discarded until the next\nupdate period.\n\nFastside's routing is minimal, similar to [Farside](https://github.com/benbusby/farside), but includes\nan additional `/@cached/\u003cservice\u003e#\u003cpath\u003e` endpoint, which utilizes browser caching to achieve instant\nredirects without waiting for server responses.\n\n## Self-Hosting\n\nSetting up Fastside on your server is straightforward with Docker. Simply execute the following command:\n\n```bash\ndocker run --restart unless-stopped --name fastside -d -p 8080:8080 ghcr.io/cofob/fastside\n```\n\nThis will deploy Fastside, making it accessible on port 8080 of your server. The service will automatically use the default [services.json](https://raw.githubusercontent.com/cofob/fastside/master/services.json) as its configuration source.\n\n## Compiling from Source\n\nIf you prefer to compile Fastside from source, ensure you have Rust's package manager, Cargo, installed. Then, navigate to the repository and run the following command:\n\n```bash\ncargo build --release\n```\n\nThe compiled executables will be located in the `target/release` directory.\n\n## Why does this fork exist?\n\n[Farside](https://github.com/benbusby/farside) operates very slowly for some reason. The ping from my machine to\ntheir server in the USA is 300 ms, and a redirect request takes about 1 second to process (!). This means that\nprocessing a redirect takes 700 ms, which is incredibly long for such a simple task. On the other hand, Fastside\nprocesses requests in 200-300 ms (taking my internet into account). Additionally, the web server at fastside.link\nsupports http3, which saves us an additional 100-150 ms.\n\n### Migration from farside\n\nMigrating from farside to fastside is very simple - just replace the redirects from `farside.link` to `fastside.link`.\n\n## Tips and tricks\n\n### Use fastside to upload files to 0x0\n\n```bash\ncurl -LF'file=@fastside.txt' fastsi.de/0x0\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcofob%2Ffastside","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcofob%2Ffastside","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcofob%2Ffastside/lists"}