readme added
This commit is contained in:
parent
0ed084aeee
commit
a671414b55
66
README.md
Normal file
66
README.md
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user