-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
skip: kludgy SCION browser support #181
Conversation
0b018cc
to
a578eaa
Compare
Add a local web-proxy and a proxy auto-config script to act as a poor man's SCION browser support. Please see skip/README.md for details. Also, use the gorilla/handlers library as logging middleware in HTTP servers, in the new skip proxy server as well as in _examples/shttp/fileserver.
skip/README.md, line 8 at r1 (raw file):
? |
skip/README.md, line 9 at r1 (raw file):
Or just |
skip/main.go, line 55 at r1 (raw file):
Why is this type exported? |
skip/main.go, line 89 at r1 (raw file):
"as in shttp.MangleSCIONAddrURL" or "as in appnet.MangleSCIONAddr"? |
skip/main.go, line 60 at r1 (raw file):
Empty line? |
skip/main.go, line 1 at r1 (raw file):
When do we usually bump the copyright notices to the next year? |
skip/README.md, line 1 at r1 (raw file):
Do we still want to maintain the new invariant that every app also gets a short section in the main README.md? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: complete! 1 of 1 LGTMs obtained
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 8 files reviewed, 7 unresolved discussions / 0 of 1 LGTMs obtained, and 1 stale / 0 of 1 approvals obtained
skip/main.go, line 1 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
When do we usually bump the copyright notices to the next year?
Good catch, thanks 😄 📅
Done.
skip/main.go, line 55 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
Why is this type exported?
Done.
skip/main.go, line 60 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
Empty line?
Done.
skip/main.go, line 89 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
"as in shttp.MangleSCIONAddrURL" or "as in appnet.MangleSCIONAddr"?
Done.
skip/README.md, line 1 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
Do we still want to maintain the new invariant that every app also gets a short section in the main README.md?
Done.
skip/README.md, line 8 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
that go to
?
Done, rephrased this a bit.
skip/README.md, line 9 at r1 (raw file):
Previously, marcfrei (Marc Frei) wrote…
Or just
on localhost
?
Done.
Not super elegant. This approach is showing it's weaknesses ;)
Cool that you noticed this case. I don't really mind that the code is starting to get less elegant. I think with the chosen approach it's quite expected that we will accumulate edge cases like this for some time. I would just keep adding them and evaluate later where this will lead us. |
Can the HTTPS issue be solved using an SSL certificate chain? I am not completely sure whether this will solve it. https://support.dnsimple.com/articles/what-is-ssl-certificate-chain/ |
skip (SCION kludge in prowsers, also "ship" in many languages and so fitting with the lighthouse/beacon scheme ⛵) is a poor man's browser integration for SCION.
skip uses a Proxy auto-config file to forward all requests that are go to a SCION destination to a proxy server, running as a (native) binary on the localhost. As this mechanism does not let us support a separate protocol identifier nor allow looking up whether a name refers to a SCION address, we identify SCION addresses as either:
.scion
, e.g.http://www.scionlab.org.scion
, or<ISD>-<AS id with underscores>-<host>
, e.g.http://17-ffaa_0_1101-129.132.121.164/
To make links and redirects work as intended, i.e. keep using SCION, the proxy replaces matching URLs in the response with these "munged" addresses.
Limitations:
scion+http://www.scionlab.org
) but instead uses a kludgy pseudo-TLD toidentify SCION hosts.
Obviously this is not great, but hey, it's a start. Some inspiration for how to to build something more advanced can be found in this extensions for the gopher protocol, OverbiteNX.
Also in this PR:
This change is