Package Usage: go: github.com/getlantern/detour
Package detour provides a net.Conn interface to dial another dialer if a site fails to connect directly.
It maintains three states of a connection: initial, direct and detoured
along with a temporary whitelist across connections.
It also add a blocked site to permanent whitelist.
The action taken and state transistion in each phase is as follows:
+-------------------------+-----------+-------------+-------------+-------------+-------------+
| | no error | timeout* | conn reset/ | content | other error |
| | | | dns hijack | hijack | |
+-------------------------+-----------+-------------+-------------+-------------+-------------+
| dial (intial) | noop | detour | detour | n/a | noop |
| first read (intial) | direct | detour(buf) | detour(buf) | detour(buf) | noop |
| | | add to tl | add to tl | add to tl | |
| follow-up read (direct) | direct | add to tl | add to tl | add to tl | noop |
| follow-up read (detour) | noop | rm from tl | rm from tl | rm from tl | rm from tl |
| close (direct) | noop | n/a | n/a | n/a | n/a |
| close (detour) | add to wl | n/a | n/a | n/a | n/a |
+-------------------------+-----------+-------------+-------------+-------------+-------------+
| next dial/read(in tl)***| noop | rm from tl | rm from tl | rm from tl | rm from tl |
| next close(in tl) | add to wl | n/a | n/a | n/a | n/a |
+-------------------------+-----------+-------------+-------------+-------------+-------------+
(buf) = resend buffer
tl = temporary whitelist
wl = permanent whitelist
** DNS hijacking is only checked at dial time.
*** Connection is always detoured if the site is in tl or wl.
2 versions
Latest release: about 2 years ago
View more package details: https://packages.ecosyste.ms/registries/proxy.golang.org/packages/github.com/getlantern/detour
View more repository details: http://repos.ecosyste.ms/hosts/GitHub/repositories/getlantern%2Fdetour
Dependent Repos 1
wesavetheworld/checkfallbacks
Size: 11.7 KB - Last synced: about 2 years ago - Pushed: over 8 years ago

getlantern/flashlight
Core proxying component of the Lantern censorship circumvention tool.Size: 411 MB - Last synced: 2 days ago - Pushed: 2 days ago

getlantern/lantern-client
Lantern Client codeSize: 567 MB - Last synced: 8 days ago - Pushed: 8 days ago

getlantern/genconfig
generates lantern global configuration fileSize: 188 KB - Last synced: 7 months ago - Pushed: about 3 years ago

getlantern/lantern-headless-client
Lantern Headless ClientSize: 422 KB - Last synced: about 1 month ago - Pushed: about 1 month ago
