{"id":23240586,"url":"https://github.com/rosmanov/chrome-bee","last_synced_at":"2025-08-20T01:32:24.446Z","repository":{"id":54137574,"uuid":"70976166","full_name":"rosmanov/chrome-bee","owner":"rosmanov","description":"A Chrome/Firefox extension that allows to edit text fields with an external editor","archived":false,"fork":false,"pushed_at":"2025-06-08T18:45:45.000Z","size":1446,"stargazers_count":14,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-08T19:33:13.386Z","etag":null,"topics":["chrome","editable","editor","external","firefox"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rosmanov.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":"2016-10-15T08:30:41.000Z","updated_at":"2025-06-08T18:45:49.000Z","dependencies_parsed_at":"2022-08-13T07:20:36.348Z","dependency_job_id":"21e77013-d9a9-4be5-a614-2d198802106d","html_url":"https://github.com/rosmanov/chrome-bee","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rosmanov/chrome-bee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosmanov%2Fchrome-bee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosmanov%2Fchrome-bee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosmanov%2Fchrome-bee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosmanov%2Fchrome-bee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rosmanov","download_url":"https://codeload.github.com/rosmanov/chrome-bee/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosmanov%2Fchrome-bee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271252419,"owners_count":24726911,"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","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"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":["chrome","editable","editor","external","firefox"],"created_at":"2024-12-19T05:13:08.887Z","updated_at":"2025-08-20T01:32:24.441Z","avatar_url":"https://github.com/rosmanov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bee: Browser's External Editor Extension\n\n**Bee** allows you to edit text fields in your browser using an external editor.\n\nThere are two steps required before using this extension:\n\n1. Install a host application.\n2. Configure the extension in your browser.\n\n\u003e [!IMPORTANT]  \n\u003e Both steps are required. Be sure to assign a keyboard shortcut to invoke the external editor.\n\n---\n\n## Supported Browsers\n\n- Firefox 57+\n- Google Chrome\n- Chromium\n\n**Supported Operating Systems:** Linux, Windows, and macOS.\n\n---\n\n## Installation\n\n### 1. Host Application\n\nUse one of the following native messaging host applications:\n\n1. [**BeeCtl**](https://github.com/rosmanov/bee-host) – written in C. Supports Linux, macOS, and Windows.\n2. A **Python script** included in this repository – for Linux and macOS.\n\n#### BeeCtl\n\nFollow the instructions provided in the [BeeCtl repository](https://github.com/rosmanov/bee-host).\n\n#### Python Script\n\n**Requirements:**\n\n- Python 2 or 3\n- Bash 4.4+\n- Perl 5\n\nYou can install the host application either:\n\n- **Locally** (for the current user), or  \n- **System-wide** (for all users; requires `root` permissions)\n\n**To download the project:**\n\n```bash\nmkdir -p ~/src/chrome-bee\ncd ~/src/chrome-bee\n\nwget -q -O - https://github.com/rosmanov/chrome-bee/archive/master.tar.gz | \\\n  tar xzvf - --strip-components 1\n```\n\n**To run the installation script**:\n\nFrom the project directory, execute:\n```bash\n./host/install.sh\n```\n\n- If run as a superuser, the host application manifests will be installed system-wide.\n- By default, the application installs into the project directory.\n- \nTo specify a different installation path:\n```bash\n./host/install.sh ~/usr/lib/chrome-bee\n```\nSee the [Wiki](https://github.com/rosmanov/chrome-bee/wiki/Installing-Host-Application) for more information.\n\n### 2. Browser Extension\n\nInstall the Bee extension from:\n- [Chrome Web store](https://chrome.google.com/webstore/)\n- [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/external-editor/)\n\nThe browser will prompt for confirmation—approve it to complete the installation.\n\n## Uninstallation\n\n### BeeCtl\n\nUse your system’s package manager.\nFor example, on Debian-based systems:\n```bash\nsudo apt purge beectl\n```\n\n### Python Script\n\nFrom the project directory, run:\n```bash\n./host/uninstall.sh\n```\n\n\u003e [!NOTE]\n\u003e Run this command as the same user who performed the installation.\n\n## Configuration\n\nOpen the extension’s options page to specify the command for launching an external editor.\n\nExample:\n```bash\ngvim -f\n```\n\nYou should also assign a custom keyboard shortcut to invoke Bee[^1]. The default shortcut is `\u003cCtrl\u003eE`.\n\nSee the [Configuration Wiki](https://github.com/rosmanov/chrome-bee/wiki/Configuration) for full details.\n\n## Usage\n\n1. Place the cursor in an editable field.\n2. Press the configured keyboard shortcut.\n3. The external editor window will open with the current text.\n4. Edit, save, and close the editor.\n\nThe updated text will appear in the original text field.\n\n## Troubleshooting\n\n### Nothing Happens After Pressing the Keyboard Shortcut\n\nIf pressing the keyboard shortcut does not open your editor:\n\n- Make sure you have completed **both steps** of the installation:\n  1. Host application is installed and running.\n  2. The browser extension is installed and properly configured.\n- Ensure the external editor command in the extension options is correct (e.g., `gvim -f`, `code --wait`, `emacsclient -c -n`).\n- Verify the keyboard shortcut is assigned correctly:\n  - In Chrome/Chromium: go to `chrome://extensions/shortcuts`.\n  - In Firefox: open `about:addons`, then click the gear icon → \"Manage Extension Shortcuts\".\n- Check browser console logs (Developer Tools → Console tab) for error messages.\n- Restart the browser and try again.\n- If using the Python host, make sure all dependencies (Python, Bash, Perl) are installed and available in the `PATH`.\n\nOn Windows, you might need to specify the path to the editor in double quotes, if the path contains spaces, e.g.:\n```\n\"C:\\Users\\ruslan.osmanov\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code.cmd\" --wait\n```\n\n\u003e [!NOTE]\n\u003e Note the `--wait` option in the command above. It makes VS Code wait until the file is closed before returning control to the browser. This is important for the extension to work correctly.\n\n\n---\n\n### Firefox 138.0.3+ on macOS Silently Drops Native Host Connections\n\nThis is a known issue in newer versions of Firefox on macOS where it may silently drop connections to the native messaging host.\n\n#### Suggested Solutions:\n\n1. **Reset the local Firefox profile state**:\n   - Quit Firefox completely.\n   - Delete the following files from your Firefox profile directory:\n     ```bash\n     rm ~/Library/Application\\ Support/Firefox/Profiles/\u003cyour-profile-id\u003e/SiteSecurityServiceState.bin\n     rm ~/Library/Application\\ Support/Firefox/Profiles/\u003cyour-profile-id\u003e/permissions.sqlite\n     rm ~/Library/Application\\ Support/Firefox/Profiles/\u003cyour-profile-id\u003e/content-prefs.sqlite\n     ```\n   - Restart Firefox.\n\n2. **Remove the quarantine attribute from host files**:  \nmacOS may block the execution of downloaded files until they are explicitly trusted. Run:\n```bash\nxattr -rd com.apple.quarantine /path/to/chrome-bee\n```\n\u003e [!NOTE]\n\u003e You might need to run it as an administrator (e.g., using `sudo`).\n3. **Reinstall the extension and host application**:\n    -\tUninstall the extension from Firefox.\n    -\tDelete and reinstall the host application.\n    - Reinstall the extension from https://addons.mozilla.org/.\n4. **Check Console.app logs**:\n    - Open Console.app and filter logs with Bee or native messaging.\n    - Look for sandboxing or permission-related errors.\n5. **Test with a new Firefox profile**:\n    - To rule out profile-specific corruption, temporarily create a fresh Firefox profile via `about:profiles` and install the extension there.\n\n## License\n\nSee `LICENSE` file.\n\n© 2014-2025 Ruslan Osmanov\n\u003c608192+rosmanov@users.noreply.github.com\u003e\n\n[^1]: At the time of writing:\n    - In Chrome/Chromium, click the \"Keyboard shortcuts\" button at the bottom of chrome://extensions  \n    - In Firefox, open the `about:addons`, then select \"Manage Extension Shortcuts\" from the dropdown next to the \"Manage Your Extensions\".  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosmanov%2Fchrome-bee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frosmanov%2Fchrome-bee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosmanov%2Fchrome-bee/lists"}