* Squashing all the changes
initial router
started expanding the API
initial empty openapi/swagger
populated build-info endpoint
wip: populating rest of swagger
missing swagger data + using closure capture for immutable state
running the api as a proper task in gateway 'run'
fixing some version/feature clashes
refactored routes structures
initial host information endpoint
expanded on gateway-related endpoints
signing host information
moved all models to separate crate
unified http api client
routes unification + node api client
new generic cache and refresher
nym-api caching node self described information
removed old cache type
temporarily wired up NymContractCache to NodeDescriptionProvider
caching self reported host info
clients using self-described gateway information
fixed request timeouts for wasm
fixed wasm builds
post rebase fixes
cargo fmt
brought in wg routes into nym-node router
added ErrorResponse for wireguard routes
basic swagger support for wg endpoints
turns out swagger can be happy with strongly typed requests
output type support for wg routes
using concrete error type for nym node request error
fixed the registration test
landing page configurability
increased configurability
fixed build and lints of other crates
added default user-agent to http-api-client
reduced severity of gateway details lookup failure
changed default http port from 80 to 8080
nym-api using new default port for queries
added health endpoint
nym-api trying multiple ports for the client
using camelcase for node status
corrected health endpoint description
restored and revamped 'force_tls' flag to filter all gateways that support the wss protocol
fixed 'pub_key' path param in open api schema
derived Debug on 'NymNodeDescription'
ensuring valid public ips
added init and run flags to set hostname and public ips
fixed listening address being pushed to public ip
fixed the positional local flag
logging remote ip address of the request
updated helper function to query for described gateways
enabled tls in gateway client
removed hack-opts from mix fetch
additional changes after rebasing against origin/develop
* clippy
* wasm-related target locking
* more clippy, but this time in tests
* Squashing commits
added forceTls argument to 'MixFetchOptsSimple'
made forceTls flag optional in mix fetch opts
whacking those moles
* GitHub Actions: install node
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* changed NymConfigTemplate trait to call 'template' by reference
* network requester lib
* introduced generic parameter to 'MixTrafficController' to allow non-remote gateways
* allowing for custom gateway sender
* types cleanup
* minor gateway cmds refactor + initial NR work
* wip
* running a NR inside gateway
note: this NR isnt tied to the gateway yet
* rebase fixes
* propagating same shutdown handle
* wip
* starting NR with appropriate local transceiver
* fixed premature shutdown
* wiring up PacketRouter
* both ends wired together
* actually working
so much cleanup to do now
* started removing dead code
* wip
* temp: hardcode gateway
* further cleanup
* fixed build of other binaries
* setup-network-requester subcmd
* overriding NR config in gateway init/run
* wip making it wasm-compatible [again]
* refactored 'GatewaySetup'
* clippy and friends
* removed debug code
* rust 1.72 lints
* ensuring local gateway is available + some comments
* correctly putting network requester data in the same underlying details struct
* improved gateway errors
* changed 'network_requester_config' deserialization
* missing clap annotation for 'enabled' flag in 'setup-network-requester' command
* saving config file after 'setup-network-requester'
* removed dead code
* review comments
* make embedded NR wait for gateway to come online (for at most 70min)
* fixed shutdown on successful gateway wait
* updated NR config override
* WIP: initial work
* wupwup
* WIP: experiments
* Move topology provider and requests to own crate
* Make sure we use the new crate everywhere
* Sort Cargo.toml
* Extract out some functions in geo_aware_provider
* rustfmt
* Add CountryGroup type
* Assign unknown as well
* wipwip
* Add command line flag to socks5-client
* Use geo-aware mixnode selection in nym-connect when in medium mode
* rustfmt
* clippy
* Fix nym-connect build
* wasm fix
* Spelling
* Split fetching network-requesters from gateways
* Tidy names
* Select gateway independenty in frontend
* Fix threshold value
* Fix gateway type
* Fix naming for setGateway and setServiceProvider
* Unshadow variable
* Naming conventions
* Missing semicolon
* Explicit types in invoke calls
* Dedup random function
* Inline some functions
* Silence handlebars in log
* Emojis in healthcheck log statements
* Remove gateway from service provider type
* Remove unneeded type cast
* fix linting
* Remove gateway field from harbour master response type
---------
Co-authored-by: fmtabbara <fmtabbara@hotmail.co.uk>
* Don't fully turn off background task when cover traffic is disabled
* Leave no_cover function alone
* Add methods on config struct instead of explicitly setting options
* Add medium toggle to network-requester run command
* clippy
* rustfmt
* Unused
* Lock files
* Add flag to disable cover traffic
* Add flag to disable per hop delays
* Add flag to enable mixed size packets
* Add meta flag to set medium speed
* Special case zero averge hop delay to be exactly zero
* Extract out generate_hop_delays function
* wip client core
* hashing shared key in persisted details
* native client using on-disk gateway details
* ibid for socks5
* ibid for NR
* nym sdk
* non-wasm fixes
* wasm
* missed cargo fmt
* fixed nym-connect build
* changed serialization of the key hash to be more human readable
* allowing some dead code
* fixed gateway details deserializtion
* removed needless borrow in wasm client
* removed deadcode
* exhaustive match on GatewaySetup after having loaded the keys