Skip to content
This repository was archived by the owner on Mar 14, 2024. It is now read-only.

Commit eb93895

Browse files
author
Ethan Budd
authored
Update README.md
1 parent c6391bc commit eb93895

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

README.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,45 @@
33
[![Build Status](https://travis-ci.com/budde25/ssh-key-sync.svg?branch=main)](https://travis-ci.com/budde25/ssh-key-sync)
44
[![Crates.io](https://img.shields.io/crates/v/keysync)](https://crates.io/crates/keysync)
55
[![Crates.io](https://img.shields.io/crates/d/keysync)](https://crates.io/crates/keysync)
6-
[![Snapcraft.io](https://snapcraft.io//keysync/badge.svg)](https://snapcraft.io/keysync)
76

87
keysync is a command line utility and service to help keep your local authorized_keys file synced to a master copy of public keys. The program allows syncing from Github and Gitlab at the moment, custom url support is coming soon. It downloads and filters only keys that you don't already have a local copy of. This application can be used for either as one time sync when run, or running automatically in the background as a systemd service. You can have the file it updated at a preset interval or a custom cron expression, you can even support multiple users and providers.
98

109
Note: Automatic jobs will fail if the computer goes to sleep/hibernate. The systemd daemon is recommeded primarily for servers. For personal computers it is recomended to just run the command manually whenever you add public keys.
1110

1211
**Warning** If you're Github or Gitlab is comprmised an attacker can upload their keys to gain access to you're computer. For security please do not set this program up for a root user, you're just asking for trouble.
1312

13+
## Install
14+
`cargo install keysync` not reccomended, cannot run as daemon.
15+
More releases coming soon.
16+
1417
## Usage
15-
`keysync -h` Show help.
18+
```
19+
SSH Key Sync 0.1.1
20+
A command line client and service for keeping SHH keys up to date with a list Ex: Github.
21+
22+
USAGE:
23+
keysync [FLAGS] <SUBCOMMAND>
24+
25+
FLAGS:
26+
-d, --dry-run Runs the commands without commiting the changes
27+
-h, --help Prints help information
28+
-V, --version Prints version information
29+
-v, --verbose Verbose mode (-v, -vv, -vvv)
30+
31+
SUBCOMMANDS:
32+
get The username to fetch
33+
help Prints this message or the help of the given subcommand(s)
34+
jobs Current enabled jobs
35+
set Add an automatic job
36+
```
37+
Use nxcloud <subcommand> help for help with that subcommand.
38+
39+
Examples:
1640
`keysync get <username>` Downloads the public keys from github for the username.
1741
`keysync get --gitlab <url> <username>` Downloads the public keys from gitlab for the username, a url must be provided or '' for `https://gitlab.com`.
18-
`keysync jobs` Lists currenly enable jobs.
19-
`keysync add <user> <username> <schedule>` Adds automatic job for the user, where username is the github or gitlab username. Valid schedules are [Hourly, Daily, Weekly, Monthly, Custom]
42+
`keysync add <user> <username> <schedule>` Adds automatic job for the user, where username is the github or gitlab username.
43+
Valid schedules are [Hourly, Daily, Weekly, Monthly, Custom]
2044
`keysync add <user> <username> custom -c <cron>` Adds automactic job for user with custom cron schedule.
21-
`keysync --dry-run` Runs commands without commiting any changes.
22-
`keysync -v` Specify verbosity (up to 3 times).
23-
`keysync -V` Display version info.
2445

2546
## Setup
2647
* Install [Rust](https://www.rust-lang.org/tools/install)

0 commit comments

Comments
 (0)