#vpn #wireguard #networking #tulip #builder #user #json

app tulip-net

WireGuard VPN构建器

1个不稳定版本

0.6.0 2024年2月3日

#wireguard中排名14

BSD-3-Clause

27KB
626

tulip CLI

Btw, on an unrelated issue: I see that Jason actually made the pull
request to have wireguard included in the kernel.

Can I just once again state my love for it and hope it gets merged
soon? Maybe the code isn't perfect, but I've skimmed it, and compared
to the horrors that are OpenVPN and IPSec, it's a work of art.

              Linus

tulip CLI。

在应用程序层面,Tulip是Wireguard的薄层抽象。在网络层面,Tulip就是Wireguard。

[[目录]]

依赖项

WireGuardRust,以及Cargo.tomlmakesudo中的内容。

Tulip网络用户的使用方法

  • 使用tulip gen-id创建一个公钥和私钥。
  • 要加入Tulip网络,你必须向网络管理员提供你的public_id.json。永远不要分享你的private_id.json
  • 要启动Tulip网络,使用tulip start
  • 要停止Tulip网络,使用tulip stop
  • 要使用iPhone或Android的WireGuard应用程序加入Tulip网络,生成一个单独的private_id.jsonpublic_id.json,让网络管理员批准新的public_id.json,然后使用tulip gen-wg-conf

Tulip网络管理员的使用方法

  • 维护你的tulip_network.jsonphonebook.json文件,其模式在下面详细说明。
  • 确保phonebook.json在你的Tulip网络的WireGuard IP地址上的HTTP端点/phonebook.json上是可用的。
  • 要启动Tulip网络,使用tulip start --server
  • 要停止Tulip网络,使用tulip stop
  • 要配置用户的tulip_network.json文件,使用tulip gen-net-conf。 (注意:用户必须已经被手动添加到你的phonebook.json中)。

tulip_network.json

例如,如果你的Tulip网络名为“Sandringham”,那么sandringham_tulip_network.json可能看起来像这样。

{
  "name": "sandringham",
  "subnet": "10.0.0.0/16",
  "user": {
    "name": "janie",
    "vpn_ip": "10.0.0.4"
  },
  "public_endpoints": [
    {
      "name": "appleton",
      "vpn_ip": "10.0.0.3",
      "public_hostname": "vpn.example.com",
      "public_key": "lNYWO/sIEmu51/2uBZQfaECU9DTw+tBl8IsgMM+XjVU=",
      "port": 23235
    }
  ]
}

phonebook.json

{
  "diana": {
    "name": "diana",
    "vpn_ip": "10.0.0.3",
    "public_key": "F9JGSvSOEIVOXyJT3iBu6HqECTz1b6TpadcuXA71jUE="
  },
  "harry": {
    "name": "harry",
    "vpn_ip": "10.0.0.2",
    "public_key": "hcKLrJd1+vrDphARIRZFMGsvBSEpmS/c3AOpaJz033Q="
  }
}

依赖项

~7.5MB
~164K SLoC