forked from coolaj86/goldilocks.js
5.1 KiB
5.1 KiB
API
The API system is intended for use with Desktop and Mobile clients. It must be accessed using one of the following domains as the Host header:
- localhost.alpha.daplie.me
- localhost.admin.daplie.me
- alpha.localhost.daplie.me
- admin.localhost.daplie.me
- localhost.daplie.invalid
All requests require an OAuth3 token in the request headers.
Config
Get All Settings
- URL
/api/goldilocks@daplie.com/config
- Method
GET
- Reponse: The JSON representation of the current config. See the README.md for the structure of the config.
Get Group Setting
- URL
/api/goldilocks@daplie.com/config/:group
- Method
GET
- Reponse: The sub-object of the config relevant to the group specified in the url (ie http, tls, tcp, etc.)
Get Group Module List
- URL
/api/goldilocks@daplie.com/config/:group/modules
- Method
GET
- Reponse: The list of modules relevant to the group specified in the url (ie http, tls, tcp, etc.)
Get Specific Module
- URL
/api/goldilocks@daplie.com/config/:group/modules/:modId
- Method
GET
- Reponse: The module with the specified module ID.
Get Domain Group
- URL
/api/goldilocks@daplie.com/config/domains/:domId
- Method
GET
- Reponse: The domains specification with the specified domains ID.
Get Domain Group Modules
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules
- Method
GET
- Reponse: An object containing all of the relevant modules for the group of domains.
Get Domain Group Module Category
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules/:group
- Method
GET
- Reponse: A list of the specific category of modules for the group of domains.
Get Specific Domain Group Module
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules/:group/:modId
- Method
GET
- Reponse: The module with the specified module ID.
Change Settings
- URL
/api/goldilocks@daplie.com/config
- URL
/api/goldilocks@daplie.com/config/:group
- Method
POST
- Body: The changes to be applied on top of the current config. See the README.md for the settings. If modules or domains are specified they are added to the current list.
- Reponse: The current config. If the group is specified in the URL it will only be the config relevant to that group.
Add Module
- URL
/api/goldilocks@daplie.com/config/:group/modules
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules/:group
- Method
POST
- Body: The module to be added. Can also be provided an array of modules to add multiple modules in the same request.
- Reponse: The current list of modules.
Add Domain Group
- URL
/api/goldilocks@daplie.com/config/domains
- Method
POST
- Body: The domains names and modules for the new domain group(s).
- Reponse: The current list of domain groups.
Edit Module
- URL
/api/goldilocks@daplie.com/config/:group/modules/:modId
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules/:group/:modId
- Method
PUT
- Body: The new parameters for the module.
- Reponse: The editted module.
Edit Domain Group
- URL
/api/goldilocks@daplie.com/config/domains/:domId
- Method
PUT
- Body: The new domains names for the domains group. The module list cannot be editted through this route.
- Reponse: The editted domain group.
Remove Module
- URL
/api/goldilocks@daplie.com/config/:group/modules/:modId
- URL
/api/goldilocks@daplie.com/config/domains/:domId/modules/:group/:modId
- Method
DELETE
- Reponse: The list of modules.
Remove Domain Group
- URL
/api/goldilocks@daplie.com/config/domains/:domId
- Method
DELETE
- Reponse: The list of domain groups.
Tunnel
Check Status
- URL
/api/goldilocks@daplie.com/tunnel
- Method
POST
- Reponse: An object whose keys are the URLs for the tunnels, and whose properties are arrays of the tunnel tokens.
This route with return only the sessions started by the same user who is checking the status.
Start Tunnel
- URL
/api/goldilocks@daplie.com/tunnel
- Method
POST
This route will use the stored token for the user matching the request header to request a tunnel token from the audience of the stored token.
Socks5 Proxy
Check Status
- URL
/api/goldilocks@daplie.com/socks5
- Method
GET
- Response: The returned object will have up to two values inside
running
: boolean value to indicate if the proxy is currently activeport
: if the proxy is running this is the port it's running on
Start Proxy
- URL
/api/goldilocks@daplie.com/socks5
- Method
POST
- Response: Same response as for the
GET
request
Stop Proxy
- URL
/api/goldilocks@daplie.com/socks5
- Method
DELETE
- Response: Same response as for the
GET
request