You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 20, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+7-30Lines changed: 7 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@
4
4
5
5
🧪 *The extension is currently in Preview stage, so some hiccups are expected. Please help us to improve [by submitting feedback](https://github.com/legomushroom/gh-net#troubleshooting)!*
6
6
7
-
This [GitHub CLI](https://cli.github.com/) extension allows to bridge network between a Codespace and your local machine, so the `Codespace` can reach out to any remote resource that is reachable from your machine. In another words, it uses your local machine a network `gateway` to get to those resources.
7
+
This [GitHub CLI](https://cli.github.com/) extension allows to bridge network between a Codespace and your local machine, so the `Codespace` can reach out to any remote resource that is reachable from your machine. In another words, it uses your local machine as a network `gateway` to get to those resources.
8
8
9
-
For instance, if you are using `VPN` to connect to your enterprise network to access a database or any other remote resources on the private network, this extension allows you to get to those resources from whithin a Codespace also, so you can develop fully inside a Codespace!
9
+
For instance, if you are using a `VPN` to connect to your enterprise network to access a database or any other remote resources on the private network, this extension allows you to get to those resources from within a Codespace, so that you can develop fully inside a Codespace!
10
10
11
11
[About GitHub CLI](https://cli.github.com/).
12
12
@@ -70,11 +70,11 @@ We bind to the `default gateway` network interface inside the codespace and forw
70
70
71
71
This ensures that we fallback to forwaring packets only if they were not handled by any other network interface inside a Codespace.
72
72
73
-
Once a packet reaches the local machine, we see if we can forward it to a meaningful distanation, for that we resolve network interface that can handle the packet destination. Such network interface must not be a default gateway interface given that the packet destination is not to the gateway subnet, otherwise the packet is addressed to internet which can be handled from whithin the codespace directly.
73
+
Once a packet reaches the local machine, we see if we can forward it to a meaningful destination, for that we resolve network interface that can handle the packet destination. Such network interface must not be a default gateway interface given that the packet destination is not to the gateway subnet, otherwise the packet is addressed to the internet which can be handled from whithin the codespace directly.
74
74
75
-
If such network interface is found, we create a local `network socket` and a `NAT` record for the connection. The NAT reord is used to map remote packet source address to the local network socket address, so it appears to the remote resource as if traffic is comming from the local machine. When a reply packet is received, we perform reverse address translation and send the packet back to the codespace (so it appears if reply came directly from the Codespace default gateway interface).
75
+
If such network interface is found, we create a local `network socket` and a `NAT` record for the connection. The NAT record is used to map the remote packet source address to the local network socket address, so it appears to the remote resource as if traffic is coming from the local machine. When a reply packet is received, we perform reverse address translation and send the packet back to the codespace (so it appears as if the reply came directly from the codespace default gateway interface).
76
76
77
-
For `DNS` packets, we register an address that is on `default gateway` subnet which allows to catch all unresolved `DNS` queries. Once `DNS` packet received, it is passed over to the `local machine` where request to local `DNS` resolver is made and reply sent back to the Codespace.
77
+
For `DNS` packets, we register an address that is on the `default gateway` subnet which allows to catch all unresolved `DNS` queries. Once `DNS` packet is received, it is passed over to the `local machine` where the request to the local `DNS` resolver is made and a reply is sent back to the codespace.
78
78
79
79
The extension is written in `Rust` and provides high preformance, low memory footprint and memory safety, hence must cause low latency.
80
80
@@ -114,7 +114,7 @@ The extension is written in `Rust` and provides high preformance, low memory foo
114
114
115
115
### Transport layer protocol support
116
116
117
-
Currently only `TCP`, `UDP` and `ICMP` protocols were tested extensivelly:
117
+
Currently only `TCP`, `UDP` and `ICMP` protocols were tested extensively:
118
118
119
119
| Transport protocol | Status |
120
120
|--------------------|--------|
@@ -128,7 +128,7 @@ Currently only `TCP`, `UDP` and `ICMP` protocols were tested extensivelly:
128
128
129
129
### Network layer protocol support
130
130
131
-
Currently only `IPv4` is supported and was tested extensivelly:
131
+
Currently only `IPv4` is supported and was tested extensively:
132
132
133
133
| Network protocol | Status |
134
134
|--------------------|--------|
@@ -174,31 +174,8 @@ Currently `TCP`/`UDP` and `ICMP` are supported. Other protocols should work but
0 commit comments