-
Privacy is one of the most important factors when it comes to developing free (as in "freedom") open-source software to ensure that the internet traffic sent by the developers cannot be abused to gain privileged access to our repositories or otherwise used agains us in an unwanted and/or illegal manner such as racial profiling[5], doxxing[4], blackmail[3], etc.. As such the onion services give the site owner control over both authentication and network address lookup in a way that can't be usurped like TLS certificates or DNS can while maintaining the end-user's control over their data to mitigate or solve following issue as the World-Wide-Web (WWW) provides next to no privacy even through the use of proxy and Virtual Private Network (VPN).[13] 1. issue: Browser fingerprintingPractice used to track end-users over the internet without their consent by using the informations exposed about them by the web browsers such as used version of graphical drivers through the WebGL[2][6], Screen size[6], Device Memory[6], Use of an AdBlocker[6], language[6] and many more.. As of 07/12/2020 the only known solution to this is issue is for everyone to use the same browser with same extensions and configuration such as Tor Browser Bundle that allows the end-users to blend in a crowd of users making them less likely to be fingerprinted[7]. 2. issue: Commercial mass surveillancePractice used to create a database entry of the online users (often without and/or uninformed consent) of gathered (and often sensitive) informations for the purpose of targeted advertisement[9], paid redistibution[10] and interfiering in state election[11]. 3. issue: Internet Service Provider (ISP) logging, man-in-the-middle (MITM) attacks, certificate authorities and DNS serversSome end-users are in situation where in their area there is only one ISP which policy is to resell the user data[12] gathered from the end-user's internet traffic or the ISP might be using a compromised relay that could be used to monitor the traffic and to perform MITM attacks. Tor allows these users to gain control over their data by making their traffic harder to interpret. 4. issue: Certificate authorities (CA)On WWW the certificate authorities (or anyone who tricks CA) have full control over the sensitive data transmitted to the github.com which is not a concern on an onion service as onion services are also self-authenticating (the key is built into the address)[13] 5. issue: Domain Name System (DNS)The WWW depends on DNS servers to interpret the domain names into an IP address which is understandable by the web browsers that depending on the used encryption and policy set by the DNS provider will expose the traffic to the DNS providers and possible bad actors monitoring the traffic. The DNS providers and parties that has control over these servers have the ability to redirect the domains on an IP address of their choice. DNS resorvers are also vulnerable to "DNS cache poisoning" which is a practice used to trick the DNS resolver into a caching of a false information.[17] Tor does not use DNS to resolve the onion service thus eliminating these issues.[16][18] Proof-of-conceptImplementation on dotya.mlI was helping with implementation of a onion service on https://git.dotya.ml that provides it on http://2crftbzxbcoqolvzreaaeyrod5qwycayef55gxgzgfcpqlaxrnh3kkqd.onion Experiment by @alecmuffett using EOTK to provide github as onion service
How does tor worksWhen a user visits github through Tor, they go through a 3 hops circuit. Specifically an entry node, a middle node, and finally, an exit node. Then they will reach their desired website. Further explained on: Use of tor in the wildNew York Time https://www.nytimes3xbfgragh.onion/tips Facebook http://facebookcorewwwi.onion DuckDuckGo https://3g2upl4pq6kufc4m.onion BBC https://www.bbcnewsv2vjtpsuy.onion (EOTK) Deutsche Welle https://www.dwnewsvdyyiamwnp.onion (EOTK) Brave Browser https://brave5t5rjjg3s6k.onion (EOTK) The Free Software Foundation Europe http://fsfeorg3hsfyuhmdylxrqdvgsmjeoxuuug5a4dv3c3grkxzsl33d3xyd.onion Tor has been also adapted by FLOSS projects such as: Snopyta.org http://cct5wy6mzgmft24xzw6zeaf55aaqmo6324gjlsghdhbiw5gdaaf4pkad.onion/ Websites marked with 'EOTK' are set up using https://github.com/alecmuffett/eotk, see #2843 (comment) References
Feel free to provide resources and review the provided information as i will be happy to update the original post. |
Beta Was this translation helpful? Give feedback.
Replies: 16 comments 24 replies
-
Thank you very much for this great proposal, well researched, very timely, and one that we should all consider necessary. Github is one of the most used platforms by developers, and surely the most used for code hosting. This implies a responsibility, and a lot of effort has to be made! |
Beta Was this translation helpful? Give feedback.
-
Generally, I am enthusiastically in favor of this proposal. A few suggestions
|
Beta Was this translation helpful? Give feedback.
-
EOTK is the solution in use by the NYTimes, BBC, Deutsche Welle and Brave Browser onion sites, to set up an Onion service with minimal effort and maximal compatibility, and working around the security issues in handling an Onion site. Disclosure: I am the author, and would be delighted to help. |
Beta Was this translation helpful? Give feedback.
-
This is a great proposal. For users under surveillance that use Tor to access github, an onion service will allow them not to have to leave the tor network to reach you. Please do let us known if Github is actually interested in running an onion. I am a sysadmin The Tor Project and we would love to help. [1] https://community.torproject.org/onion-services/overview/ |
Beta Was this translation helpful? Give feedback.
-
It would be nice to be able to utulize GH via Tor. I only use Chrome for the sites that block Tor. This is great! |
Beta Was this translation helpful? Give feedback.
-
+1 |
Beta Was this translation helpful? Give feedback.
-
@deufrai |
Beta Was this translation helpful? Give feedback.
-
Hello all. I work on Tor as a developer and more specifically I work on onion services. I would be glad to help you deploy onion services on your site. If you need any sort of support or help or directions, please let us know :) |
Beta Was this translation helpful? Give feedback.
-
Hey All! As an experiment, I just set up an Onion site for Github using EOTK, to see how hard it would be. I learned something that I will share below, that will impact deployment of a The configuration which I created, is this # don't rewrite user@github.com email addresses into an onion
set preserve_csv tld-email,github\\.com,i,github.com
# deployment; use of "mkcert" requires you to install it and set it up beforehand
# and to adopt your mkcert CA certificate into your TorBrowser.
set nginx_resolver 8.8.8.8 1.1.1.1 ipv6=off
set log_separate 1
set ssl_mkcert 1
set nginx_cache_seconds 60
set nginx_cache_size 256m
set nginx_tmpfile_size 64m
# needed to develop this for github, see: https://github.com/alecmuffett/eotk/pull/85
set kludge_disable_sri 1
set project github
hardmap %NEW_V3_ONION% github.com
hardmap %NEW_V3_ONION% githubapp.com
hardmap %NEW_V3_ONION% githubassets.com
hardmap %NEW_V3_ONION% githubstatus.com
hardmap %NEW_V3_ONION% githubusercontent.com
hardmap %NEW_V3_ONION% octocaptcha.com ...and I then did With a tiny bit of EOTK-hacking I got it working fully: ...and I have now taken this onion site down to ensure that nobody else uses it untowardly. In the process I learned that Github makes significant use of subresource integrity (SRI) which is a very good thing for them to be doing, but which complicates greatly any rewriter-based approach, other than for EOTK to stomp upon any integrity tags as the new This observation suggests that the fastest route towards getting onion-assist for people who use Github over Tor, might be to use content-neutral Alt-Svc headers, which do not require content rewriting; or maybe a more extensive discussion with the people of Github towards addressing SRI-based integrity wants. [*] edits for typos |
Beta Was this translation helpful? Give feedback.
-
CC @becca, official response from GitHub would be appreciated. |
Beta Was this translation helpful? Give feedback.
-
Oh wow, this'd be great! 🚀 We were considering to move our release downloads out of GitHub because of the lack of Tor support, but if users could download our software over Tor without needing to touch a Tor exit node, that'd fix this privacy leak! |
Beta Was this translation helpful? Give feedback.
-
👋 hello there! I saw I was pinged in #2843 (comment) and wanted to respond here officially. This repository is currently targeted only for feedback related to the Discussions and GitHub for Mobile features (#1). This request might belong in https://github.community/. |
Beta Was this translation helpful? Give feedback.
-
Please implement this. |
Beta Was this translation helpful? Give feedback.
-
I think there is a very strong case for this, Kreyren, and really glad you submitted. I hope GitHub takes this feedback seriously and addresses. There are a number of reasons why GitHub should setup a .onion site, and one of the strongest is really about providing fuller accessibility. If GitHub wants to provide access to censored users, whether at work or on the nation-state level, then an .onion site is a critical tool. In a world where the internet is transforming into separate internets, .onion sites are vital to the global internet community. |
Beta Was this translation helpful? Give feedback.
-
CC @ashtom With twitter taking steps to circumvent russian censorship in the conflict[https://www.engadget.com/twitter-tor-onion-service-evade-censorship-210549633.html] - why don't you do the same? Alec Muffett (@alecmuffett) who helped with the deployment for twitter already prepared the EOTK for github (#2843 (comment)) |
Beta Was this translation helpful? Give feedback.
CC @ashtom With twitter taking steps to circumvent russian censorship in the conflict[https://www.engadget.com/twitter-tor-onion-service-evade-censorship-210549633.html] - why don't you do the same?
Alec Muffett (@alecmuffett) who helped with the deployment for twitter already prepared the EOTK for github (#2843 (comment))