summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon
AgeCommit message (Collapse)AuthorFilesLines
2023-10-09Allowing traffic to and from a SOCKS5-proxy running on localhost.Markus Pettersson1-29/+57
The daemon has to add a rule to allow traffix to/from the remote server which the locally running SOCKS5-proxy communicates with.
2023-10-09Update used access methods on a daemon settings changeMarkus Pettersson1-0/+11
2023-10-09Code cleanupMarkus Pettersson3-53/+72
- Add a new datastructures for distinguishing between built-in & custom api access methods - Implement `TryFrom` instead of `From` for fallible conversions - Do not panic if a protobuf-message is ill-formatted - Do not allow removal of built-in api access methods - Refactor notification logic in `access_methods.rs` - Rename `mullvad proxy api` to simply `mullvad proxy` - Since there are no other kinds of proxies at the moment, the subcommand `proxy api` does not make much sense. - Remove left-over comments
2023-10-09Add `mullvad proxy api edit` commandMarkus Pettersson2-2/+41
Allow a user to edit an existing custom api proxy method
2023-10-09Add `mullvad proxy api remove` commandMarkus Pettersson2-0/+35
Allow the user to manually remove a custom api proxy.
2023-10-09Add `mullvad proxy add` commandMarkus Pettersson2-0/+61
Add daemon logic for storing custom access methods & allow a user to add a custom socks5 or shadowsocks proxy. Add all the necessary information for establishing Socks5 connections (both using a local Socks-proxy as well as the normal, remote-proxy, use case) and Shadowsocks connections. Add `api_access_settings` to `mullvad-daemon` Naturally, the Protobuf types has to be mirrored on the Rust/daemon side and lots of boilerplate code had to be written to convert between the two.
2023-10-05Log if Same IP is being used or notLinus Färnstrand1-5/+29
2023-09-27Refactor custom list implementationDavid Lönnhager4-486/+229
2023-09-20Add social media blocklists to daemon+CLILinus Färnstrand2-0/+7
When infra has deployed these block lists to the relays, this setting will allow blocking social media domains directly with the app
2023-09-19Simplify immediate retry strategyDavid Lönnhager2-40/+27
2023-09-19Define retry strategy constantsDavid Lönnhager1-29/+12
2023-09-11Remove TODO about adding features we don't needDavid Lönnhager1-2/+0
2023-09-11Remove parking_lot from mullvad_daemon manifestDavid Lönnhager1-1/+0
2023-09-11Use mutex instead of rwlock in management interfaceDavid Lönnhager1-8/+6
2023-09-11Move log depedency to workspace toml fileDavid Lönnhager1-1/+1
2023-09-11Make err-derive a workspace dependencyDavid Lönnhager1-1/+1
2023-09-05Remove forwarded port from devices in Rust codeLinus Färnstrand1-6/+1
2023-08-31Remove wireguard-nt switchDavid Lönnhager2-56/+0
2023-08-30Fix clippy lintsEmīls9-54/+44
2023-08-21Remove `wg_migration_rand_num` field from settingsMarkus Pettersson2-11/+0
2023-08-08impl of Encode for NSOperatingSystemVersionLinus Färnstrand1-3/+12
2023-08-08Enable verify_message feature of objcLinus Färnstrand1-1/+1
2023-08-08Enable the exception catching features of objcLinus Färnstrand1-1/+1
2023-08-08Bump min objc version to 0.2.7Linus Färnstrand1-1/+1
2023-08-08Fix void return type for Objective-C callsLinus Färnstrand1-3/+3
2023-08-08Use std::ffi for int/short/char FFI typesLinus Färnstrand1-2/+2
2023-08-08Always use std::ffi::c_char for a c_char typeLinus Färnstrand1-2/+2
2023-08-08Migrate from libc::c_void to std::ffi::c_voidLinus Färnstrand4-8/+7
2023-08-07Make clap a workspace dependency and activate features used by allLinus Färnstrand1-1/+1
Both mullvad-setup and mullvad-problem-report had not specified the "derive" feature. Moving it to workspace dependency is probably nicer.
2023-08-07Get rid of "extern crate serde" and import derive macros explicitlyLinus Färnstrand7-6/+8
2023-08-04Replace all use of `lazy_static` with `once_cell`Markus Pettersson7-42/+40
To align more with the upcoming standardizations within the Rust ecosystem which started with the release of `1.70.0` and the inevitable deprecation of `lazy_static`.
2023-08-02Remove unused dependencies from mullvad-daemonLinus Färnstrand1-4/+0
2023-08-02Make chrono a workspace dependency and fix featuresLinus Färnstrand1-1/+1
2023-08-01Move windows-sys to a workspace dependencyLinus Färnstrand1-2/+2
2023-08-01Replace unmaintained dirs-next with maintained dirsLinus Färnstrand2-2/+2
Gets rid of one usage of winapi in our dependency tree
2023-08-01Disable chrono features to get rid of time dependencyLinus Färnstrand1-1/+1
2023-07-14Move tokio dependency to be a workspace dependencyLinus Färnstrand1-1/+1
2023-07-14Remove `x_threshold_wg_default` codeMarkus Pettersson3-56/+16
Since we migrated to using Wireguard as the definitive default VPN, we can stop reading the `x_threshold_wg_default` field from the API and remove all daemon code related to using it
2023-07-14Set package fields in workspace and inherit in packagesLinus Färnstrand1-5/+6
2023-06-29Add settings migration code, refactor and cleanupJonathan2-11/+296
Bump the settings version. Add code for migrating settings to new version since it is now not backwards compatible. Refactor LocationConstraint and related types to be more lean. Cleanup issues and fix formatting. Refactor LocationConstraint and add migration code
2023-06-29Cleanup review comments, CI issues and android supportJonathan4-43/+93
Add necessary android support to allow it to not crash due to interface changes. Format the code, remove redundant async functions, fix android issues related to not having to use a Vec to store the custom lists and a string as an id. Fix unit tests.
2023-06-29Improve error handling for custom listsJonathan2-2/+37
Create different errors for missing/already existing list and missing/already existing location within list. Use the details field in gRPC to signal these different cases Make errors prettier when output in the CLI.
2023-06-29Add basic features for custom list and file persistenceJonathan3-1/+456
Create the basic features outside of rename for custom lists and route these to the daemon. Persist custom lists in settings. Has basic custom list features done, adds errors. Adds reconnect in the case where a selected custom list is modified.
2023-06-27Upgrade `chrono` to `0.4.26`Markus Pettersson1-1/+1
Fix time zone being ignored on Android, incorrectly outputting UTC timestamps. This more recent version of `chrono` extracts timezone info from a tzdata file on Android. This issue is recognized in `chrono`'s issue tracker: https://github.com/chronotope/chrono/issues/922
2023-06-12Resume background requests after loginDavid Lönnhager1-4/+12
2023-05-26Allow dev builds to override location checking endpointMarkus Pettersson1-9/+36
If `mullvad-daemon` was built with the `api-override` feature flag, the new environment variable `MULLVAD_CONNCHECK_HOST` may be used to supply a different hostname for the location checking endpoint than the standard `am.i.mullvad.net`. It is equivalent to replacing `curl https://ipv4.am.i.mullvad.net/json` with `curl https://ipv4.{$MULLVAD_LOCATION_HOST}/json` Note that this change applies to both IPv4 and IPv6 endpoints. Log warning if `MULLVAD_CONNCHECK_HOST` is used in release builds. The variable will have no effect if `mullvad-daemon` was built in release mode, but it is good to let the user know this if he/she thinks otherwise.
2023-05-26Add derive feature for clap in daemonEmīls1-1/+1
2023-05-25Add api-override cargo feature to mullvad-daemonLinus Färnstrand1-0/+4
2023-05-24Fix warnings pointed out by ClippyLinus Färnstrand1-1/+4
2023-05-03Update CLI for mullvad-daemonDavid Lönnhager2-96/+70