├── LICENSE ├── README.md ├── background.html ├── background.js ├── content.js ├── dynamicdetection.js ├── history_processor_sandbox.html ├── history_processor_sandbox.js ├── icon-256.png ├── icon128.png ├── icon16.png ├── icon32.png ├── icon48.png ├── jquery-3.3.1.min.js ├── manifest.json ├── moment.min.js ├── oninstall.html ├── oninstall.js ├── options.html ├── options.js ├── popup.html ├── popup.js ├── scrshot ├── 1a.jpg ├── 1b.jpg ├── 2.jpg ├── 3.jpg └── 4.jpg ├── shared.js └── webstore-tile.xcf /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Andy Bao 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DynamicHistory 2 | *Automagically delete history based on what's on the page!* 3 | 4 | ## About 5 | DynamicHistory automagically deletes history for a page if a specified set of words are found on it. It will however not remove pages from the "Recent Pages/Tabs" list in your browser. It can also blacklist and whitelist domains from your history. 6 | 7 | ## Notes 8 | This extension functions properly on both Chrome and Firefox. It is a hybrid WebExtension that will detect the browser type automatically upon installation. The project is also essentially complete so unless some bugs crop up, it will be receiving minimal updates. 9 | 10 | ## Webstore links 11 | [](https://chrome.google.com/webstore/detail/dynamichistory/ehkdegpnplleadlmjoaidmjiabocgpok) [](https://addons.mozilla.org/en-US/firefox/addon/dynamichistory/) 12 | 13 | ## Chrome installation 14 | ### From binary: 15 | 1. Download the extension from here: https://csg.nd.vu/s3/d/DynamicHistory.crx?d 16 | 2. Open the Chrome "extensions" page by copying and pasting this into the navigation bar: `chrome://extensions/` 17 | 3. Drag the extension downloaded in step 1 onto the extensions page 18 | 4. Disable "History Sync" if you are signed into chrome by following the instructions in the tab that opens up. 19 | 20 | ### From source: 21 | 1. Git clone the repo with: `git clone https://github.com/null-dev/DynamicHistory` 22 | 2. Open the Chrome "extensions" page by copying and pasting this into the navigation bar: `chrome://extensions/` 23 | 3. Drag the folder that was created in step 1 from the git clone onto the extensions page (or click "Load unpacked extension..." at the top of the page and browse to the cloned folder) 24 | 4. Disable "History Sync" if you are signed into chrome by following the instructions in the tab that opens up. 25 | 26 | ## Firefox installation 27 | ### From source: 28 | 1. Git clone the repo with: `git clone https://github.com/null-dev/DynamicHistory` 29 | 2. Visit "about:debugging#addons" in your browser (copy and paste it into the URL bar). 30 | 3. Click the "Load Temporary Add-on" button and choose the any file in the repo. 31 | 32 | ## Configuration 33 | Here is a list of configuration options and their purposes. Note that `Danger Domains`, `Safe Domains` and `Dangerous Keywords` are all split by newlines. 34 | 35 | `Dangerous domains`: The domains to always delete history on. Remember that `www.example.com` and `example.com` are different domains to remember to add both if needed. 36 | 37 | `Safe domains`: The domains to never delete history on. Same warning as above about the `www` part. 38 | 39 | `Dangerous keywords`: Any page with any of the specified words on it will have it's history deleted (unless it's in the `Safe Domains` section). 40 | 41 | `Regex 'Dangerous domains'`: Use regex to match for dangerous domains. 42 | 43 | `Regex 'Safe domains'`: Use regex to match for safe domains. 44 | 45 | `Regex 'Dangerous keywords'`: Use regex to match for dangerous keywords. 46 | 47 | `Append prefix`: Whether or not to add a prefix to the start of any page that has it's history removed. **THIS IS BUGGY AND WILL NOT WORK ON ALL PAGES**. 48 | 49 | `Outline page`: Whether or not to add a colored border to any page that has it's history removed. **MAY NOT BE FULLY VISIBLE ON SOME RARE COMPLEX PAGES**. 50 | 51 | `Show badge`: Whether or not to show a badge beside the DynamicHistory icon when viewing a tab that has it's history removed. 52 | 53 | `Prefix text`: The text to be used as a prefix if `Append Prefix` is enabled. 54 | 55 | `Outline color`: The color of the outline if `Outline Page` is enabled. 56 | 57 | `Badge text`: The text of the badge to show if "Show Badge" is enabled. 58 | 59 | `Badge color`: The color of the badge to show if "Show Badge" is enabled. 60 | 61 | ## Known bugs 62 | - History is not removed when Chrome's History Sync is enabled. This is a bug on Chrome's side and there is no viable workaround (as far as I know). If this is bothering you, you are welcome to help by voting for this issue here: https://code.google.com/p/chromium/issues/detail?id=395955 63 | - Append prefix does not work (at all) on pages that use dynamic titles. The only know workaround is to append the text again every couple of seconds but since this may affect performance, it will not be implemented. 64 | -------------------------------------------------------------------------------- /background.html: -------------------------------------------------------------------------------- 1 | 12 | 15 | 16 | 17 | 18 | 19 |
20 |