{"id":51312708,"url":"https://github.com/kageroumado/refrax-browser","last_synced_at":"2026-07-01T05:04:32.592Z","repository":{"id":362826713,"uuid":"1246119561","full_name":"kageroumado/refrax-browser","owner":"kageroumado","description":"Refrax is a maximalist browser. It's what a browser becomes when one person builds it for themselves and nobody tells them to stop","archived":false,"fork":false,"pushed_at":"2026-06-06T04:13:06.000Z","size":8088,"stargazers_count":21,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-06T06:10:44.342Z","etag":null,"topics":["browser","macos","swift","webkit"],"latest_commit_sha":null,"homepage":"https://kagerou.glass/refrax/","language":"Swift","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/kageroumado.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-21T22:27:05.000Z","updated_at":"2026-06-06T04:13:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kageroumado/refrax-browser","commit_stats":null,"previous_names":["kageroumado/refrax-browser"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kageroumado/refrax-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageroumado%2Frefrax-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageroumado%2Frefrax-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageroumado%2Frefrax-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageroumado%2Frefrax-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kageroumado","download_url":"https://codeload.github.com/kageroumado/refrax-browser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kageroumado%2Frefrax-browser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34993450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"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":["browser","macos","swift","webkit"],"created_at":"2026-07-01T05:04:31.939Z","updated_at":"2026-07-01T05:04:32.585Z","avatar_url":"https://github.com/kageroumado.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Refrax\n\nRefrax is a maximalist browser. While everyone else was removing\nfeatures and calling it design, I kept adding them — natively,\nproperly, in Swift and WebKit, the way Apple would if Apple still\nshipped weird software. Vertical tabs, spaces with Touch ID locks, a\ncommand palette that takes plain language, a CLI that scripts the\nentire browser, an MCP server so your agent browses beside you. It has\nmore features than any browser you've used and several that exist\nnowhere else. Seventeen people use it every week. I'm one of them.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/screenshot.avif\" alt=\"Refrax browser: sidebar with grouped tabs and spaces, Liquid Glass interface, with a webpage in the main pane\" width=\"800\"\u003e\n\u003c/p\u003e\n\nThe website is at \u003chttps://kagerou.glass/refrax/\u003e. Builds and updates\nare distributed from there.\n\n## License\n\nRefrax is free software, licensed under the **GNU General Public\nLicense, version 3** — see [LICENSE](LICENSE).\n\nThe **Refrax name and icon are trademarks** of kageroumado and are not\ncovered by the GPL. If you fork and redistribute, you must rebrand —\nsee [TRADEMARK.md](TRADEMARK.md) for the policy.\n\nIn short: study, modify, and contribute freely. Just don't ship a\nmodified version *as Refrax*.\n\n## Architecture\n\n- **Tab** contains one or more **TabPages** (SwiftData, persisted)\n- **WebPage**: Runtime-only WKWebView wrapper, created on-demand by\n  **WebPagePool**\n- **WebView**: SwiftUI view displaying a WebPage (1:1)\n- **Pattern**: Environment injection with a Manager (Store) pattern —\n  views consume managers via `@Environment`\n\n## Project layout\n\n```\nRefrax/                     The app source\nRefraxTests/                Swift Testing suites\nRefraxWidgets/              Widget extension\nrefrax-ctl/                 Headless CLI for controlling the browser\nPackages/refrax-protocol/   Swift package shared by app + CLI\nScripts/                    Build-time scripts (palette generator)\nRefrax.xcodeproj/           Xcode project\n```\n\n## Building\n\nRequirements:\n\n- macOS 26 or later\n- Xcode 26 or later\n- Swift 6.2\n\nFirst-time setup installs Homebrew, SwiftFormat, SwiftLint, and a\npre-commit hook:\n\n```bash\n./setup.sh\n```\n\nThen open `Refrax.xcodeproj` in Xcode and build the `Refrax` scheme.\n\n\u003e **Note:** Code signing is intentionally not configured in this\n\u003e repository. To build locally, set your own `DEVELOPMENT_TEAM` and\n\u003e bundle identifiers in Xcode's signing settings, and provide your own\n\u003e iCloud container if you want CloudKit sync to work.\n\n## Code style\n\n- Swift 6.2 with strict concurrency, `@MainActor` isolation by default\n- SwiftFormat runs as a pre-commit hook\n- The Xcode project uses **folder references** — add and remove files\n  on disk, not through the Xcode UI\n- Use `Color.appAccentColor`, not `Color.accentColor`\n- Extensions of built-in types live in\n  `Extensions/TypeName+Extensions.swift`; extensions of project types\n  go in the source file directly\n\n## Contributing\n\nIssues and PRs welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) before\na big change.\n\nSecurity issue? Don't open a public issue — see [SECURITY.md](SECURITY.md).\n\nAlso: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).\n\n## Contact\n\n\u003crequests@refrax.website\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkageroumado%2Frefrax-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkageroumado%2Frefrax-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkageroumado%2Frefrax-browser/lists"}