goldilocks.js/API.md

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 active
    • port: 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