Commit Graph

95 Commits

Author SHA1 Message Date
Jon Häggblad 0282251016 Add TaskStatus::ReadyWithGateway (#4449)
* Add TaskStatus::ReadyWithGateway

* Explicitly set starting status
2024-03-11 15:01:02 +01:00
Jędrzej Stuczyński f328f3fa9e Feature/gateway api (#3970)
* 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
2023-10-19 12:36:53 +02:00
Tommy Verrall 21a2b5f320 Merge pull request #3992 from nymtech/feature/configurable-socks5-bind-address
Feature/configurable socks5 bind address
2023-10-18 16:49:33 +01:00
Drazen Urch bbfb1f4346 Integrate gateway registry with nym-wireguard (#4010)
* NC-54 Integrate gateway registry with nym-wireguard

* Feature flag wireguard types

* Restore etherparse

* Fix start command

* clippy

* fmt

* Fix clippy lint
2023-10-18 16:10:36 +02:00
Jędrzej Stuczyński d14337b9db updated config templates 2023-10-17 12:52:52 +01:00
Jędrzej Stuczyński 855ae2fe78 nym-connect config upgrades 2023-10-17 11:50:08 +01:00
Jędrzej Stuczyński 078365c467 nym connect fix 2023-10-13 11:07:30 +01:00
Jędrzej Stuczyński d3325c176f added forceTls argument to 'MixFetchOptsSimple' (#3907)
* 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>
2023-09-21 16:13:31 +01:00
Jędrzej Stuczyński 114d92f93f Feature/gateway inbuilt nr (#3877)
* 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
2023-09-20 15:47:05 +01:00
Jędrzej Stuczyński 63b0658c65 [feat] Socks5 and Native client: run with hardcoded topology (#3866)
* allow running clients using hardcoded topology

* fixed sdk/lib/socks5-listener build

* fixed nym-connect build

* allow for both snake_case and camelCase deserialization
2023-09-14 14:26:11 +02:00
benedettadavico 5bd4295164 bump versions and update changelog 2023-09-12 10:20:34 +02:00
Tommy Verrall c4667a6792 Merge pull request #3846 from nymtech/jon/handle-unable-upgrade-config
clients: handle config upgrade failure
2023-09-08 11:11:43 +02:00
Jędrzej Stuczyński 4890c528bc feat: mixFetch - the final countdown (#3737)
* mixFetch

* clippy

* removed redundant Arc over 'WasmStorage' in the 'ClientStorage'

---------

Co-authored-by: Fouad <fmtabbara@hotmail.co.uk>
2023-09-07 12:45:03 +01:00
Jon Häggblad e336b9948e Collapse conditional 2023-09-06 10:44:04 +02:00
Jon Häggblad 1cf2b10e31 clients: handle config upgrade failure 2023-09-06 10:09:25 +02:00
Bogdan-Ștefan Neacșu b3cd42de58 Fix updater.json URL 2023-09-05 18:46:57 +03:00
Tommy Verrall 22c59be82c Release/v1.1.30 twix (#3836)
* changed last vers. checkout to master

* corrected path of config

* make binaries executable

* docs: typescript.md - changing variables

* docs: rust.md - changing variables

* docs: vesting-contract.md - changing variables

* docs: mixnet-contract.md - changing variables

* docs: all variables changed

* operators: all variables finished

* dev-portal: mixnet-integration.md - variable changed

* dev-portal: faq.md - variable changed

* dev-portal: moredo.md up to date w NC default

* dev-portal: telegram.md - added banner & minor fix

* dev-portal: matrix.md - added banner

* PR finished - ready for review and merge

* removed all instances of platform_release_version var

* removed all instances of platform_release_version var

* changed version bumper script: removed platform_release_version references

* changed comment

* updating changelog and bumping versions

---------

Co-authored-by: serinko <97586125+serinko@users.noreply.github.com>
Co-authored-by: mfahampshire <maxhampshire@pm.me>
Co-authored-by: mx <33262279+mfahampshire@users.noreply.github.com>
Co-authored-by: benedettadavico <benedetta.davico@gmail.com>
2023-09-05 11:58:21 +02:00
Jon Häggblad c7d99bb951 Update error enum name 2023-09-01 15:58:51 +02:00
Jon Häggblad 2f874a66de Split directory mod into gateways and services 2023-09-01 13:14:05 +02:00
Jon Häggblad defbcea227 Fallback on last hour performance for gateways 2023-09-01 13:14:05 +02:00
Jon Häggblad 58f79a972c More extensive error handling in NC directory 2023-09-01 13:14:05 +02:00
Jon Häggblad 987401c320 Add one more gateway check when fetching in nym-connect 2023-08-31 15:35:39 +02:00
Tommy Verrall 9f5a0a7ca6 Merge pull request #3818 from nymtech/jon/nc-latency-based-gateway-selection
nym-connect: select gateway based on latency in medium mode
2023-08-29 16:33:07 +02:00
benedettadavico b57df35f8c update changelog and bump versions 2023-08-29 10:37:22 +02:00
Jon Häggblad 7f0a02f6ec Also filter on performance 2023-08-29 08:25:59 +02:00
Jon Häggblad cfc86ba9f5 nym-connect: select gateway based on latency in medium mode 2023-08-29 08:25:59 +02:00
Jon Häggblad d530e492ec Fix compilation 2023-08-25 16:13:41 +02:00
Jon Häggblad 66f04d17b7 Select country group by the exit gateway 2023-08-25 15:52:43 +02:00
Tommy Verrall 3c3ec9c831 Merge pull request #3812 from nymtech/jon/nym-connect-filter-gateway-version
nym-connect: filter gateways on compatible version
2023-08-25 11:58:35 +02:00
Jon Häggblad ec75a06c9d nym-connect: filter gateways on compatible version 2023-08-25 11:27:47 +02:00
Jon Häggblad 5128aef193 Upgrade ts-rs to 7.0.0 2023-08-24 17:55:19 +02:00
benedettadavico 22246d0d5d bumping versions and updating changelog 2023-08-22 09:54:51 +02:00
Tommy Verrall 33e7ce53fb Merge pull request #3723 from nymtech/feature/nc-desktop-userdata
refactor(nc-desktop): use userdata storage to save user gateway&sp
2023-08-21 09:34:46 +02:00
Jędrzej Stuczyński d13c8bde57 Feature/wasm tendermint rpc client (#3744)
* wasm-compatible reqwest-based rpc client

* better constructors for the reqwest based client

* fixed usages of the client

* introduced /network/details endpoint to nym-api to return used network information (#3758)

* introduced /network/details endpoint to nym-api to return used network information

* introduced endpoints for nym contract information
2023-08-17 10:56:10 +01:00
pierre 2b283090fa update log 2023-08-17 11:50:00 +02:00
pierre c097567f78 wip 2023-08-17 11:50:00 +02:00
pierre 93ec0f1984 add clear method to app data 2023-08-17 11:50:00 +02:00
pierre 3317804a80 feat(nc-desktop): use userdata storage to save user gateway&sp 2023-08-17 11:50:00 +02:00
Tommy Verrall 59a7034121 Merge pull request #3767 from nymtech/feature/init-retain-socket
feat: retain connection between client `init` and `run`
2023-08-17 07:51:37 +02:00
Tommy Verrall 1538eb0f6f Merge pull request #3777 from nymtech/release/v1.1.27
Release/v1.1.27
2023-08-16 15:55:52 +02:00
Tommy Verrall cc3cfbfdc1 updating the change logs and relevant versions 2023-08-16 10:31:42 +02:00
Jędrzej Stuczyński 55f3fc278f new GatewaySetup variant to reuse the connection 2023-08-15 14:43:52 +01:00
Jędrzej Stuczyński 950919b36c fixed usages of init 2023-08-14 15:33:05 +01:00
Bogdan-Ștefan Neacșu 461a7a2df9 Merge remote-tracking branch 'origin/develop' into feature/nc_use_env 2023-08-14 14:38:03 +03:00
Jędrzej Stuczyński f12f6b29cd Chore/rustsec (#3764)
* RUSTSEC-2023-0044

* RUSTSEC-2023-0034
2023-08-14 12:17:54 +01:00
Bogdan-Ștefan Neacșu 691ac6d5ea NC to use network dependent endpoints 2023-08-14 13:39:46 +03:00
Bogdan-Ștefan Neacșu c6519ffdff Add NC .env configuration 2023-08-14 13:39:43 +03:00
benedettadavico 8fda246a3c Update changelog and versions for release v1.1.26 2023-08-08 15:16:22 +02:00
Jon Häggblad e00910bcb8 Add geo-aware mixnet topology provider (#3713)
* 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
2023-08-08 15:14:13 +02:00
Tommy Verrall 8a1ed12f58 bump versions for NC 2023-07-26 17:37:25 +02:00