Skip to content

Commit

Permalink
add wsl.exe --cd arg (#157)
Browse files Browse the repository at this point in the history
  • Loading branch information
sakai135 authored Nov 15, 2022
1 parent dc94c08 commit 992dded
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 23 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@ Download the prebuilt file `wsl-vpnkit.tar.gz` from the [latest release](https:/
```pwsh
# PowerShell
wsl --import wsl-vpnkit $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz --version 2
wsl --import wsl-vpnkit --version 2 $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz
wsl -d wsl-vpnkit
```

Start `wsl-vpnkit` from your other WSL 2 distros. Add the command to your `.profile` or `.bashrc` to start `wsl-vpnkit` when you open your WSL terminal.

```sh
wsl.exe -d wsl-vpnkit service wsl-vpnkit start
wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit start
```

You can also check service status to start service only if needed.

```sh
wsl.exe -d wsl-vpnkit service wsl-vpnkit status >/dev/null || \
wsl.exe -d wsl-vpnkit service wsl-vpnkit start
wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit status >/dev/null || \
wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit start
```

### Notes
Expand All @@ -43,7 +43,7 @@ To update, unregister the existing distro and import the new version.
# PowerShell
wsl --unregister wsl-vpnkit
wsl --import wsl-vpnkit $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz --version 2
wsl --import wsl-vpnkit --version 2 $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz
```

### Uninstall
Expand Down Expand Up @@ -109,7 +109,7 @@ For this and other networking considerations when using WSL 2, see [Accessing ne
### Run in foreground

```sh
wsl.exe -d wsl-vpnkit wsl-vpnkit
wsl.exe -d wsl-vpnkit --cd /app wsl-vpnkit
```

### Try shutting down WSL 2 VM to reset
Expand All @@ -127,5 +127,5 @@ If you set DEBUG variable before calling service you can see more debug informat

Example:
```sh
wsl.exe -d wsl-vpnkit DEBUG=1 service wsl-vpnkit restart
wsl.exe -d wsl-vpnkit --cd /app DEBUG=1 service wsl-vpnkit restart
```
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ ls -la $DUMP

# reinstall
wsl.exe --unregister wsl-vpnkit || :
wsl.exe --import wsl-vpnkit "$USERPROFILE\\wsl-vpnkit" $DUMP --version 2
wsl.exe --import wsl-vpnkit --version 2 "$USERPROFILE\\wsl-vpnkit" $DUMP
rm $DUMP
10 changes: 5 additions & 5 deletions distro/scripts/startup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,28 @@ This distro is only intended for running wsl-vpnkit.
Run the following commands from Windows or other WSL 2 distros to use.
wsl.exe -d $WSL_DISTRO_NAME service wsl-vpnkit stop
wsl.exe -d $WSL_DISTRO_NAME service wsl-vpnkit start
wsl.exe -d $WSL_DISTRO_NAME --cd /app service wsl-vpnkit stop
wsl.exe -d $WSL_DISTRO_NAME --cd /app service wsl-vpnkit start
The following file will be copied if it does not already exist.
$USERPROFILE/wsl-vpnkit/wsl-gvproxy.exe
Logs for wsl-vpnkit can be viewed here.
wsl.exe -d $WSL_DISTRO_NAME tail -f $LOG_PATH
wsl.exe -d $WSL_DISTRO_NAME --cd /app tail -f $LOG_PATH
To see only the most recent logs
wsl.exe -d $WSL_DISTRO_NAME sh -c \"tac $LOG_PATH | awk '{print}; /starting wsl-vpnkit/{exit}' | tac\"
wsl.exe -d $WSL_DISTRO_NAME --cd /app sh -c \"tac $LOG_PATH | awk '{print}; /starting wsl-vpnkit/{exit}' | tac\"
Config for wsl-vpnkit can be edited here.
$USERPROFILE/wsl-vpnkit/wsl-vpnkit.conf
Run the following command to see the default values.
wsl.exe -d $WSL_DISTRO_NAME cat /app/defaults.conf
wsl.exe -d $WSL_DISTRO_NAME --cd /app cat /app/defaults.conf
Press [enter] key to continue...
"
Expand Down
20 changes: 10 additions & 10 deletions test.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#! /bin/sh -xe

# ensuring distro is stopped before running tests
if wsl.exe -d wsl-vpnkit service wsl-vpnkit status; then
wsl.exe -d wsl-vpnkit service wsl-vpnkit stop || \
if wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit status; then
wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit stop || \
wsl.exe -t wsl-vpnkit
fi

Expand All @@ -16,13 +16,13 @@ for debug_value in '1' '2' ''; do
echo "####### Test Round with debug_str [${debug_str}] #######" | grep --colour=always .

# start service
wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit start
output=$(wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit status)
wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit start
output=$(wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit status)
echo "$output" | grep --colour=always "Service wsl-vpnkit is running"

# check latest log
sleep 5
output=$(wsl.exe -d wsl-vpnkit sh -c "tac /var/log/wsl-vpnkit.log | awk '{print}; /starting wsl-vpnkit/{exit}' | tac")
output=$(wsl.exe -d wsl-vpnkit --cd /app sh -c "tac /var/log/wsl-vpnkit.log | awk '{print}; /starting wsl-vpnkit/{exit}' | tac")

( set +x # avoid clutter during output checks
# check for working ping
Expand All @@ -33,17 +33,17 @@ for debug_value in '1' '2' ''; do
)

# restart service
wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit restart
output=$(wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit status)
wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit restart
output=$(wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit status)
echo "$output" | grep --colour=always "Service wsl-vpnkit is running"

# stop service
wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit stop
output=$(wsl.exe -d wsl-vpnkit ${debug_str} service wsl-vpnkit status)||echo "ignoring exit code"
wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit stop
output=$(wsl.exe -d wsl-vpnkit --cd /app ${debug_str} service wsl-vpnkit status)||echo "ignoring exit code"
echo "$output" | grep --colour=always "Service wsl-vpnkit is not running"

# check welcome screen
wsl.exe -d wsl-vpnkit sh -c 'echo 1 | source /etc/profile'
wsl.exe -d wsl-vpnkit --cd /app sh -c 'echo 1 | source /etc/profile'
done

echo "$0 Finished" | grep --colour=always .

0 comments on commit 992dded

Please sign in to comment.