Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/1History/1History
All your history in one file.
https://github.com/1History/1History
backup browser-history history rust
Last synced: 4 months ago
JSON representation
All your history in one file.
- Host: GitHub
- URL: https://github.com/1History/1History
- Owner: 1History
- License: gpl-3.0
- Created: 2022-01-22T12:26:41.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T13:23:15.000Z (11 months ago)
- Last Synced: 2024-07-19T07:11:46.941Z (7 months ago)
- Topics: backup, browser-history, history, rust
- Language: JavaScript
- Homepage:
- Size: 1.13 MB
- Stars: 438
- Watchers: 5
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.org
- Changelog: CHANGELOG.org
- License: LICENSE
Awesome Lists containing this project
- my-awesome - 1History/1History - history,history,rust pushed_at:2024-03 star:0.5k fork:0.0k All your history in one file. (JavaScript)
- project-awesome - 1History/1History - All your history in one file. (JavaScript)
- awesome-rust - 1History
- awesome-rust-cn - 1History - (应用程序 Applications / 公用事业公司 Utilities)
- awesome-rust - 1History - Command line interface to backup Firefox/Chrome/Safari history to one SQLite file [![Build Status](https://github.com/1History/1History/actions/workflows/CI.yml/badge.svg)](https://github.com/1History/1History/actions/workflows/CI.yml) (Applications / Utilities)
- awesome-starred - 1History/1History - All your history in one file. (rust)
- fucking-awesome-rust - 1History - Command line interface to backup Firefox/Chrome/Safari history to one SQLite file [![Build Status](https://github.com/1History/1History/actions/workflows/CI.yml/badge.svg)](https://github.com/1History/1History/actions/workflows/CI.yml) (Applications / Utilities)
- fucking-awesome-rust - 1History - Command line interface to backup Firefox/Chrome/Safari history to one SQLite file [![Build Status](https://github.com/1History/1History/actions/workflows/CI.yml/badge.svg)](https://github.com/1History/1History/actions/workflows/CI.yml) (Applications / Utilities)
README
#+TITLE: 1History
#+DATE: 2022-01-23T20:21:06+0800
#+AUTHOR: Jiacai Liu
#+LANGUAGE: cn
#+OPTIONS: toc:nil num:nil
#+STARTUP: content[[https://crates.io/crates/onehistory][https://img.shields.io/crates/v/onehistory.svg]]
[[https://github.com/1History/1History/actions/workflows/CI.yml][https://github.com/1History/1History/actions/workflows/CI.yml/badge.svg]]#+begin_quote
All your history in one file.
#+end_quote1History is a command line tool to backup your different browser histories into one file, and visualize them!
[[https://www.producthunt.com/posts/1history?utm_source=badge-review&utm_medium=badge&utm_souce=badge-1history#discussion-body][https://api.producthunt.com/widgets/embed-image/v1/review.svg?post_id=329191&theme=light]]
* Features
- Rich dashboards to visualize your history
- Export as CSV file
- Entirely offline, No need to worry about privacy leaks
- Support Chrome/Firefox/Safari on macOS/Linux/Windows
- Well-designed schemas to avoid history duplication when backup multiple times
- No NPM, 1History is a single binary built mainly in Rust🦀* Screenshots
** Daily Page View
[[file:screenshots/daily_pv.png]]
** Top 10 Title
[[file:screenshots/top10_title.png]]
** Top 10 Domain
[[file:screenshots/top10_domain.png]]* Usage
#+begin_src bash
onehistory 0.1.0USAGE:
onehistory [OPTIONS]OPTIONS:
-d, --db-file Database path [env: OH_DB_FILE=] [default: ~/onehistory.db]
-h, --help Print help information
-v, --verbose
-V, --version Print version informationSUBCOMMANDS:
backup Backup browser history to 1History
export
help Print this message or the help of the given subcommand(s)
serve Start HTTP server to visualize history
show Show default history files on your computer
#+end_src
** Backup
#+begin_src bash
USAGE:
onehistory backup [OPTIONS]OPTIONS:
-d, --disable-detect
Disable auto detect history files-D, --dry-run
-f, --history-files
SQLite file path of different browsers(History.db/places.sqlite...)-h, --help
Print help information
#+end_src
=backup= is the main subcommand, it will import browser history into 1History.1History will automatically detect history of different browsers by default, =show= subcommand will show what it can find.
Users can also use =-f= option to set other history files to backup, the history file has the following naming convention:
| Browser | History Filename |
|---------+------------------|
| Chrome | History |
| Firefox | places.sqlite |
| Safari | History.db |
#+begin_src bash
# -f can be used multiple times
# -d is required when doing backup with browsers open
onehistory backup -d -f ~/some-dir/History.db -f ~/another-dir/places.sqlite
#+end_src** Serve
After backup browser history into 1History, the next step is to visualize those data.=serve= subcommand will start a HTTP server at [[http://127.0.0.1:9960]], open this in your browser to explore.
* Installation
** Homebrew
#+begin_src bash
brew install 1History/onehistory/onehistory
#+end_src
** Binary
The [[https://github.com/1History/1History/releases][release page]] includes precompiled binaries for Linux, macOS and Windows.
** Cargo
#+begin_src bash
cargo install onehistory
#+end_src* Changelog
See [[file:CHANGELOG.org][CHANGELOG]]
* FAQ
- =Error code 5: The database file is locked= :: This error happens if your browser is opened during backup, as SQLite allow only one open connection.Close the browser is one solution, or you can copy history file to other directory other than default location.
* LICENSE
Copyright (c) 2022 Jiacai Liu1History is distributed under [[https://www.gnu.org/licenses/gpl-3.0.txt][GPL-3.0]] license.