Public Tinc-Web API (json-rpc 2.0)
- TincWeb.Networks - List of available networks (briefly, without config)
- TincWeb.Network - Detailed network info
- TincWeb.Create - Create new network if not exists
- TincWeb.Remove - Remove network (returns true if network existed)
- TincWeb.Start - Start or re-start network
- TincWeb.Stop - Stop network
- TincWeb.Peers - Peers brief list in network (briefly, without config)
- TincWeb.Peer - Peer detailed info by in the network
- TincWeb.Import - Import another tinc-web network configuration file.
- TincWeb.Share - Share network and generate configuration file.
- TincWeb.Node - Node definition in network (aka - self node)
- TincWeb.Upgrade - Upgrade node parameters.
- TincWeb.Majordomo - Generate Majordomo request for easy-sharing
- TincWeb.Join - Join by Majordomo Link
List of available networks (briefly, without config)
- Method:
TincWeb.Networks
- Returns:
[]*Network
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Networks",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Detailed network info
-
Method:
TincWeb.Network
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | name | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Network",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Create new network if not exists
-
Method:
TincWeb.Create
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | name | string |
1 | subnet | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Create",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Remove network (returns true if network existed)
-
Method:
TincWeb.Remove
-
Returns:
bool
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Remove",
"params" : []
}
EOF
Start or re-start network
-
Method:
TincWeb.Start
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Start",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Stop network
-
Method:
TincWeb.Stop
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Stop",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Peers brief list in network (briefly, without config)
-
Method:
TincWeb.Peers
-
Returns:
[]*PeerInfo
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Peers",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
online | bool |
|
config | network.Node |
Peer detailed info by in the network
-
Method:
TincWeb.Peer
-
Returns:
*PeerInfo
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
1 | name | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Peer",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
online | bool |
|
config | network.Node |
Import another tinc-web network configuration file. It means let nodes defined in config join to the network. Return created (or used) network with full configuration
-
Method:
TincWeb.Import
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | sharing | Sharing |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Import",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |
Json | Type | Comment |
---|---|---|
name | string |
|
subnet | string |
|
node | []*network.Node |
Share network and generate configuration file.
-
Method:
TincWeb.Share
-
Returns:
*Sharing
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Share",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
subnet | string |
|
node | []*network.Node |
Node definition in network (aka - self node)
-
Method:
TincWeb.Node
-
Returns:
*network.Node
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Node",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
subnet | string |
|
port | uint16 |
|
ip | string |
|
address | []Address |
|
publicKey | string |
|
version | int |
Upgrade node parameters. In some cases requires restart
-
Method:
TincWeb.Upgrade
-
Returns:
*network.Node
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
1 | update | Upgrade |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Upgrade",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
subnet | string |
|
port | uint16 |
|
ip | string |
|
address | []Address |
|
publicKey | string |
|
version | int |
Json | Type | Comment |
---|---|---|
port | uint16 |
|
address | []Address |
|
device | string |
Generate Majordomo request for easy-sharing
-
Method:
TincWeb.Majordomo
-
Returns:
string
-
Arguments:
Position | Name | Type |
---|---|---|
0 | network | string |
1 | lifetime | Duration |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Majordomo",
"params" : []
}
EOF
type Duration int64
Join by Majordomo Link
-
Method:
TincWeb.Join
-
Returns:
*Network
-
Arguments:
Position | Name | Type |
---|---|---|
0 | url | string |
1 | start | bool |
curl -H 'Content-Type: application/json' --data-binary @- "http://127.0.0.1:8686/api/" <<EOF
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "TincWeb.Join",
"params" : []
}
EOF
Json | Type | Comment |
---|---|---|
name | string |
|
running | bool |
|
config | *network.Config |