nice-toddler-37804
02/20/2023, 1:31 PMrancher-desktop-wsl-vm
and rancher-desktop
code are available here:
• rancher-desktop
• rancher-desktop-wsl-distro
My solution is based on a software named moproxy
, a software installed on WSL that handles the connections and transmissions of packets to an http proxy. The traffic from the network interface is redirected to moproxy
using iptables
, so any type of filtering on ports/address is supported.
I also made changes to the rancher-desktop graphical interface to make the proxy configurable from the rancher-desktop settings page or during the first run. Changes on the proxy configuration take effect immediately without needing a backend restart like the other change in settings.
I saw that recently there has been some activity on the Github issues to port the network stack to work with gvisor-tap-vsock
. I didn't saw any communication on that subject on the slack channel and didn't had the chance to manifest my interest in participating.
This issue is related to the problem I was working on and make the work I started useless as it also aims to bring proxy support. I would be happy to contribute to the effort and work on this issue if you let me know where to start. Thank you !fast-garage-66093
02/20/2023, 8:14 PMgvisor
and the logic from wsl-vpnkit
. I've seen a demo of the proof-of-concept about a week ago, and it looks extremely promising. So much so actually that we'll make this code available as an experimental feature in the next release. You can see the full epic for it at Epic: Incorporate gvisor into Rancher Desktop's networking stack · Issue #3810 · rancher-sandbox/rancher-desktop (we plan to move to a similar networking stack for all platforms, but the initial code is for WSL only).
I think this should solve the existing issues around VPN support on Windows, but I think it will need additional work to support proxies. I'm sure Nino will reach out to you to figure out how you can work together on this. It will likely have to wait for the following release though, as we are already pushing out our original intended release date for 1.8 to wrap up the planned features and the new experimental gvisor work.nice-toddler-37804
02/21/2023, 11:13 AMwide-mechanic-33041
02/21/2023, 12:36 PMcalm-sugar-3169
02/21/2023, 4:59 PMgvisor
based networking approach I should have a working experimental version shortly (in 1.8 release) which will allow you to run your changes on top of the new networking stack. The new changes will isolate the Rancher Desktop network namespace from the rest of the WSL VM with one major goal of migrating the existing rancher desktop services and processes to the new network namespace with minimum possible effort. So, I think your changes should just work right out of the box if it’s currently being started correctly by the init
process.wide-mechanic-33041
02/21/2023, 5:08 PMnice-toddler-37804
02/21/2023, 5:34 PMFirstRun
window does not fit really well. I also need to support no_proxy
but right now I don't get any error from k3s like I previously did when using rancher-desktop with the proxy sets in WSLENV
(905). I think that's the one @wide-mechanic-33041 used to have ?
Perfect I will wait for the 1.8 release to test the if both changes get along nicely. Maybe I'm missing something but if the traffic of the WSL VM is sent to the host daemon used as a gateway, shouldn't the system proxy settings just be applied to that host daemon? Which makes my change not required anymore.fast-garage-66093
02/21/2023, 5:38 PMwide-mechanic-33041
02/21/2023, 5:44 PMnice-toddler-37804
02/21/2023, 6:19 PMfast-garage-66093
02/21/2023, 7:38 PMnice-toddler-37804
02/22/2023, 12:30 PMfast-garage-66093
02/22/2023, 4:09 PMquick-keyboard-83126
02/23/2023, 11:37 PMnice-toddler-37804
02/24/2023, 1:37 PMFirstRun
window modal on the github issue.
The issue with the double scroll bar is coming from the Help
button on the bottom right of the ModalBody
. What do you think about those changes. I can make a PR to propose those changes.
diff --git a/pkg/rancher-desktop/components/Preferences/ModalBody.vue b/pkg/rancher-desktop/components/Preferences/ModalBody.vue
index 42082b33..93b48094 100644
--- a/pkg/rancher-desktop/components/Preferences/ModalBody.vue
+++ b/pkg/rancher-desktop/components/Preferences/ModalBody.vue
@@ -58,11 +58,14 @@ export default Vue.extend({
<style lang="scss" scoped>
.preferences-body {
+ position: relative;
display: flex;
flex-direction: column;
.help {
- margin: auto 0.75rem 0.75rem auto;
+ position: absolute;
+ bottom: 1rem;
+ right: 1rem;
}
}
</style>
quick-keyboard-83126
02/24/2023, 1:39 PM