From 5751463942cc91f1f1ffaf6e2ac633d7a0085f25 Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Tue, 13 Apr 2021 19:14:07 +0100 Subject: Add history sync, resolves #13 (#31) * Add encryption * Add login and register command * Add count endpoint * Write initial sync push * Add single sync command Confirmed working for one client only * Automatically sync on a configurable frequency * Add key command, key arg to login * Only load session if it exists * Use sync and history timestamps for download * Bind other key code Seems like some systems have this code for up arrow? I'm not sure why, and it's not an easy one to google. * Simplify upload * Try and fix download sync loop * Change sync order to avoid uploading what we just downloaded * Multiline import fix * Fix time parsing * Fix importing history with no time * Add hostname to sync * Use hostname to filter sync * Fixes * Add binding * Stuff from yesterday * Set cursor modes * Make clippy happy * Bump version --- config.toml | 65 +++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 30 deletions(-) (limited to 'config.toml') diff --git a/config.toml b/config.toml index 19a454e2..9d5452cb 100644 --- a/config.toml +++ b/config.toml @@ -3,36 +3,41 @@ # This section specifies the config for a local client, # ie where your shell history is on your local machine [local] -# (optional) -# where to store your database, default is your system data directory -# mac: ~/Library/Application Support/com.elliehuxtable.atuin/history.db -# linux: ~/.local/share/atuin/history.db -db_path = "~/.history.db" -# (optional, default us) -# date format used, either "us" or "uk" -dialect = "uk" -# (optional, default false) -# whether to enable sync of history. requires authentication -sync = false -# (optional, default 5m) -# how often to sync history. note that this is only triggered when a command is ran, and the last sync was >= this value ago -# set it to 0 to sync after every command -sync_frequency = "5m" -# (optional, default https://atuin.elliehuxtable.com) -# address of the sync server -sync_address = "https://atuin.elliehuxtable.com" +## where to store your database, default is your system data directory +## mac: ~/Library/Application Support/com.elliehuxtable.atuin/history.db +## linux: ~/.local/share/atuin/history.db +# db_path = "~/.history.db" + +## where to store your encryption key, default is your system data directory +# key_path = "~/.key" + +## where to store your auth session token, default is your system data directory +# session_path = "~/.key" + +## date format used, either "us" or "uk" +# dialect = "uk" + +## enable or disable automatic sync +# auto_sync = true + +## how often to sync history. note that this is only triggered when a command +## is ran, so sync intervals may well be longer +## set it to 0 to sync after every command +# sync_frequency = "5m" + +## address of the sync server +# sync_address = "https://api.atuin.sh" # This section configures the sync server, if you decide to host your own [remote] -# (optional, default 127.0.0.1) -# host to bind, can also be passed via CLI args -host = "127.0.0.1" -# (optional, default 8888) -# port to bind, can also be passed via CLI args -port = 8888 -# (optional, default false) -# whether to allow anyone to register an account -open_registration = false -# (required) -# URI for postgres (using development creds here) -db_uri="postgres://username:password@localhost/atuin" +## host to bind, can also be passed via CLI args +# host = "127.0.0.1" + +## port to bind, can also be passed via CLI args +# port = 8888 + +## whether to allow anyone to register an account +# open_registration = false + +## URI for postgres (using development creds here) +# db_uri="postgres://username:password@localhost/atuin" -- cgit v1.3.1