From a671414b552ad28aef29d0a09275828705ff5392 Mon Sep 17 00:00:00 2001 From: sergeych Date: Thu, 8 Sep 2022 09:21:33 +0300 Subject: [PATCH] readme added --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..89898ff --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# PARanodi SECuruty 3 protocol + +This is a connection-agnostic, full-duplex RPC type binary protocol, effective to work with binary data, such as encrypted data, keys, multimedia, etc. Its key points are: + +- simple and practical transport RPC layer, which is a primary choice when, for exaple, `wss://` level by TSL is enough, e.g. when there is no sensitive data being transmitted (games, etc). + +- can easily be used with UDP (it has not too big binary frames that do not depend on the reception order) + +- asynchronous full-duplex multithreaded RPC: any number commands from both parties can be executed in parallel. + +- coroutine-based, fast implementation. + +- compile-time types/invokation checks + +- out of the box fast coroutine based websocket client (JVM+JS) and setver (JVM:ktor) implementations are provided. + +- Kotlin Multiplatform: works the same in JVM/JS (and android too) + +The protocol is a result of reconsidering the pratcial usage of its predecessor, parsec2 protocol. This version is not a part of the Universa effort but an independent personal project of universa CTO. + +## Status + +Transport layer for wbesockets is being tested in commercial environment, while its public interface still is in aplpha stage and is not yet frozen. + +Secure layer is not yet published, as R&D and desting are still under way. + +You can try and use transport layer but be prepared to minor interface changes. + +## Installation + +Insofar, we use localMaven: clone it and use `./gradlew publishToMavenLocal`, then add dependency: + +```kotlin +repsitories { + // ... + mavenLocal() +} + +//... + dependencies { + api("net.sergeych:parsec3:0.0.1-SNAPSHOT") + } +``` + +## Usage + +## FAQ + +### Why not github? + +Two reasons: + +1. I don't want to depend on US crazy ideas like limit usage of its services to anybody who their governent won't like next week. +2. My ethic is against usage of open source in _paid services_ like gothub's copilot. + +### Why not universa? + +Again, two reasons: + +1. This is my own project, I don't want to get under any trademark, codes and whatever limits. + +2. Its security model is intended to be more universal than just universa to use more trust sources, so it is again not ethically adequate to develop it using universa resources. + +## LICENSE + +Will soon be published under MIT or similar. \ No newline at end of file