summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/lib.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-11-03Add `mullvad debug rollout` commandMarkus Pettersson1-0/+69
Define `get`, `reroll` and `seed` for quickly inspecting and debugging new app releases.
2025-10-23Use rollout threshold to determine if client should be updatedMarkus Pettersson1-0/+24
2025-10-14Show recent in all cases when recents enabledKalle Lindström1-0/+16
2025-09-30Rename block_when_disconnected to lockdown_mode in mullvad cratesTobias Järvelöv1-28/+21
2025-09-30Preserve returned error by update access method functionTobias Järvelöv1-4/+1
2025-09-30Preserve returned error by add access method functionTobias Järvelöv1-4/+1
2025-09-08Fix lint `clippy::collapsible_if`Markus Pettersson1-16/+14
2025-08-14Set the default location set flag at loginKalle Lindström1-0/+13
If the user has managed to log in we unconditionally set update_default_location = false. This is done to prevent an edge case where the geolocation request completes after the user has logged in and then the default location could change while the user is in the process of clicking the select location/connect buttons.
2025-08-14Set relay to current country on first startKalle Lindström1-1/+66
Sets the default relay selection to the current country (as determined by am.i.mullvad.net). If the current country does not have any relays the country with the closest relay is choosen instead. In non-release builds of the Android app we do not bundle a relay list in the APK, and the relay list is fetched when the user logs in. So one of the following can happen: 1. Geolocation request returns, we have a relay list. 2. Geolocation request returns, we do not yet have a relay list. 3. Relay list request returns, we have a geolocation. 4. Relay list request returns, we do not have a geolocation. In 1. and 3. we can update the default location. In 2. we have to wait until the relay list is fetched from the api until we can update the default location. 4. is unlikely to happen but could happen if am.i.mullvad is down.
2025-07-15Run `cargo fmt`Markus Pettersson1-6/+6
2025-07-15Run `crago +nightly clippy --fix`Markus Pettersson1-30/+29
2025-07-10Implement recents support in daemonKalle Lindström1-3/+35
2025-07-10Run `cargo fmt`Sebastian Holmin1-8/+8
2025-07-09Add empty body to Disconnected state to fix unneeded_struct_patternLinus Färnstrand1-1/+1
2025-07-04Persist blocking firewall rules across a reboot conditionallyMarkus Pettersson1-5/+25
2025-07-04Add rpc call to get in-app upgrade cache dirOskar1-0/+24
2025-06-24Enable support for creating a custom list with locationsJonatan Rhodin1-3/+12
2025-06-19Add start-service command to mullvad-setup on WindowsDavid Lönnhager1-0/+6
2025-06-19Add RPC for checking if split tunneling is available on LinuxDavid Lönnhager1-0/+11
2025-06-19Make daemon start without split tunnelingDavid Lönnhager1-1/+1
2025-06-09Add `AllowedIps` setting to CLISebastian Holmin1-1/+40
2025-05-28Various fixes for in-app upgradesDavid Lönnhager1-8/+10
2025-05-28Add tests for in app upgrade tests in daemon (#8015)Sebastian Holmin1-5/+26
Also add check for metadata version
2025-05-28Add in app upgrades to the daemonSebastian Holmin1-13/+16
--------- Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-05-28Implement new version check and app downloaderDavid Lönnhager1-18/+48
This also fixes 'latest_beta' being required in the API Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-05-06Run `cargo fix --edition`Markus Pettersson1-7/+4
2025-04-23Detect and run cleanup when Mullvad app is removedDavid Lönnhager1-0/+10
Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net>
2025-04-04Implement new debug commands: `relay disable` and `relay enable`Markus Pettersson1-0/+62
Add two new `mullvad debug` subcommands: - mullvad debug relay enable <country|city|hostname|openvpn|wireguard> - mullvad debug relay disable <country|city|hostname|openvpn|wireguard> These commands are used to update the state of relays the current relay list. This is useful to mock relays going offline or coming online from an offline state. These new debug commands were conceived during the development of the feature for adding warnings for the upcoming OpenVPN deprecation, as there wasn't a convenient way of mocking this.
2025-03-18Replace to_owned with clone where that's implicitly what was going onLinus Färnstrand1-1/+1
2025-03-17Rename references to bridge_dns_proxy_providerBug Magnet1-2/+2
2025-03-17Fix building for Android, rename api to access_mode in mullvad-apiBug Magnet1-20/+43
2025-03-17Move the api client from the daemon to mullvad-apiBug Magnet1-17/+51
2025-03-05Remove automatic tunnel typeDavid Lönnhager1-12/+2
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-02-12Format workspaceSebastian Holmin1-7/+7
The 2024 edition contains new formatting rules. All of these are not compatible with the 2021 formatting style, but most of them are. To change the formatting to be as close to the new style as possible while remaining compatible with the 2021 edition, I first ran `cargo +beta fmt` with the edition set to 2024, then, with the edition set to 2021, I ran `cargo fmt`.
2025-02-12Fix `clippy::precedence`Sebastian Holmin1-48/+52
2025-02-12Run `cargo +beta fix --edition`Sebastian Holmin1-15/+15
2025-02-06Request (poll) initial NetworkState at startupMarkus Pettersson1-0/+2
2025-01-24Complete leak checker and implement in daemonJoakim Hulthe1-1/+39
2025-01-24Add PoC leak checker library and CLIJoakim Hulthe1-0/+1
2025-01-22Avoid cloning settingsMarkus Pettersson1-5/+5
2025-01-22Fix ending up in blocked state when disabling split tunnelMarkus Pettersson1-5/+30
2025-01-02Change how daemon is startedEmīls1-28/+32
2025-01-02Remove global API endpointEmīls1-0/+7
2024-12-02Remove DNS fallback except for conncheckDavid Lönnhager1-8/+7
2024-11-27Fix formattingDavid Göransson1-1/+1
2024-11-27Clarify commentsDavid Göransson1-2/+2
2024-11-27Update commentDavid Göransson1-4/+2
2024-11-27Handle legacy always-on vpn profilesDavid Göransson1-0/+17
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>
2024-11-22Simplify ConnectivityListenerDavid Lönnhager1-1/+0
2024-11-22Add non-blocking DNS resolver for Android API requestsDavid Lönnhager1-0/+23