mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-23 00:17:16 +08:00
5.5 KiB
5.5 KiB
Other
Script Syntax
I think just reading this one page is enough: Tengo Language Syntax
Library
-
text: regular expressions, string conversion, and manipulation
-
math: mathematical constants and functions
-
times: time-related functions
-
rand: random functions
-
fmt: formatting functions
-
json: JSON functions
-
enum: Enumeration functions
-
hex: hex encoding and decoding functions
-
base64: base64 encoding and decoding functions
-
brook: brook moduleConstants * os: string, linux/darwin/windows/ios/android Functions * splithostport(address string) => map/error: splits a network address of the form "host:port" to { "host": "xxx", "port": "xxx" } * country(ip string) => string/error: get country code from ip * cidrcontainsip(cidr string, ip string) => bool/error: reports whether the network includes ip * parseurl(url string) => map/error: parses a raw url into a map, keys: scheme/host/path/rawpath/rawquery * parsequery(query string) => map/error: parses a raw query into a kv map * map2query(kv map) => string/error: convert map{string:string} into a query string * bytes2ints(b bytes) => array/error: convert bytes into [int] * ints2bytes(ints array) => bytes/error: convert [int] into bytes * bytescompare(a bytes, b bytes) => int/error: returns an integer comparing two bytes lexicographically. The result will be 0 if a == b, -1 if a < b, and +1 if a > b * bytescontains(b bytes, sub bytes) => bool/error: reports whether sub is within b * byteshasprefix(s bytes, prefix bytes) => bool/error: tests whether the bytes s begins with prefix * byteshassuffix(s bytes, suffix bytes) => bool/error: tests whether the bytes s ends with suffix * bytesindex(s bytes, sep bytes) => int/error: returns the index of the first instance of sep in s, or -1 if sep is not present in s * byteslastindex(s bytes, sep bytes) => int/error: returns the index of the last instance of sep in s, or -1 if sep is not present in s * bytesreplace(s bytes, old bytes, new bytes, n int) => bytes/error: returns a copy of the s with the first n non-overlapping instances of old replaced by new. If n < 0, there is no limit on the number of replacements * pathescape(s string) => string/error: escapes the string so it can be safely placed inside a URL path segment, replacing special characters (including /) with %XX sequences as needed * pathunescape(s string) => string/error: does the inverse transformation of pathescape * queryescape(s string) => string/error: escapes the string so it can be safely placed inside a URL query * queryunescape(s string) => string/error: does the inverse transformation of queryescape * hexdecode(s string) => bytes/error: returns the bytes represented by the hexadecimal string s * hexencode(s string) => string/error: returns the hexadecimal encoding of src
Example
Each subcommand has a --example, such as:
brook server --example
Resources
| CLI | Description |
|---|---|
| nami | A clean and tidy decentralized package manager |
| joker | Joker can turn process into daemon. Zero-Configuration |
| nico | Nico can work with brook wsserver together |
| z | z - process manager |
| ipio | Proxy all traffic just one line command |
| mad | Generate root CA and derivative certificate for any domains and any IPs |
| hancock | Manage multiple remote servers and execute commands remotely |
| sshexec | A command-line tool to execute remote command through ssh |
| bash | Many one-click scripts |
| docker | docker run txthinking/brook |
| Resources | Description |
|---|---|
| Protocol | Brook Protocol |
| Blog | Some articles you should read |
| YouTube | Some videos you should watch |
| Telegram | Ask questions here |
| Announce | All news you should care |
| GitHub | Other useful repos |
| Socks5 Configurator | If you prefer CLI brook client |
| IPvBar | See domain, IP and country in browser |
| TxThinking SSH | A SSH Terminal |
| brook-store | A Brook User System |
| TxThinking | Everything |