Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamesmunns/frauth
Peer to Peer Friend Authentication
https://github.com/jamesmunns/frauth
Last synced: 11 days ago
JSON representation
Peer to Peer Friend Authentication
- Host: GitHub
- URL: https://github.com/jamesmunns/frauth
- Owner: jamesmunns
- License: gpl-3.0
- Created: 2019-08-25T00:28:50.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-20T21:43:30.000Z (almost 5 years ago)
- Last Synced: 2024-10-09T07:10:13.264Z (30 days ago)
- Language: Rust
- Size: 133 KB
- Stars: 21
- Watchers: 4
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# frauth - The Friend Authenticator
Frauth is a command line tool to verify the identity of friends in a decentralized manner.
It is currently in an early alpha state.
## Design Principles
Frauth aims to provide reasonable default behavior for actions including:
* Identity validation
* Discovery of mutual friends
* Signing and verification of messages or files
* Encryption and decryption of messages or filesFrauth does not aim to be configurable with regards to cryptography, instead selecting one reasonable way to do things.
## Installing
For early releases, you must build `frauth` from source. `frauth` is written in Rust. You can install from source in one of two ways:
* Run `cargo install frauth`, OR
* Clone this repo (e.g. `git clone https://github.com/jamesmunns/frauth.git`), and run `cargo install --path .` in the `cli` directoryIn the future, binaries will be provided. `frauth` should work on any major OS.
## TL;DR HOWTO
This section will be rewritten later once I have more time. For now:
* You install `frauth`.
* You initialize your info using `frauth init`
* You create a text file using `frauth publish` that contains:
* Your name
* Your ed25519 public key, generated by frauth
* Some metadata of your choice
* This text file is signed with your ed25519 private key
* You put this text file on a static website you control. You could host this at:
* GitHub Pages
* Netlify
* AWS/S3
* Really anywhere you can host a text file
* Where you host the text file becomes your unique identity.
* Usually you call this file `me.frauth`.
* My identity lives at `https://jamesmunns.com/me.frauth`.In the future, you will be able to do stuff like discover friends, sign/verify/encrypt/decrypt messages and files, or more.
## TL;DR Commands
> Note: You can use `--help` at any level to get more information
* `frauth`
* `frauth init` - Set up frauth on first use
* `frauth friend` - Actions around verified friends
* `frauth friend add ` - Add a friend by their published URL
* `frauth friend list [--detailed]` - List all of your friends (and their info)
* `frauth friend remove ` - Remove a friend by their published URL
* `frauth friend update ` - Update information from a friend
* `frauth publish [--output PATH]` - Create a plain text file you can host on a static site## Contributing
Contributions are welcome!
## License
This project is licensed under GPLv3.0. See [the license](./LICENSE.md) for more details