GNB(8)

πŸ’– GNB(8) β€” the girlies' guide to gnb πŸ’–

okay so bestie, welcome to the gnb manual page, section 8 of the System Manager's Manual, and honestly? this one's a whole vibe. gnb is the command that sets up the VPN used by opengnb. that's it, that's the job. let's get into it ✨


🌸 NAME 🌸

gnb β€” the gnb command that sets up the VPN used by opengnb. no cap, that's literally what it does πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

gnb [-i IFNAME] -c CONFIG_PATH [OPTION]

so like, -c CONFIG_PATH is the main character here β€” she's required, she's not optional, she's the whole point. everything else is supporting cast 🫢


✨ DESCRIPTION ✨

okay so first thing, the lore:

GNB version 1.2.8.1, protocol version 1.1.2. iconic. we love a version number that knows what it is πŸ‘‘

registered packet filter:

  • gnb_pf_dump
  • gnb_pf_route
  • gnb_pf_crypto_xor
  • gnb_pf_crypto_arc4

those are the filters, they're registered, they said "we're here" and they showed up πŸ’œ


🌈 Command Summary: 🌈

not me listing every single one of these. i would never skip a single flag, because you deserve the full picture, bestie. here we go:

  • -c, --conf β€” config path. the path to your config. she's essential, don't skip her.
  • -n, --nodeid β€” nodeid. your node's id, so she knows who she is πŸ¦‹
  • -P, --public-index-service β€” run as public index service. main character mode: public.
  • -I, --index-address β€” index address. where the index lives.
  • -a, --node-address β€” node ip address. the ip of the node.
  • -r, --node-route β€” node route. the route, for the node.
  • -i, --ifname β€” TUN Device Name. it's gnb_tun in Linux default, fyi.
  • -4, --ipv4-only β€” Use IPv4 Only. four only, no six, respectfully.
  • -6, --ipv6-only β€” Use IPv6 Only. six only, no four, also respectfully.
  • -d, --daemon β€” daemon. she goes to the background. mysterious. elusive. 🧚
  • -q, --quiet β€” disabled console output. shhh 🀫
  • -t, --selftest β€” self test. she checks herself before she wrecks herself.
  • -p, --passcode β€” a hexadecimal string of 32-bit unsigned integer, used to strengthen safety. default is 0x9d078107. keep this secret bestie, i'm serious πŸ’€
  • -l, --listen β€” listen address. default is '0.0.0.0:9001'.
  • -b, --ctl-block β€” ctl block mapper file.
  • -e, --es-argv β€” pass-through gnb_es argv. you're just handing stuff off to the other girlie.
  • -V, --verbose β€” verbose mode. she talks a LOT. love that for her.
  • --node-woker-queue β€” node woker queue length. (yes, it's spelled woker in the original, we don't correct the queen, we copy her exactly 🫢)
  • --index-woker-queue β€” index woker queue length.
  • --index-service-woker-queue β€” index service woker queue length.
  • --port-detect-start β€” port detect start.
  • --port-detect-end β€” port detect end.
  • --port-detect-range β€” port detect range.
  • --mtu β€” TUN Device MTU. ipv4: 532~1500, ipv6: 1280~1500. pick a number in range, she's not flexible about it.
  • --crypto β€” ip frame crypto. 'xor' or 'arc4' or 'none', default is 'xor'.
  • --crypto-key-update-interval β€” crypto key update interval. 'hour' or 'minute' or none, default is 'none'.
  • --multi-index-type β€” 'simple-fault-tolerant' or 'simple-load-balance' or 'full', default is 'simple-load-balance'.
  • --multi-forward-type β€” 'simple-fault-tolerant' or 'simple-load-balance', default is 'simple-fault-tolerant'.
  • --socket-if-name β€” example: 'eth0', 'eno1', only for unix-like os. windows girlies, this one's not for you πŸ™ˆ
  • --address-secure β€” hide part of ip address in logs. 'on' or 'off', default is 'on'.
  • --if-dump β€” dump the interface data frame. 'on' or 'off', default is 'off'.
  • --pf-route β€” packet filter route.
  • --multi-socket β€” 'on' or 'off', default is 'off'.
  • --direct-forwarding β€” 'on' or 'off', default is 'on'.
  • --set-tun β€” 'on' or 'off', default is 'on'.
  • --index-worker β€” 'on' or 'off', default is 'on'.
  • --index-service-worker β€” 'on' or 'off', default is 'on'.
  • --node-detect-worker β€” 'on' or 'off', default is 'on'.
  • --set-fwdu0 β€” 'on' or 'off', default is 'on'.
  • --pid-file β€” pid file.
  • --node-cache-file β€” node address cache file.
  • --log-file-path β€” log file path.
  • --log-udp4 β€” send log to the address ipv4. default is '127.0.0.1:9000'.
  • --log-udp-type β€” log udp type. 'binary' or 'text', default is 'binary'.
  • --console-log-level β€” log console level, 0-3.
  • --file-log-level β€” log file level, 0-3.
  • --udp-log-level β€” log udp level, 0-3.
  • --core-log-level β€” core log level, 0-3.
  • --pf-log-level β€” packet filter log level, 0-3.
  • --main-log-level β€” main log level, 0-3.
  • --node-log-level β€” node log level, 0-3.
  • --index-log-level β€” index log level, 0-3.
  • --index-service-log-level β€” index service log level, 0-3.
  • --node-detect-log-level β€” node detect log level, 0-3.
  • --help β€” the classic. she helps. πŸ’–

πŸ¦‹ Example: πŸ¦‹

the way these examples are just sitting here being useful. periodt:

./gnb -i gnbtun -c $node_conf_dir -e "--upnp"

./gnb -P

./gnb -P --console-log-level=3 --index-service-log-level=3

./gnb -n 1001 -I '$public_index_ip/$port' -p $passcode

./gnb -n 1002 -I '$public_index_ip/$port' -p $passcode

./gnb -n 1001 -a 'i/0/$public_index_ip/$port' -p $passcode

./gnb -n 1002 -a 'i/0/$public_index_ip/$port' -p $passcode

see how $node_conf_dir, $public_index_ip, $port and $passcode are placeholders? swap in your own, bestie, don't run these raw 😭


πŸ‘‘ SEE ALSO πŸ‘‘

go read her sisters, they're all iconic:


🌟 HOMEPAGE 🌟

Source Code and Documentation at https://github.com/gnbdev/opengnb

(no link formatting, i know, the terminal said no. but you can copy-paste it, i believe in you 🫢)


Copyright Β© 2019-2022 gnbdev <gnbdev@qq.com>


and that's the whole page, bestie!! this was VERSION 1.2.8.1, dated December 2021, and it's giving GNB(8) energy from start to finish. go set up that VPN, you absolute legend πŸ’…βœ¨