-
Notifications
You must be signed in to change notification settings - Fork 46
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
Upgrade to Python3 + Tornado6 #12
base: main
Are you sure you want to change the base?
Conversation
Thanks so much for the contribution. This looks awesome. I'll give it a test tonight, and provided it's all working correctly I'll be very happy to merge. |
Also before I merge, I've been meaning to change the license of this project to MIT. Would you still be willing to make this contribution under those terms? |
@benjamincburns Oh, yes, of course. The delay was no problem in the end, I realized that I broke on accident backwards compatibility because I wanted to run this as non-root user (most of my changes allow for that)… but I forgot to make sure to change the port back to |
self.tun.up() | ||
tap_name = tornado.options.options.tap_name or "tap0" | ||
self.tun = TunTapDevice(name=tap_name, flags= (IFF_TAP | IFF_NO_PI)) | ||
if tornado.options.options.tap_name is None: |
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.
Basically this change allows the non-root user to run the server.
You have to set up the TAP device as root, and assign it to your user account, but you don't need to run the server as root. :-)
So if you pass --tap-name=tap0
(or w/e, tap1
etc.) it'll Just Work™
I'm not sure exactly why, but I'm afraid that this PR doesn't seem to work correctly when I run it on the relay. I see connections logged, but I never see the |
8a4b5b7
to
0687d8f
Compare
(Allows for non-root to run it.)
Apologies for the commit noise - just figured I'd save you the effort of rebasing this on current |
It may help for me to say why I did this work. I was playing around with JSLinux and wanted to be able to download faster. So what's the best way for me to test that stuff? (jor1k?) |
RUN apt-get update && apt-get install -y python2 python2-dev iptables dnsmasq uml-utilities net-tools build-essential curl && apt-get clean | ||
|
||
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py && python2 get-pip.py && rm get-pip.py | ||
RUN apt-get update && apt-get install -y python2 python2-dev iptables dnsmasq python3-pip uml-utilities net-tools build-essential curl && apt-get clean |
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.
Shouldn't this install python3 python3-dev
instead, now?
So I am able to identify two issues that results in this PR not working.
Both of these are fixable and I am able to then get the client to connect, however I can't get any communication to work correctly. This happens as well if you try to perform a upgrade of the existing code without apply any of the functional changes seen in this PR 🤷♀️ |
No description provided.