Commit Graph

364 Commits

Author SHA1 Message Date
Tommy Verrall f78b4a1742 Merge pull request #4242 from nymtech/feature/basic-scraper
Feature/basic scraper
2024-01-08 11:04:09 +00:00
Jędrzej Stuczyński 4ad4072709 naively resolve gateway credential spending race condition (#4229)
a non-naive solution would require queuing up pending request and batch executing them
2024-01-02 14:47:01 +01:00
Jędrzej Stuczyński c92a7e3e35 Squashed scraper
globally updated sqlx to 0.6.3

wip

basic processing loop

wip

starting on modules

all of the requesting logic, catching up, etc

remaining work includes persisting the data

wip

persisting block data

initial and extremely basic nyxd block scraper
2024-01-02 12:54:11 +00:00
Jędrzej Stuczyński 55e00a9a38 Feature/remove feegrant (#4227)
* nym-api using own funds when voting in multisig

* startup check for token balance

* dead code
2024-01-02 13:06:17 +01:00
Jon Häggblad f4dd9a915d Add some license entries to Cargo.toml files (#4250)
* Add Apache 2.0 to bunch of common crates

* Allow some basic licenses

* Add more licenses
2023-12-19 09:21:33 +01:00
Jędrzej Stuczyński bac0f24cf7 Feature/issued credentials api (#4207)
* split up coconut module a bit

* internal tool for watching dkg state and updating group contract

* debug dkg state

* display past dealer data

* improved EpochState Display impl

* display contract errors + advance epoch state

* check admin

* panic handler

* simplify app.rs

* split action enum

* added new tab with logger information

* new dealing display

* sort by index

* [fixedup] wip: updating epoch issued credentials - OG 92ade10384a6d7b6c6c222d2e29d69d3b3446a4c

* storing and signing partial blinded credentials

* starting cleanup

* fixed coconut tests + clippy

* fixed nym-api tests

* removed dkg-manager tool

it was moved to a different branch

* implemented remaining endpoints

* unit tests + bug fixes

* clippy

* added persistent identity keys to nym-api

theyre not yet announced - this will be in another PR

* cargo fmt

* clippy

* fixed loading of old configs without storage paths set

* added additional logs for blind-sign endpoint

* fixed up licenses

* lowercasing error variants

* changed 'issued_credentials' to a post

* added minimal client support

* fixed the unit test
2023-12-18 12:51:34 +01:00
Tommy Verrall 4308f602ea Merge pull request #4231 from nymtech/jon/add-ipr-to-self-described
Add IPR to nym-node http endpoint
2023-12-09 06:33:13 +00:00
Jon Häggblad 77679064de rustfmt 2023-12-08 09:00:21 +01:00
Jon Häggblad 2052577174 Add ip-packet-router info to node details printout in gateway 2023-12-08 08:57:28 +01:00
Jon Häggblad af3a216f71 formatting 2023-12-07 23:40:06 +01:00
Jon Häggblad 7866cb0ae8 Add IPR to nym-node http endpoint 2023-12-07 23:38:31 +01:00
Jon Häggblad a190506b41 Rename IpPacketRouterBuilder to IpPacketRouter 2023-12-05 20:30:20 +01:00
Bogdan-Ștefan Neacşu 03b4c87115 Feature/kernel wg gw (#4197)
* Kernel wg mode in gateway

* Cleanup boringtun code

* Fix clippy

* Fix feature flag missing

* Remove even more and get rid of boringtun

* Fix bad merge
2023-11-30 04:06:57 +01:00
benedettadavico 4e6694baf0 Update changelog and bump relevant versions 2023-11-28 10:12:52 +01:00
Tommy Verrall 17357da97e Merge pull request #4167 from nymtech/bugfix/gateway-ws-listener-before-NR
start gateway websocket listener before embedded NR
2023-11-24 17:59:06 +00:00
Mark Sinclair 3096a2307f Change mixnode, gateway, network and nym-api binary licenses to GPLv3 (#4173)
* Change mixnode, gateway, network and nym-api binary licenses to GPLv3

* Add license to cargo files

* Revert model license to match crate

* Add license to nym-node

* Revert model license to match crate

* Fix formatting

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-11-23 15:43:26 +00:00
Jędrzej Stuczyński 24746dc47b start gateway websocket listener before embedded NR 2023-11-21 14:32:23 +00:00
Bogdan-Ștefan Neacşu a5c1e4abf0 Expose the same pub key that's used for wg (#4157) 2023-11-17 13:04:22 +00:00
Bogdan-Ștefan Neacşu d38139be66 Add private ip assignment (#4089)
* Add private ip assignment

* Update wg IPs
2023-11-09 13:39:27 +02:00
Jon Häggblad 46d1ef7892 Disable poisson in ip-packet-router (#4123) 2023-11-09 12:16:33 +01:00
Jon Häggblad 6beb77e464 rustfmt 2023-11-03 09:26:32 +01:00
Jon Häggblad bb0fb71a21 Rename remaining places to ip packet router 2023-11-03 09:26:32 +01:00
Tommy Verrall e62f5833e0 Merge pull request #4093 from nymtech/master
Master into develop
2023-11-02 13:50:21 +00:00
Jędrzej Stuczyński 1370192823 print info on exit policy on embedded NR init (#4086) 2023-11-01 10:31:59 +00:00
Tommy Verrall 7e16920358 Merge pull request #4077 from nymtech/chore/unify-client-init
DRY up client cli
2023-11-01 08:26:02 +00:00
Jon Häggblad e38b8fd419 Merge pull request #4064 from nymtech/jon/embedded-ip-forwarder-in-gateway
Run nym-ip-packet-router in gateway
2023-10-31 14:48:21 +01:00
Jon Häggblad 3307e7e0fc rustfmt 2023-10-31 10:38:30 +01:00
Jon Häggblad 70d0aabbc1 Big chunk of search replace to the new name 2023-10-31 10:37:46 +01:00
benedettadavico b056a97c8b Update changelog and bump binaries 2023-10-31 10:25:19 +01:00
Jon Häggblad a088d64d57 Fix missed rename in template 2023-10-31 10:21:01 +01:00
Jon Häggblad 7c5183700e Rename to ip-packet-router directory 2023-10-31 10:14:58 +01:00
Jon Häggblad 00ca4d2afa Rename to nym-ip-packet-router 2023-10-31 10:13:10 +01:00
Jon Häggblad cf234ecf82 Update files to reflect new filename 2023-10-31 09:58:08 +01:00
Jon Häggblad b48dc0b38a Rename to old_config_v1_1_31.rs 2023-10-31 09:53:28 +01:00
Jędrzej Stuczyński f6f2cd7e17 unified native, socks5, NR client inits 2023-10-30 16:14:18 +00:00
Jon Häggblad aa02f33add No need to show setup-ip-forwarder just yet 2023-10-30 15:01:47 +01:00
Jędrzej Stuczyński da9d743f39 [mixnode] replace rocket with axum (#4071)
* axum-equivalent mixnode http api routes

* replaced all rocket routes with axum equivalents

* removed '_axum' suffix from the routes
2023-10-30 12:55:42 +00:00
Jon Häggblad 49cf33f6d7 Proper config backwards compatibility 2023-10-30 11:11:38 +01:00
Jon Häggblad 65d93b2b18 Remove hack 2023-10-30 11:11:38 +01:00
Jon Häggblad a17d36fd89 Fix test compilation 2023-10-30 11:11:38 +01:00
Jon Häggblad d33967f60c rustfmt 2023-10-30 11:11:38 +01:00
Jon Häggblad cfef1f8325 config handling 2023-10-30 11:11:38 +01:00
Jon Häggblad 8270204c7e Run embedded ip-forwarder in gateway 2023-10-30 11:11:38 +01:00
Bogdan-Ștefan Neacşu ffb4457427 Feature/wg gateway data on handshake init (#4057)
* Return wg gateway data on handshake init

* Add wg register to gateway api client

* Remove socket addr and return just wg port
2023-10-27 13:40:42 +03:00
Jędrzej Stuczyński 0801b3c6f8 Feature/exit policy (#4030)
* exit policy types

* simple client for grabbing the policy

* moved allowed_hosts to a submodule

* started integrating exit policy into a NR

* ability to construct ExitPolicyRequestFilter

* fixed policy parsing to look for comment char from the left

* conditionally setting up request filter

* [wip] setting up correct url for exit policy upstream

* clap flags for running with exit policy

* fixed NR template

* updated NR config template

* making sure to perform request filtering in separate task

* initial, placeholder, exit policy API endpoint

* serving exit policy from an embedded NR

* double slash sanitization

* socks5 query for exit policy

* adjusted address policy logging

* cargo fmt

* Updated exit policy url to point to the correct mainnet file

* removed unecessary mutability in filter tests

* fixed the code block showing example policy being interpreted as doc test
2023-10-26 11:35:14 +02: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
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
Jon Häggblad 96a925c040 wireguard: create structs for udp handler and tun device (#4007)
* Extract out parse_peer

* wip: handle_packet extract

* Extract out active_peers.rs

* wip: rework to struct from free function

* udp_listener working

* wip

* more udp_listener

* tun_device

* wip

* tun_device

* Remove some old commented out stuff

* tidy

* Remove commented out line
2023-10-17 12:01:11 +02:00
Drazen Urch e4dda5e541 Replace HashMap with DashMap (#3995) 2023-10-16 15:40:26 +02:00
Drazen Urch 1e900c32df Gateway client registry and api routes (#3955)
* Add HTTP API and Client registry to Gateway

* Update CHANGELOG

* Smooshify structure

* Reify x25519 public key

* Hmac message verification

* Add lightweight handshake with replay protection

* Tidy up, move registartion to its own file

* Test for the registration flow

* Fix nonce loop hole
2023-10-10 10:55:26 +02:00