{"id":13837477,"url":"https://github.com/emacs-eaf/eaf-browser","last_synced_at":"2025-07-10T18:33:28.404Z","repository":{"id":38538372,"uuid":"394833085","full_name":"emacs-eaf/eaf-browser","owner":"emacs-eaf","description":"A modern, customizable and extensible browser in Emacs","archived":false,"fork":false,"pushed_at":"2025-06-13T21:36:02.000Z","size":6161,"stargazers_count":165,"open_issues_count":5,"forks_count":29,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-13T22:34:17.128Z","etag":null,"topics":["browser","eaf","emacs","emacs-lisp"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/emacs-eaf.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,"zenodo":null}},"created_at":"2021-08-11T02:09:46.000Z","updated_at":"2025-06-13T21:36:06.000Z","dependencies_parsed_at":"2023-02-17T05:05:25.272Z","dependency_job_id":"694d350f-d598-4782-8f65-0c1827b7ce17","html_url":"https://github.com/emacs-eaf/eaf-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emacs-eaf/eaf-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-eaf%2Feaf-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-eaf%2Feaf-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-eaf%2Feaf-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-eaf%2Feaf-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emacs-eaf","download_url":"https://codeload.github.com/emacs-eaf/eaf-browser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-eaf%2Feaf-browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264631212,"owners_count":23640941,"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":["browser","eaf","emacs","emacs-lisp"],"created_at":"2024-08-04T15:01:11.022Z","updated_at":"2025-07-10T18:33:27.709Z","avatar_url":"https://github.com/emacs-eaf.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"### EAF Browser\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"800\" src=\"./screenshot.png\"\u003e\n\u003c/p\u003e\n\nBrowser application for the [Emacs Application Framework](https://github.com/emacs-eaf/emacs-application-framework).\n\n### Load application\n\n[Install EAF](https://github.com/emacs-eaf/emacs-application-framework#install) first, then add below code in your emacs config:\n\n```Elisp\n(add-to-list 'load-path \"~/.emacs.d/site-lisp/emacs-application-framework/\")\n(require 'eaf)\n(require 'eaf-browser)\n```\n\n### Dependency List\n\n| Package                                                    | Description                 |\n|:-----------------------------------------------------------|:----------------------------|\n| aria2                                                      | Download files from the web |\n| [pycookiecheat](https://github.com/n8henrie/pycookiecheat) | Import cookies from Chrome  |\n\n### Import cookies from Chrome\n\nWhen you are used to using Chrome, you can set `eaf-browser-auto-import-chrome-cookies` to `t`, and the EAF browser will automatically import cookies from Chrome. You don't need to login separately in Chrome and EAF browser.\n\n#### Support chrome based browser\n\nSupport import chrome based browser cooike by set `eaf-browser-chrome-browser-name` to:\n\n1. Chrome (default)\n2. Chromium\n3. Brave\n\n[Do not Support Windows](https://github.com/n8henrie/pycookiecheat#how-about-windows)\n\n### The keybinding of EAF Browser.\n\nPlease press `Alt + z` to execute command `switch_to_input_mode` if some site can't input text.\n\n| Key   | Event   |\n| :---- | :------ |\n| `C--` | zoom_out |\n| `C-=` | zoom_in |\n| `C-0` | zoom_reset |\n| `C-s` | search_text_forward |\n| `C-r` | search_text_backward |\n| `C-n` | scroll_up |\n| `C-p` | scroll_down |\n| `C-f` | scroll_right |\n| `C-b` | scroll_left |\n| `C-v` | scroll_up_page |\n| `C-y` | yank_text |\n| `C-w` | kill_text |\n| `M-z` | switch_to_input_mode |\n| `M-e` | atomic_edit |\n| `M-c` | caret_toggle_browsing |\n| `M-D` | select_text |\n| `M-s` | open_link |\n| `M-S` | open_link_new_buffer |\n| `M-B` | open_link_background_buffer |\n| `C-/` | undo_action |\n| `M-_` | redo_action |\n| `M-w` | copy_text |\n| `M-f` | history_forward |\n| `M-b` | history_backward |\n| `M-q` | delete_cookie |\n| `M-Q` | delete_all_cookies |\n| `C-t` | toggle_password_autofill |\n| `C-d` | save_page_password |\n| `C-M-q` | clear_history |\n| `C-M-i` | import_chrome_history |\n| `C-M-s` | import_safari_history |\n| `M-v` | scroll_down_page |\n| `M-\u003c` | watch-other-window-up-line |\n| `M-\u003e` | watch-other-window-down-line |\n| `M-p` | scroll_down_page |\n| `M-t` | new_blank_page |\n| `M-d` | toggle_dark_mode |\n| `M-l` | toggle_dark_mode_light_theme |\n| `SPC` | insert_or_scroll_up_page |\n| `J` | insert_or_select_left_tab |\n| `K` | insert_or_select_right_tab |\n| `j` | insert_or_scroll_up |\n| `k` | insert_or_scroll_down |\n| `h` | insert_or_scroll_left |\n| `l` | insert_or_scroll_right |\n| `f` | insert_or_open_link |\n| `F` | insert_or_open_link_background_buffer |\n| `O` | insert_or_open_link_new_buffer_other_window |\n| `B` | insert_or_open_link_background_buffer |\n| `c` | insert_or_caret_at_line |\n| `u` | insert_or_scroll_down_page |\n| `d` | insert_or_scroll_up_page |\n| `H` | insert_or_history_backward |\n| `L` | insert_or_history_forward |\n| `t` | insert_or_new_blank_page |\n| `T` | insert_or_recover_prev_close_page |\n| `i` | insert_or_focus_input |\n| `I` | insert_or_open_downloads_setting |\n| `r` | insert_or_refresh_page |\n| `g` | insert_or_scroll_to_begin |\n| `x` | insert_or_close_buffer |\n| `G` | insert_or_scroll_to_bottom |\n| `-` | insert_or_zoom_out |\n| `=` | insert_or_zoom_in |\n| `0` | insert_or_zoom_reset |\n| `m` | insert_or_save_as_bookmark |\n| `o` | insert_or_open_browser |\n| `y` | insert_or_download_youtube_video |\n| `Y` | insert_or_download_youtube_audio |\n| `p` | insert_or_toggle_device |\n| `P` | insert_or_duplicate_page |\n| `1` | insert_or_save_as_pdf |\n| `2` | insert_or_save_as_single_file |\n| `3` | insert_or_save_as_screenshot |\n| `v` | insert_or_view_source |\n| `e` | insert_or_edit_url |\n| `n` | insert_or_export_text |\n| `N` | insert_or_render_by_eww |\n| `,` | insert_or_switch_to_reader_mode |\n| `.` | insert_or_translate_text |\n| `;` | insert_or_translate_page |\n| `M-i` | immersive_translation |\n| `C-M-c` | copy_code |\n| `C-M-l` | copy_link |\n| `C-a` | select_all_or_input_text |\n| `M-u` | clear_focus |\n| `C-j` | open_downloads_setting |\n| `M-o` | eval_js |\n| `M-O` | eval_js_file |\n| `\u003cescape\u003e` | eaf-browser-send-esc-or-exit-fullscreen |\n| `M-,` | eaf-send-down-key |\n| `M-.` | eaf-send-up-key |\n| `M-m` | eaf-send-return-key |\n| `\u003cf5\u003e` | emacs-session-save |\n| `\u003cf12\u003e` | open_devtools |\n| `\u003cC-return\u003e` | eaf-send-ctrl-return-sequence |\n| `C-\u003cleft\u003e` | eaf-send-ctrl-left-sequence |\n| `C-\u003cright\u003e` | eaf-send-ctrl-right-sequence |\n| `C-\u003cdelete\u003e` | eaf-send-ctrl-delete-sequence |\n| `C-\u003cbackspace\u003e` | eaf-send-ctrl-backspace-sequence |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-eaf%2Feaf-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femacs-eaf%2Feaf-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-eaf%2Feaf-browser/lists"}