{"id":13442527,"url":"https://github.com/kssytsrk/nx-freestance-handler","last_synced_at":"2025-03-20T14:31:17.253Z","repository":{"id":37608134,"uuid":"300953188","full_name":"kssytsrk/nx-freestance-handler","owner":"kssytsrk","description":"nx-freestance-handler, a redirector from the mainstream sites (Youtube, Twittter, Instagram, Reddit) to their privacy-supporting mirrors","archived":false,"fork":false,"pushed_at":"2022-05-29T17:55:18.000Z","size":49,"stargazers_count":28,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-28T05:59:20.510Z","etag":null,"topics":["extension","nyxt","privacy"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","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/kssytsrk.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}},"created_at":"2020-10-03T18:47:27.000Z","updated_at":"2024-10-20T17:37:34.000Z","dependencies_parsed_at":"2022-08-18T14:52:10.593Z","dependency_job_id":null,"html_url":"https://github.com/kssytsrk/nx-freestance-handler","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/kssytsrk%2Fnx-freestance-handler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kssytsrk%2Fnx-freestance-handler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kssytsrk%2Fnx-freestance-handler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kssytsrk%2Fnx-freestance-handler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kssytsrk","download_url":"https://codeload.github.com/kssytsrk/nx-freestance-handler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244630132,"owners_count":20484321,"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":["extension","nyxt","privacy"],"created_at":"2024-07-31T03:01:46.839Z","updated_at":"2025-03-20T14:31:16.873Z","avatar_url":"https://github.com/kssytsrk.png","language":"Common Lisp","funding_links":[],"categories":["Common Lisp"],"sub_categories":[],"readme":"# nx-freestance-handler\n\nnx-freestance-handler is a redirector from mainstream websites to their privacy-supporting mirrors for the [Nyxt browser](https://github.com/atlas-engineer/nyxt). The code was inspired by [this issue](https://github.com/atlas-engineer/nyxt/issues/930). \n\nIt is currently able to redirect from Youtube to [Invidious](https://github.com/iv-org/invidious), from Reddit to [Teddit](https://codeberg.org/teddit/teddit), from Instagram to [Bibliogram](https://sr.ht/~cadence/bibliogram/), from Medium to [Scribe](https://git.sr.ht/~edwardloveall/scribe) and from Twitter to [Nitter](https://github.com/zedeus/nitter).\n\n## Installation\n\nClone this repository to `~/common-lisp` with:\n\n```bash\n$ git clone https://github.com/kssytsrk/nx-freestance-handler\n```\n\n## Usage\n\nTo turn the handler on, add something like this to your Nyxt `init.lisp` file:\n\n```common-lisp\n(defvar *my-request-resource-handlers* '())\n\n(load-after-system :nx-freestance-handler\n                   (nyxt-init-file \"freestance.lisp\"))\n\n(define-configuration web-buffer\n  ((request-resource-hook\n    (reduce #'hooks:add-hook\n            (mapcar #'make-handler-resource\n\t\t    *my-request-resource-handlers*)\n            :initial-value %slot-default%))))\n```\n\nThen, create `freestance.lisp` file in `~/.config/nyxt` with these contents:\n\n```common-lisp\n;; to add all handlers/redirectors (youtube to invidious, reddit to teddit,\n;; instagram to bibliogram, medium to scribe, twitter to nitter)\n(setq *my-request-resource-handlers*\n      (nconc *my-request-resource-handlers*\n             nx-freestance-handler:*freestance-handlers*))\n\n;; alternatively, you may add each separately\n;; (push #'nx-freestance-handler:invidious-handler *my-request-resource-handlers*)\n;; (push #'nx-freestance-handler:nitter-handler *my-request-resource-handlers*)\n;; (push #'nx-freestance-handler:bibliogram-handler *my-request-resource-handlers*)\n;; (push #'nx-freestance-handler:teddit-handler *my-request-resource-handlers*)\n;; (push #'nx-freestance-handler:scribe-handler *my-request-resource-handlers*)\n\n;; to set your preferred instance, either invoke SET-PREFERRED-[name of website]-INSTANCE\n;; command in Nyxt (the effect lasts until you close Nyxt), or write something like this:\n;; (setf nx-freestance-handler:*preferred-invidious-instance* \"https://invidious.snopyta.org\")\n```\n\nBy default, for Invidious this handler redirects to the healthiest (i.e, with best uptime) instance available. For Teddit it redirects to the official teddit.net instance, for Scribe - to scribe.rip, for Nitter - to nitter.net and for Bibliogram - to bibliogram.art.\n\nFYI, right now direct links to posts on Instagram are not redirected, as Bibliogram [doesn't seem to support](https://todo.sr.ht/~cadence/bibliogram-issues/26) them (yet?).\n\n## Notes\n\nAll ideas, suggestions and bugreports are welcome in the \"issues\" section. Don't hesitate to open an issue if something's not working.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkssytsrk%2Fnx-freestance-handler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkssytsrk%2Fnx-freestance-handler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkssytsrk%2Fnx-freestance-handler/lists"}