This procedure demonstrates how to generate a [[The Skyhook Configuration File|Skyhook configuration file]] with randomized user names, passwords, and API paths.
# Assumptions
1. The operator has a Skyhook binary downloaded and accessible.
# Procedure
1. Run the following command:
```bash
skyhook server generate-config -r 20
```
2. Review the configuration file and update fields according to operator needs.
>[!TIP]- Tips
>- The above command results in randomized URIs with a minimum length of 20 to avoid fingerprinting.
>- `link_fqdns` is a list of IP addresses or FQDN values the server is accessible from.
> - The [[Admin Server|admin server's]] web interface will generate links matching the randomized URLs.
>- It's advisable to enhance any randomly generated passwords.
>- The `file_server_config.obfuscators` field can remain `[]` until the admin server is accessible to facilitate more complex configuration.
>- The `file_server_config.upload_options.registrants_file` will be created at runtime.
# Example Output
>[!WARNING]
>Don't use this configuration! It's likely to become stale as code changes occur.
```yml
tls_config:
cert_path: ""
key_path: ""
admin_server_config:
additional_cors_urls:
- '*'
interface: lo
port: 65535
file_server_config:
additional_cors_urls:
- '*'
interface: eth0
port: 443
root_directory: webroot
obfuscators: []
upload_options:
registrants_file: skyhook_upload_registrants.json
max_upload_duration: 24
routes:
api:
logout: /mode/jon/army/coin/large
download: /kenneth/lynwood/hilario
upload: /edged/noah/louie/ernest
landing_page:
algos.wasm: /cocky/slav/hue/mixed/usual.wasm
asset-manifest.json: /scant/minty/organ/baggy.json
bootstrap.min.css: /nuts/feral/fort/percy/herbert.css
chunk.js: /shed/kirk/randy/ghoul/lazy.js
chunk.js.map: /shed/kirk/randy/ghoul/lazy.js.map
favicon.ico: /pert/bash/elite/seven/hefty.ico
index.html: /ivory/bulgy/smile/homey.html
logo192.png: /terrell/wake/bulge/chug.png
logo512.png: /epic/brendon/dusty/dusty.png
main.css: /sixty/bound/awash/norbert.css
main.css.map: /sixty/bound/awash/norbert.css.map
main.js: /oval/east/pacer/old/motor.js
main.js.LICENSE.txt: /baggy/famed/luke/scaly/andrea.txt
main.js.map: /oval/east/pacer/old/motor.js.map
manifest.json: /tacky/waylon/comic/lurid.json
react-bootstrap.min.js: /rushy/much/corny/baggy/fluid.js
react-dom.production.min.js: /jackson/other/solo/left.js
react.production.min.js: /dated/tough/rainy/nolan.js
robots.txt: /mad/gawk/chalk/boozy/polar.txt
wasm_exec.js: /fumed/root/maurice/nifty.js
wasm_helpers.js: /shot/sent/bowed/darryl/size.js
wasm_vars.js: /homey/worn/rueben/motor.js
wasm_worker.js: /norbert/model/going/rob.js
encrypted_loader:
auto_html: /blond/curt/achy/gruff/wary.html
html: /lofty/dallas/young/wish.html
js: /fatal/chewy/magic/apple.js
encrypted_loader:
key: barton-gregg
uri_param: doughnewshang
root_element_id: asa-husky-dent
link_fqdns:
- your.fqdn.here
range_header_options:
name: foresttadbriskwalton
range_prefix: bytes
users:
- username: nubby-marvin
password: broke dannie beau rogelio
is_admin: true
token: DRTA3CvmM7
- username: liar-waste
password: dwayne fabian still wilton
is_admin: false
token: DICOfhpu0J
auth_config:
header:
name: Authorization
scheme: Bearer
jwt:
realm: sh
field_names:
username: id
admin: ad
config: c
signing_key: 65495f23-f275-41a3-9ad4-96f8c435ae8d
```