From 63d2999ccba0b5de9d7d7a6421f77734de11455d Mon Sep 17 00:00:00 2001
From: Philippe PITTOLI
Date: Thu, 16 Jan 2020 17:30:49 +0100
Subject: [PATCH] readme updated
---
README.md | 56 ++++++++++++++++++++++++++++++-------------------------
1 file changed, 31 insertions(+), 25 deletions(-)
diff --git a/README.md b/README.md
index 8e3d02f..ca4f50d 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,15 @@
-Plumberd is a program to handle networking for all other software.
+ipcd is a program to handle networking for all other software.
# WARNING
Security is TBD. Currently, only TCPd is implemented, which means no communication security.
-# Plumberd functionalities
+# ipcd functionalities
## firewall
-`Plumberd` has to filter the connections to local services.
+`ipcd` has to filter the connections to local services.
```Warning
WIP.
@@ -17,7 +17,7 @@ WIP.
## authentication
-`Plumberd` has to authenticate clients asking for a service.
+`ipcd` has to authenticate clients asking for a service.
```Warning
WIP.
@@ -49,54 +49,60 @@ This program can be used as follow:
```sh
# with some static rules
-plumberd --allow in authd tls:example.com --deny in * * --allow out pong tls:pong.example.com:9000
-plumberd --redirect authd nextversion-authd
+ipcd --allow in authd tls:example.com --deny in * * --allow out pong tls:pong.example.com:9000
+ipcd --redirect authd nextversion-authd
```
## usage examples
-`plumberd` is requested each time a client is launched when the right environment variable is used.
+`ipcd` is requested each time a client is launched when the right environment variable is used.
For example, we want to connect to a distant `authd` service:
- IPC_NETWORKD="authd tls://user@passwd:example.com:9000/authd"
+ IPC_NETWORK="authd tls://user@passwd:example.com:9000/authd"
```Warning
-Currently, the plumberd only works with tcp and unix routes.
+Currently, the ipcd only works with tcp and unix routes.
```
- IPC_NETWORKD="pongd tcp://example.com:9000/pongd"
+ IPC_NETWORK="pongd tcp://example.com:9000/pongd"
# Changelog
-* v0.1: (current) plumberd (redirections), tcpd
+* v0.1: (current) ipcd (redirections), tcpd
- * `plumberd` understands URIs (`tcp://example.com/service` or `unix:///service`)
- * `tcp` scheme is understood: `plumberd` contacts the `tcpd` service
- * `unix` scheme is understood: `plumberd` performs a redirection
+ * `ipcd` understands URIs (`tcp://example.com/service` or `unix:///service`)
+ * `tcp` scheme is understood: `ipcd` contacts the `tcpd` service
+ * `unix` scheme is understood: `ipcd` performs a redirection
+* v0.2: websocketd is up and running, some documentation is available
+
+ * websocketd
+ * IPC services are accessible via WebSockets
+ * `websocketc` is an example of client for it, not requiring libipc
+ * documentation
+ * pongd is a service template, up and running,
# Roadmap
-
-* v0.2: webipcd, documentation
-* v0.3: firewall + redirections
-* v0.4: static configuration: default routes, authentication
-* v0.5: tlsd built-in, pre-shared keys
-* v0.6: udpd
+* v0.3: websocket scheme for clients, transparently usable through `ipcd`
+* v0.4: firewall + redirections
+* v0.5: static configuration: default routes, authentication
+* v0.6: tlsd built-in, pre-shared keys
+* v0.7: udpd
* v1.0: TBD
-# Plumberd explanations
+# ipcd explanations
-1. client contacts `plumberd`
-1. `plumberd` understand the request from the client then contacts the local service responsible for the communication protocol required
-1. once the distant connection is established (between the two `tlsd` services for example) `plumberd` provides a file descriptor to the client
+1. client contacts `ipcd`
+1. `ipcd` understand the request from the client then contacts the local service responsible for the communication protocol required
+1. once the distant connection is established (between the two `tlsd` services for example) `ipcd` provides a file descriptor to the client
1. finally, the client can perform requests to the distant service transparently
during the connection:
- client <-> plumberd <-> tlsd <=> tlsd <-> plumberd <-> service
+ client <-> ipcd <-> tlsd <=> tlsd <-> ipcd <-> service
then: