Skip to content

bearice/tunnel-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tunnel Manager

An RESTful API to control pptp2http instances

API Endpoints

GET /tunnels

Get list of tunnels

GET /tunnels HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 172.19.2.200:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:13:59 GMT
Server: tman/0.1
Transfer-Encoding: chunked
[
    {
        "dns1": "202.102.224.68",      //Server advised DNS Server
        "dns2": "202.102.227.68",
        "external": "42.235.188.158",  //Tunnel public ip
        "id": "pptp2",                 //Name
        "local": "172.17.0.2",         //Instance IP
        "port": 32772,                 //Mapped proxy port
        "server": "112.83.69.201",     //PPTP Server address
        "status": "CONNECTED",         //CONNECTED|DISCONNECTED|INITIAL
        "tunnel_ip": "172.16.254.7",   //Tunnel local address
        "user": "a051602"              //Username
    },
    {
        "dns1": "202.103.24.68",
        "dns2": "202.103.44.150",
        "external": "27.24.32.108",
        "id": "pptp1",
        "local": "172.17.0.3",
        "port": -1,
        "server": "222.186.31.224",
        "status": "DISCONNECTED",
        "tunnel_ip": "12.12.12.11",
        "user": "a051601"
    }
]

GET /tunnel/[:name]

Get tunnel detail

GET /tunnel/pptp1 HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 172.19.2.200:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:18:13 GMT
Server: tman/0.1
Transfer-Encoding: chunked
{
    "dns1": "202.103.24.68",
    "dns2": "202.103.44.150",
    "external": "27.24.32.108",
    "id": "pptp1",
    "local": "172.17.0.3",
    "port": -1,
    "server": "222.186.31.224",
    "status": "DISCONNECTED",
    "tunnel_ip": "12.12.12.11",
    "user": "a051601"
}

POST /tunnel

Create tunnel

Arguments

  • name Name of tunnel
  • server PPTP Server Address
  • user Username
  • pass Password
POST /tunnel HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 54
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: proxy-zw29-01:8081
User-Agent: HTTPie/0.9.3

name=pptp2&server=112.83.69.201&user=a051602&pass=****

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:23:59 GMT
Server: tman/0.1
Transfer-Encoding: chunked
{
    "dns1": "202.102.224.68",
    "dns2": "202.102.227.68",
    "external": "42.235.188.158",
    "id": "pptp2",
    "local": "172.17.0.2",
    "port": 32773,
    "server": "112.83.69.201",
    "status": "CONNECTED",
    "tunnel_ip": "172.16.254.7",
    "user": "a051602"
}

DELETE /tunnel/[:name]

Delete Tunnel

DELETE /tunnel/pptp2 HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: proxy-zw29-01:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Date: Fri, 27 May 2016 04:25:13 GMT
Server: tman/0.1
Transfer-Encoding: chunked

pptp2

#POST /tunnel/[:name]/redial

Redial (disconnect then connect)

POST /tunnel/pptp1/redial HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: proxy-zw29-01:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:27:18 GMT
Server: tman/0.1
Transfer-Encoding: chunked
{
    "dns1": "202.101.224.69",
    "dns2": "202.101.226.69",
    "external": "",
    "id": "pptp1",
    "local": "172.17.0.2",
    "port": 32774,
    "server": "222.186.31.224",
    "status": "CONNECTED",
    "tunnel_ip": "12.12.12.33",
    "user": "a051601"
}

POST /tunnel/[:name]/down

Stop instance

POST /tunnel/pptp1/down HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: proxy-zw29-01:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:28:22 GMT
Server: tman/0.1
Transfer-Encoding: chunked
{
    "dns1": "119.6.6.6",
    "dns2": "114.114.114.114",
    "external": "119.7.82.34",
    "id": "pptp1",
    "local": "172.17.0.2",
    "port": -1,
    "server": "222.186.31.224",
    "status": "DISCONNECTED",
    "tunnel_ip": "12.12.12.34",
    "user": "a051601"
}

POST /tunnel/[:name]/up

Start instance

POST /tunnel/pptp1/up HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: proxy-zw29-01:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 27 May 2016 04:29:21 GMT
Server: tman/0.1
Transfer-Encoding: chunked
{
    "dns1": null,
    "dns2": null,
    "external": null,
    "id": "pptp1",
    "local": "172.17.0.2",
    "port": 32775,
    "server": "222.186.31.224",
    "status": "INITIAL",
    "tunnel_ip": null,
    "user": "a051601"
}

About

HTTP API to manage PPTP2HTTP tunnels

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published