Probably the simplest way to expose apps running on WSL to local network devices.
No installation required. Simply run the following command in your WSL terminal before starting your applications:
WSL provides a great environment for web developers working on Windows.
However, it's not always easy to access the applications running in WSL from the local network.
Whether you're working on a web app, a React-Native application, REST API, or have a database residing in a Docker container, you'll need to access it from a real mobile phone or simply from a different device.
While there are ways to achieve this, they are not always easy to implement.
Some of them require tackling with an NIC Bridge mode or manually downloading and applying a WSLHostPatcher.
Which are things you probably don't want to deal with when you're just trying to get your work done.
Here's where Expose-WSL comes into play.
This tool uses the excellent WSLHostPatcher built by CzBiX.
It automates the process of downloading the WSLHostPatcher release, decompressing the binary, running it to patch your WSL, and running a PowerShell script to display the IP address of your machine.
Expose-WSL should work on any Windows machine running WSL with Node.js
Please understand that this tool is not a replacement for a proper network configuration.
It patches your WSL machine to expose it to the local network, which is not advisable for production environments.
I canot imagine a healthy reason to use and expose WSL in production, but if you do, please make sure you know what you're doing.
Feel free to open an issue if you have any suggestions or found a bug.
Coming up with a PR would be a lot better, though.
Writing and maintaining open-source software is a lot of work and requires time and energy, so I'd appreciate it if you could help with solutions instead of just pointing out problems.
If you find this tool useful, please consider sponsoring my work on GitHub Sponsors.
I'm the author and maintainer of several open-source projects, and your support will help me keep them up-to-date and bug-free. I might also be available for hire. If you need help with your project, feel free to contact me at the email address listed on my GitHub profile.
The ISC License.