small-package/luci-app-fchomo/docs/Ruleset-URI-Scheme.md

70 lines
1.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Import rule-set links format
## Structure
**remote:** `http[s]://[auth@]<host><path>?fmt=<format>&behav=<behavior>[&key=value][#label]`\
**local:** `file://[host]<path>?fmt=<format>&behav=<behavior>[&fill=<base64edStr>][#label]`\
**inline:** `inline://<Base64edStr>?behav=<behavior>[#label]`
## Components
### Scheme
Can be `http` or `https` or `file` or `inline`.
### Auth
Add it only if required by the target host.
### Host
The format is `hostname[:port]`.\
`hostname` can be **Domain** or **IP Address**.\
`:port` is optional, add it only if required by the target host.
### Path
The shortest format is `/`.
### QueryParameters
+ `fmt`: Required. Available values refer to **format**.
+ `behav`: Required. Available values refer to **behavior**.
+ `sec`: Optional. Available under **remote**. Available values refer to **interval**.
+ `rawq`: Optional. Available under **remote**. Available values refer to **rawQuery**.
+ `fill`: Optional. Available under **local**. Available values refer to **filler**.
#### format
Can be `text` or `yaml` or `mrs`. Rule file format.
#### behavior
Can be `domain` or `ipcidr` or `classical`. Rule file behavior.
#### interval
The update interval for the Rule set, in seconds or /^(\d+)(s|m|h|d)?$/.
#### rawQuery
This parameter is required if the original link contains a url query.\
Encrypt the part `key1=value1&key2=value2` after `?` in the original link with `encodeURIComponent` and use it as the payload of this parameter.
#### filler
Base64edStr format file content.
### Base64edStr
Generation steps:
1. Base64 encode payload.
2. Replace all `+` with `-` and all `/` with `_` in base64 string.
3. Remove all `=` from the EOF the base64 string.
### URIFragment
Ruleset label. Empty strings are not recommended.\
Need encoded by `encodeURIComponent`.