{"id":49303843,"url":"https://github.com/kryptic-sh/buffr","last_synced_at":"2026-05-25T02:02:12.657Z","repository":{"id":353786992,"uuid":"1220892934","full_name":"kryptic-sh/buffr","owner":"kryptic-sh","description":"Vim-inspired browser. Native, GPU-accelerated. Rust + CEF.","archived":false,"fork":false,"pushed_at":"2026-05-19T05:51:17.000Z","size":6661,"stargazers_count":13,"open_issues_count":90,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T07:32:36.297Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://buffr.kryptic.sh/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kryptic-sh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["mxaddict"],"ko_fi":"mxaddict"}},"created_at":"2026-04-25T13:29:38.000Z","updated_at":"2026-05-19T06:51:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kryptic-sh/buffr","commit_stats":null,"previous_names":["kryptic-sh/buffr"],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/kryptic-sh/buffr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kryptic-sh%2Fbuffr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kryptic-sh%2Fbuffr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kryptic-sh%2Fbuffr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kryptic-sh%2Fbuffr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kryptic-sh","download_url":"https://codeload.github.com/kryptic-sh/buffr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kryptic-sh%2Fbuffr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33457339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-24T19:21:36.376Z","status":"online","status_checked_at":"2026-05-25T02:00:05.812Z","response_time":57,"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":[],"created_at":"2026-04-26T08:18:45.711Z","updated_at":"2026-05-25T02:02:12.650Z","avatar_url":"https://github.com/kryptic-sh.png","language":"Rust","funding_links":["https://github.com/sponsors/mxaddict","https://ko-fi.com/mxaddict"],"categories":[],"sub_categories":[],"readme":"# buffr\n\nVim-inspired browser. Native, GPU-accelerated. Rust + CEF.\n\n[![CI](https://github.com/kryptic-sh/buffr/actions/workflows/ci.yml/badge.svg)](https://github.com/kryptic-sh/buffr/actions/workflows/ci.yml)\n[![release](https://img.shields.io/github/v/release/kryptic-sh/buffr)](https://github.com/kryptic-sh/buffr/releases)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Website](https://img.shields.io/badge/website-buffr.kryptic.sh-7ee787)](https://buffr.kryptic.sh)\n\nModal browser built on\n[Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) via\nthe [`cef`](https://crates.io/crates/cef) Rust crate. Vim keybindings powered by\n[hjkl-engine](https://crates.io/crates/hjkl-engine).\n\n## Status\n\n`0.1.0` — first tagged release. Multi-tab browsing; popup windows\n(`window.open`, OAuth) render in dedicated buffr windows with read-only address\nbars and preserve `window.opener`; `target=\"_blank\"` and Ctrl+click open in\ntabs; two-finger horizontal swipe navigates browser history; vim modal engine\n(`hjkl 0.1.0`) wired for page-mode dispatch and insert-mode text editing;\nhistory / downloads / bookmarks / permissions / zoom data layers wired and\npersisted to SQLite. See [CHANGELOG.md](CHANGELOG.md).\n\n## Supported platforms\n\nEach release publishes binary artifacts for:\n\n| OS      | Architecture          | Format                    |\n| ------- | --------------------- | ------------------------- |\n| Linux   | x86_64, aarch64       | `.deb`, `.rpm`, `.tar.gz` |\n| macOS   | arm64 (Apple Silicon) | `.dmg`                    |\n| Windows | x64, arm64            | `.msi` (per-user)         |\n\n\u003e **Linux requires a Wayland session.** X11 is not supported. GNOME 45+, KDE 6,\n\u003e Sway, Hyprland, and other modern compositors all run Wayland by default. buffr\n\u003e will exit with a clear error if `XDG_SESSION_TYPE` is not `wayland`.\n\n### Why no Intel Mac (`x86_64-apple-darwin`)?\n\nWe dropped Intel Mac builds in `0.1.14`. Apple stopped selling Intel Macs in\n2023, and the GitHub Actions `macos-13` runner pool is heavily contended —\nrelease tags routinely queued for 1–2 hours waiting on a slot, blocking the\nentire publish pipeline (the crates.io stub publish gates on every binary leg).\nThe cost wasn't paying for the user count, so we cut it.\n\nIf you're on an Intel Mac and want to run buffr, build from source on your own\nmachine — the workspace builds clean against `x86_64-apple-darwin`, the support\nis just absent from the release pipeline, not from the code.\n\n## Apps\n\n| Binary         | Role                                                               |\n| -------------- | ------------------------------------------------------------------ |\n| `buffr`        | Main browser binary. Owns the winit window, CEF lifecycle, keymap. |\n| `buffr-helper` | CEF subprocess helper (renderer / GPU / utility processes).        |\n\n## Crates\n\n| Crate               | Role                                                             |\n| ------------------- | ---------------------------------------------------------------- |\n| `buffr-core`        | CEF integration, `BrowserHost`, multi-tab host, OSR, IPC.        |\n| `buffr-modal`       | Vim page-mode FSM, keymap trie, `hjkl-engine` edit-mode bridge.  |\n| `buffr-ui`          | Statusline, tab strip, input bar, permission / confirm prompts.  |\n| `buffr-config`      | TOML config loader, validator, hot-reload watcher.               |\n| `buffr-history`     | SQLite-backed browsing history (frecency search).                |\n| `buffr-bookmarks`   | SQLite-backed bookmark store with tags + Netscape import.        |\n| `buffr-downloads`   | SQLite-backed download tracking; CEF handler integration.        |\n| `buffr-permissions` | SQLite-backed per-origin permission store (camera, mic, geo, …). |\n| `buffr-zoom`        | SQLite-backed per-domain zoom-level persistence.                 |\n\nNot yet published to crates.io — consume via path or git dep.\n\n## Install\n\n**macOS (Homebrew)**\n\n```bash\nbrew install --cask kryptic-sh/tap/buffr\n```\n\n**Arch Linux (AUR)**\n\n```bash\nparu -S buffr-bin\n```\n\nPre-built packages on every tag, on the\n[releases page](https://github.com/kryptic-sh/buffr/releases):\n\n| Platform            | Asset      | Arches          |\n| ------------------- | ---------- | --------------- |\n| **macOS**           | `.dmg`     | arm64           |\n| **Windows**         | `.msi`     | x64, arm64      |\n| **Debian / Ubuntu** | `.deb`     | amd64, arm64    |\n| **Fedora / RHEL**   | `.rpm`     | x86_64, aarch64 |\n| **Linux (generic)** | `.tar.gz`  | x86_64, aarch64 |\n| **Snap**            | `.snap`    | amd64, arm64    |\n| **Flatpak**         | `.flatpak` | amd64, arm64    |\n\n\u003e **Heads-up:** `cargo install buffr` is **not** a supported install path — see\n\u003e the note in [Build](#build) below.\n\n## Build\n\n```bash\n# Vendor the CEF binary distribution (~500 MB extracted).\ncargo xtask fetch-cef\n\n# Build the workspace.\ncargo build\n\n# Run (the workspace's default-members points at the real binary,\n# so bare `cargo run` works; use `-p buffr-bin` if you want to be\n# explicit).\ncargo run\n```\n\n\u003e **Heads-up:** `cargo install buffr` is **not** a supported install path. The\n\u003e `buffr` crate on crates.io is a stub that prints download instructions — CEF\n\u003e apps need a ~150 MB runtime payload (libcef, paks, locales, sandbox) that\n\u003e `cargo install` can't bundle. Grab a prebuilt release from\n\u003e [github.com/kryptic-sh/buffr/releases](https://github.com/kryptic-sh/buffr/releases),\n\u003e or build from source as shown above.\n\nSee [`docs/dev.md`](docs/dev.md) for full prerequisites, platform matrix, and\nCEF path overrides.\n\n## Known limitations\n\n- **Image / multimedia clipboard paste is unsupported.** Ctrl+V text paste\n  works, but pasting images or other non-text clipboard content into web pages\n  is a no-op. This is a CEF off-screen-rendering (OSR) limitation, not specific\n  to buffr's implementation. Tracked in\n  [#19](https://github.com/kryptic-sh/buffr/issues/19).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) (if exists) or open an issue / PR.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkryptic-sh%2Fbuffr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkryptic-sh%2Fbuffr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkryptic-sh%2Fbuffr/lists"}