About this project
SEKIRO is a multi-language, distributed, network topology-independent service publishing platform. Developers write handlers in their own programming languages and publish those capabilities to a central API marketplace; business systems then consume remote node capabilities through RPC (Remote Procedure Call).
Positioning
The project describes itself as an RPC framework, but not a conventional one. Typical backend RPC frameworks (Dubbo, Spring Cloud, gRPC) decompose complex business modules and scale single-machine bottlenecks across clusters within a data center. SEKIRO instead focuses on exposing capabilities from restricted context environments, where a service provider runs somewhere inconvenient to redeploy as a normal internal service, yet the business needs to use that capability.
Example scenarios given in the README:
- Encryption algorithms running inside a client program where reverse engineering is incomplete; code can be injected via SEKIRO and the algorithm published as an API.
- Restricted data that may only be used inside an organization's intranet (for example, checked by source IP), while external services still need to call it.
- App or terminal programs with consumer-facing capabilities that B-end business wants to reuse, forwarding parameters to the app as a proxy (described as RPC crawling in the crawler industry).
- Service capability protection, where a provider wants others to use a capability without delivering code or leaking machine details such as IP addresses.
- Complex computing environments that cannot easily be deployed in external services, hosted as an API in an available environment and exported.
Core workflow
1. A central server (the SEKIRO central service) is deployed so both consumers and providers can connect.
2. Clients exist in multiple languages (Java, JavaScript, Python, and others), implementing communication with the central server and API wrapping.
3. Users write handlers in their language using the SEKIRO client API to accept parameters and forward calls to the real local capability.
4. External users call the central service API, which forwards to the corresponding client handler and returns the result through the original link.
Build and run
- Install Java and Maven.
- On Linux/Mac run the script `build_demo_server.sh` to produce `target/sekiro-open-demo.zip`.
- Run `bin/sekiro.sh` or `bin/sekiro.bat`.
- Documentation is served at `http://127.0.0.1:5612/sekiro-doc` when deployed locally.
Resources
- Documentation: http://sekiro.iinti.cn/sekiro-doc/
- Sample code for various languages: https://github.com/yint-tech/sekiro-samples
- Installation package download: https://oss.iinti.cn/sekiro/sekiro-open
- Quickstart: https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html
The README also notes a commercial service offering authentication, API management, distributed clustering, load balancing, and cross-language functionality.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.