# Conflicts: # API.md # bin/goldilocks.js # etc/goldilocks/goldilocks.example.yml # lib/admin/apis.js # lib/app.js # lib/worker.js
4.5 KiB
4.5 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.
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
GETrequest
Stop Proxy
- URL
/api/goldilocks@daplie.com/socks5 - Method
DELETE - Response: Same response as for the
GETrequest