MCPcopy Index your code
hub / github.com/NickCao/ranet

github.com/NickCao/ranet @v0.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.13.0 ↗ · + Follow
42 symbols 58 edges 8 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ranet - redundant array of networks

About

ranet, acronym for redundant array of networks, forms full mesh IPSec connectivity among network participants.

Configuration

{
  "organization": "acme corp", // unique identifier of a keypair
  "common_name": "some server", // node name, unique within an organization
  "endpoints": [
    {
      "serial_number": "0", // fort distinguishing endpoints, unique within a node
      "address": "1.1.1.1", // ip address or cidr, can be omitted
      "address_family": "ip4", // or ip6
      "port": 13000, // must be identical to charon.port_nat_t
      "updown": "/usr/local/bin/updown", // script to run on connection changes, see https://docs.strongswan.org/docs/5.9/plugins/updown.html
      "fwmark": null // see <child>.set_mark_out in https://docs.strongswan.org/docs/5.9/swanctl/swanctlConf.html
    },
    {
      "serial_number": "1",
      "address": null,
      "address_family": "ip6",
      "port": 13000,
      "updown": "/usr/local/bin/updown",
      "fwmark": null
    }
  ]
}

Registry

The registry is a json array containing information of mesh participants.

[
  {
    "public_key": "<PEM encoded public key>",
    "organization": "acme corp",
    "nodes": [
      {
        "common_name": "some server",
        "endpoints": [
          {
            "serial_number": "0", // matches one-to-one with endpoints in local config
            "address_family": "ip4",
            "address": "example.com", // ip or domain name, can be omitted
            "port": 13000
          },
          {
            "serial_number": "1",
            "address_family": "ip6",
            "address": null,
            "port": 13000
          }
        ],
        "remarks": {
          "arbitrary": "metadata"
        }
      }
    ]
  }
]

Core symbols most depended-on inside this repo

parse
called by 3
src/vici.rs
reconcile
called by 2
src/lib.rs
encode_identity
called by 2
src/asn.rs
generate_name
called by 1
src/lib.rs
private_key_to_public
called by 1
src/key.rs
load_key
called by 1
src/vici.rs
load_conn
called by 1
src/vici.rs
initiate
called by 1
src/vici.rs

Shape

Class 21
Method 11
Function 8
Enum 2

Languages

Rust100%

Modules by API surface

src/vici.rs25 symbols
src/registry.rs4 symbols
src/main.rs3 symbols
src/lib.rs3 symbols
src/config.rs3 symbols
src/address.rs2 symbols
src/key.rs1 symbols
src/asn.rs1 symbols

For agents

$ claude mcp add ranet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact