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
SlickVPN Support #961
SlickVPN Support #961
Conversation
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.
Nice 💯 Several comments here and there, but it's looking pretty well for a drafty first stab!
Have you tried running their openvpn config using a native openvpn client? What authentication failures do you get? Feel free to share your logs maybe I can help.
efdf9e7
to
9dd5e7b
Compare
Sorry I've been force-pushing on the master branch the last commit, sorry I forgot your fork 😢 Let me know if you need help rebasing/dropping the older commit I have overridden a bunch of times. |
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.
Nice HTML utilities 🚀
There is bunch of nits
comments, hopefully it's not too many either 😅
Although I'm starting to think if they change their website, like just the CSS - which they will -, our updater code will be bricked 😢 I did the same thing for other providers though, so the problem is not just here. Anyway,I don't see any solution really to make it future-proof so ignore me crying about it 😸
I guess there is no way around.
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.
Hey @Rohaq sorry for the delay re-reviewing.
Did you make it work in the end?
I would prefer to merge your PR before adding more changes to the master branch.
I have been working on simplifying the addition of new vpn providers, but it's quite significant changes and I would rather update your code than have you update all your code to match the newer mechanisms 😄 I'm also not completely done on my side either.
Hey @Rohaq I actually ended up pushing all these modifications I have been talking about to make VPN provider addition simpler. That means your branch needs quite a bit of work to match the newer format. If that's ok with you, I can rebase your branch on the repo master branch, let me know (I can already push on your forked repo branch). |
af4ddc6
to
f5f65d5
Compare
Hey @Rohaq I'm about to work on your branch and update it to the latest changes. Would you then be able to just test the image see if it works (probably tomorrow I would guess)? Thanks! |
Soooo... I rebased, refactored, reviewed all your code 👍 A few important changes:
It might just work as is, so feel free on your gluetun fork repo to git reset --hard origin/master
docker build -t qmcgaw/gluetun .
docker run -it --rm --cap-add=NET_ADMIN -e VPNSP=slickvpn -e OPENVPN_USER=abc -e OPENVPN_PASSWORD=abc qmcgaw/gluetun and see if it works? |
25eaace
to
0a69e1d
Compare
Hi, I'm also using SlickVPN and tried building and running the container.
Seems something was wrong with the certificate.
After that I got the following response:
I found this certificate in the stock OVPN file by the way, from the site HERE EDIT: Just saw your post above, I've got some additions.
Using the SlickVPN software on Windows, the port can be chosen, there the choice is 443, 8888 or 8080.
The same goes for UDP or TCP, according the Windows software it can be either, on all the three ports. |
@Fietspomp86 awesome thank you for the feedback. I added a few commits:
Let me know when you got the time if everything works as expected and I'll get this merged. Thanks! |
Thanks for the fast work! Just pulled the new repo. It didn't work, but I also had to do a "git pull" of course....
Seems to be working now!
If you need anything else I can test/do, let me know! |
That error is just the vpn not working, it's a config problem. Please try by adding the environment variable Regarding server filters, I'll add a wiki page documenting that. |
Ok I've added that flag, seems better now, but it's still throwing an error:
Looks like a DNS error?
I've tried without it, then I get the same errors as I had above, so yes "redirect-gateway" should definitely be added again. EDIT: Since I assumed something was wrong with DoT, I've managed to start the container with the following flag added as well: docker run -it --rm --cap-add=NET_ADMIN -e VPN_SERVICE_PROVIDER=slickvpn -e OPENVPN_USER=XXXXXX@slickvpncore.com -e OPENVPN_PASSWORD=XXXXXX -e SERVER_COUNTRIES=Netherlands -e DNS_ADDRESS=84.200.70.40 -e OPENVPN_FLAGS=--redirect-gateway qmcgaw/gluetun This is the output now:
|
I don't see why Unbound (DOT aka dns over tls) would fail. Maybe just let it reboot once, maybe 6s is not enough for the vpn and unbound to get started? I also re-added |
I'm not sure, I also think that has nothing to do with the SlickVPN side of things. Anyway, just pulled the qmcgaw/gluetun:slickvpn, and it works perfect! |
Sorry for the delay in responding to this, I saw how much refactoring you'd been doing, and thought it might be worth waiting - unfortunately real life has also been getting in the way as we're down a developer at work! Nice to see @Fietspomp86 got it working with your changes though! I'll try and make some time to look over them this week! |
Dang, I thought I got away with it due to it being in the updater component. Nice to see you've moved away from Regex though! 😆 I'm going to try and resurrect my |
@Rohaq maybe have a look at https://github.com/qdm12/gluetun/blob/vpnsecure/internal/provider/vpnsecure/updater/website.go and its test file https://github.com/qdm12/gluetun/blob/vpnsecure/internal/provider/vpnsecure/updater/website_test.go to find commonly used patterns for both providers. But let's keep shared/utils code to the minimum to what's in use and shared, and the rest private to each provider updater package. You could also just have these html helper functions in internal/provider/common/html.go and import them using the Let me know when you start working on this, I'll comment here as well if I do on my side before you do (almost did this evening but tv called for me 😄) |
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.
- Allow custom ports 443, 8080 and 8888 - Allow TCP
- Add unit tests for slickvpn updating code - Change shared html package to be more share-able - Split html utilities in multiple files
@Rohaq thanks for the work, merging it now! 👍
↪️ For end users, the Wiki page |
TCP
configuration files? One could just try on port 443 and protocol tcp.redirect-gateway
needed?