{"id":13476580,"url":"https://github.com/brcontainer/prevent-duplicate-tabs","last_synced_at":"2025-06-14T11:05:13.345Z","repository":{"id":28348319,"uuid":"116635154","full_name":"brcontainer/prevent-duplicate-tabs","owner":"brcontainer","description":"Simple add-on/extension for prevent duplicate tabs","archived":false,"fork":false,"pushed_at":"2024-04-08T19:39:27.000Z","size":484,"stargazers_count":65,"open_issues_count":20,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T01:41:27.904Z","etag":null,"topics":["browser","chrome-extension","firefox-addon","firefox-extension","opera-extension","webextension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/brcontainer.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}},"created_at":"2018-01-08T05:46:06.000Z","updated_at":"2025-03-26T12:44:52.000Z","dependencies_parsed_at":"2024-01-13T19:18:02.472Z","dependency_job_id":"c857b67a-c9b5-4287-bc8d-777386210a9f","html_url":"https://github.com/brcontainer/prevent-duplicate-tabs","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/brcontainer/prevent-duplicate-tabs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brcontainer%2Fprevent-duplicate-tabs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brcontainer%2Fprevent-duplicate-tabs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brcontainer%2Fprevent-duplicate-tabs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brcontainer%2Fprevent-duplicate-tabs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brcontainer","download_url":"https://codeload.github.com/brcontainer/prevent-duplicate-tabs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brcontainer%2Fprevent-duplicate-tabs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259804839,"owners_count":22913901,"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","chrome-extension","firefox-addon","firefox-extension","opera-extension","webextension"],"created_at":"2024-07-31T16:01:32.201Z","updated_at":"2025-06-14T11:05:13.326Z","avatar_url":"https://github.com/brcontainer.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"## About\n\nPrevents from automatically creating new tabs or repeating tabs when two or more tabs have the same addresses\n\nThe process of closing repeated tabs is automatic based on settings that you can determine within the extension/add-on, it is also possible to quickly disable and activate the add-on without having to access the extensions panel.\n\nYou can add a host or URL to specify as an exception so that the extension/add-on does not close repeated tabs.\n\nThe extension/add-on has support for closing repeated tabs in incognito/anonymous mode, but this works in isolation and will not share any information in anonymous mode with normal mode, being completely separate actions.\n\nAmong the configurations you can choose to consider or disregard querystring and hashes in URLs as a factor to differentiate them.\n\n![promocional](promo.png)\n\n## Supported browsers\n\n- Chrome 30+\n- Firefox 48+\n- Edge (Chromium)\n- Opera 40+\n\n## Install\n\n- [Chrome](https://chrome.google.com/webstore/detail/prevent-duplicate-tabs/eednccpckdkpojaiemedoejdngappaag)\n- [Firefox](https://addons.mozilla.org/firefox/addon/smart-prevent-duplicate-tabs/)\n- [Edge](https://microsoftedge.microsoft.com/addons/detail/prevent-duplicate-tabs/iijplllphnkkeepcinimpjobncicbbmb)\n- [Opera](https://addons.opera.com/en/extensions/details/prevent-duplicate-tabs/)\n\n## Configs\n\n### Sort order\n\nIt is also possible to configure whether you prefer to close the oldest tabs and whether you want to prevent the active tab (currently visible) from being closed:\n\nConfiguration | Description\n--- | ---\n`close olders` | Close the old tabs and keep the most recent one with the same URL\n`keep the tab that is active` | Don't close active tabs\n\n### URLs\n\nConfiguration | Description\n--- | ---\n`only http` | Close only tabs with HTTP(s) urls\n`querystring` | If disabled (off) it's ignore querystring in URLs, then this `http://foo/bar?baz` will be equivalent to this `http://foo/bar`\n`hash` | If disabled (off) it's ignore hash in URLs, then this `http://foo/bar#baz` will be equivalent to this `http://foo/bar`\n\n### Others\n\nConfiguration | Description\n--- | ---\n`incognito` | Check repeated anonymous tabs (requires you to manually enable in your browser)\n`windows` | Close only repeated tabs from the same window (recommended)\n`containers` | If enabled it will ignore repeated tabs in different containers, treating them as if they were non-repeated tabs (recommended), only Firefox\n\n### Events\n\nThe closing of the tabs works based on events from the Chrome API and you can disable or reactivate such events within the extension/add-on:\n\nEvent | Description\n--- | ---\n`start` | Close repeated tabs when your browser is launched\n`update` | Close repeated tabs when a tab is updated, more details in [`tabs.onUpdated.addListener`](https://developer.chrome.com/extensions/tabs#event-onUpdated)\n`create` | Close repeated tabs when a new tab is created, more details in [`tabs.onCreated.addListener`](https://developer.chrome.com/extensions/tabs#event-onCreated)\n`replace` | Close repeated tabs when a tab is replaced with another tab due to prerendering or instant, more details in [`tabs.onReplaced.addListener`](https://developer.chrome.com/extensions/tabs#event-onReplaced)\n`attach` | Close repeated tabs when a tab is attached to another window or detached (creating a new window), more details in [`tabs.onReplaced.addListener`](https://developer.chrome.com/extensions/tabs#event-onAttached)\n`datachange` | Close repeated tabs when you change `sort order`, `URLs`, `others` and `events` configurations from extension\n\n## Languages\n\nSupported languages:\n\n- [Chinese (zh)](chrome/_locales/zh/messages.json)\n- [English (en)](chrome/_locales/en/messages.json)\n- [French (fr)](chrome/_locales/fr/messages.json)\n- [German (de)](chrome/_locales/de/messages.json)\n- [Japanese (ja)](chrome/_locales/ja/messages.json)\n- [Korean (ko)](chrome/_locales/ko/messages.json)\n- [Portuguese (pt)](chrome/_locales/pt/messages.json) (and [Brazilian Portuguese (pt_BR)](chrome/_locales/pt_BR/messages.json))\n- [Spanish (es)](chrome/_locales/es/messages.json)\n\nI used automatic translations to generate the texts (`messages.json`), so there may be errors, the project is open-source, so feel free to send a pull-request with corrections in the translations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrcontainer%2Fprevent-duplicate-tabs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrcontainer%2Fprevent-duplicate-tabs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrcontainer%2Fprevent-duplicate-tabs/lists"}