2024-06-07 18:07:10 +09:00
|
|
|
# browser-history-merger
|
|
|
|
|
|
|
|
Merge browser histories into a single database.
|
|
|
|
|
2024-06-09 17:13:57 +09:00
|
|
|
## Usage
|
|
|
|
### Initialization
|
2024-06-07 18:07:10 +09:00
|
|
|
For the first execution on each device and browser, do
|
|
|
|
```sh
|
2024-06-09 17:16:46 +09:00
|
|
|
browser-history-merger path/to/merged.db init browser-id /abs/path/to/browser/history/database
|
2024-06-07 18:07:10 +09:00
|
|
|
```
|
|
|
|
`browser-id` should be unique to identify browser and machine.
|
|
|
|
|
2024-06-09 17:13:57 +09:00
|
|
|
### Add histories
|
2024-06-07 18:07:10 +09:00
|
|
|
Then add histories to the database by
|
|
|
|
```sh
|
|
|
|
browser-history-merger path/to/merged.db add browser-id
|
|
|
|
```
|
|
|
|
|
2024-06-09 17:13:57 +09:00
|
|
|
## Supported environments
|
|
|
|
Python 3.12 (works with standard libraries only)
|
|
|
|
|
|
|
|
- Chromium
|
|
|
|
- Tested:
|
|
|
|
- chrome on windows, linux
|
|
|
|
- brave on windows, linux
|
|
|
|
- vivaldi on linux
|
|
|
|
- Firefox
|
|
|
|
- Tested:
|
|
|
|
- firefox on windows
|
|
|
|
|
|
|
|
## Tips
|
2024-06-07 19:06:43 +09:00
|
|
|
The program is a single file `./src/browser_history_merger/__init__.py` and can be used as a script.
|
|
|
|
|
2024-06-09 18:11:43 +09:00
|
|
|
### Example SQL to see the history
|
|
|
|
|
|
|
|
```sql
|
|
|
|
SELECT
|
|
|
|
browsers.name,
|
|
|
|
visits.title,
|
|
|
|
visits.url,
|
|
|
|
datetime(visits.visit_time / 1000000 - 11644473600, 'unixepoch')
|
|
|
|
FROM
|
|
|
|
visits,
|
|
|
|
browsers
|
|
|
|
WHERE
|
|
|
|
visits.browser = browsers.id
|
|
|
|
ORDER by
|
|
|
|
visits.visit_time
|
|
|
|
DESC LIMIT 0, 100
|
|
|
|
```
|
|
|
|
|
2024-06-09 17:55:31 +09:00
|
|
|
## Todo
|
|
|
|
- exporting
|
|
|
|
- JSON output
|
|
|
|
- browser list
|
|
|
|
- multiple profiles?
|