All Projects → tdjsnelling → Dat Keyserver

tdjsnelling / Dat Keyserver

Licence: mit
a distributed PGP keyserver project based on the dat protocol

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dat Keyserver

Distribyted
📂 ➡️ 📺 🎶 🎮 Torrent client with on-demand file downloading as a filesystem.
Stars: ✭ 791 (+788.76%)
Mutual labels:  p2p, distributed
Hyperdb Examples
a small introduction to getting started with hyperdb
Stars: ✭ 53 (-40.45%)
Mutual labels:  dat, p2p
Dat React Native
Browse through the web with the Dat protocol in your device!
Stars: ✭ 25 (-71.91%)
Mutual labels:  dat, p2p
Cabal Desktop
Desktop client for Cabal, the p2p/decentralized/local-first chat platform.
Stars: ✭ 632 (+610.11%)
Mutual labels:  p2p, distributed
Pius
PGP Individual User Signer
Stars: ✭ 77 (-13.48%)
Mutual labels:  pgp, gnupg
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+7069.66%)
Mutual labels:  p2p, distributed
Random Access Http
Continuous reading from a http(s) url using random offsets and lengths for peers in a distributed system
Stars: ✭ 39 (-56.18%)
Mutual labels:  dat, p2p
Trezor Agent
Hardware-based SSH/PGP agent
Stars: ✭ 400 (+349.44%)
Mutual labels:  pgp, gnupg
Datradio
p2p music player for {old} beaker and dat
Stars: ✭ 77 (-13.48%)
Mutual labels:  dat, p2p
Hyperfeed
decentralized rss publishing
Stars: ✭ 60 (-32.58%)
Mutual labels:  dat, p2p
Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+6786.52%)
Mutual labels:  p2p, distributed
Iostreams
IOStreams is an incredibly powerful streaming library that makes changes to file formats, compression, encryption, or storage mechanism transparent to the application.
Stars: ✭ 84 (-5.62%)
Mutual labels:  pgp, gnupg
Sciencefair
The futuristic, fabulous and free desktop app for working with scientific literature 🔬 📖
Stars: ✭ 561 (+530.34%)
Mutual labels:  dat, p2p
Fair Analytics
📊 An analytics server that doesn't undermine user's privacy
Stars: ✭ 755 (+748.31%)
Mutual labels:  p2p, distributed
Pipethis
Replace your `curl | sh` installers
Stars: ✭ 404 (+353.93%)
Mutual labels:  pgp, gnupg
Cachep2p
"More users = More capacity"
Stars: ✭ 855 (+860.67%)
Mutual labels:  p2p, distributed
Qtox
qTox is a chat, voice, video, and file transfer IM client using the encrypted peer-to-peer Tox protocol.
Stars: ✭ 3,843 (+4217.98%)
Mutual labels:  p2p, distributed
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (+302.25%)
Mutual labels:  p2p, distributed
Datr
R package to interface with the decentralized dat network.
Stars: ✭ 56 (-37.08%)
Mutual labels:  dat, p2p
Js Dag Service
Library for storing and replicating hash-linked data over the IPFS network.
Stars: ✭ 81 (-8.99%)
Mutual labels:  p2p, distributed

logotype

dat-keyserver

CircleCI

A distributed PGP keyserver project based on the dat protocol.

Introduction

This project provides an OpenPGP keyserver that is fast, easy to set up, and fully decentralized. A key submitted to any server will be propagated to all other servers within the same pool, meaning each server stores the full set of submitted keys at all times. If a server fails or is otherwise no longer running, the keys submitted to that server are not lost and will still be available at all other servers in the pool.

Pools

A pool is a group of servers that share their set of data. A server operator has the choice to join an exisiting pool or create a new one. There is a 'master pool' which most servers should join, but should a company/organisation/other group of individuals want to run their own pool with a specific set of keys, then they can do so without other unwanted keys ending up on their servers.

Removing keys

dat-keyserver provides an important feature that sks-keyserver does not - the ability to remove keys. If a user can prove that a key belongs to them (by signing a message with their private key) then they are able to remove their public key with no interaction needed from the server operator. Once a key is removed, it is removed from all servers in the pool.

Installation

Clone this repo and npm install to install dependencies (yarn is fine too).

Usage

To start a new pool with no data (you probably don't want to do this) then run:

npm start

If you want to keep dat-keyserver running in the background, then you can use something like PM2.

Pools

If you want to join an existing pool then pass the -k option:

npm start -- -k [POOL_KEY]

If you come across a pool you wish to join but don't know the key, then you can navigate to /key to find it. I currently have a public pool with key 9ceccb8abeaba2868fe22d14605790b0b84ac58aba3e48606a710f4d33c5a4f7.

Port

By default, dat-keyserver runs on port 4000. To change this, pass the -p option:

npm start -- -p 8080

Discovery

In order for your node to be able to discover others, you must have at least one of the discovery ports open and useable on your machine. At the time of writing, these are 3282, 3000, 3002, 3004, 2001, 2003 & 2005.

Seeding

If you would just like to run a 'seed' node, pass the -s option when you start the server. Your node will still hold and replicate data, and thus aid the network, but will not expose a web interface.

Database location

By default, dat-keyserver will create it's database in ~/.datkeyserver/. If you want to change the location of the database, pass the -d option. For example:

npm start -- -d my-custom-pool/

Use this if you want to your node to join a new pool, but don't want to lose data from a previous pool (data from different pools cannot be stored within the same directory). The directory will be created if it does not exist.

Nodes

For a list of existing nodes, see nodes.md. If you run a node and want to add it to the list, please submit a pull request.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].