Im running Mac OS on an M2 Macbook Air and BitmaskVPN is working.
@mcnair please take a look!
Pea Nut (aedf4de6) at 26 Mar 11:02
Improve logging, error handling + debugging
... and 1 more commit
I started to implement/use the bitmask-core stuff. Not with all details but to get a rough happy path working with menshen.
Code (snippets) can be found here:
https://0xacab.org/leap/bitmask-vpn/-/blob/v5-integration/pkg/vpn/menshen/snippets.go?ref_type=heads
Need to fill the hardcoded stuff with logic. Created an issue for this: #788
Hey, I'm currently implementing/integrating v5 (bitmaks-core/menshen) into the desktop client (#758).
If we start the desktop client, we see a list of locations and the quality of each location. Currently, this is hardcoded in my branch:
available locations
locationLabels := make(map[string][]string)
locationLabels["Paris"] = []string{"Paris", "Fr"}
locationLabels["Seattle"] = []string{"Seattle", "US"}
return locationLabels
quality
cm := make(map[string]float64)
cm["Paris"] = 0.84
cm["Seattle"] = 0.3
return cm
best location
return "Paris"
Now I want to fill this with logic. Therefore, we need to agree on how to implement this. This is my proposal on how to implement this:
UPDATE:
If the user connects/clicks on a location
So for example menshen gives us the following information:
paris01 lat=0.5 load=1 port1=80-tcp-0.7 port2=443-tcp-0.8
paris02 lat=0.3 load=2 ...
paris03 lat=0.1 load=1.5 ...
paris04 lat=0.8 load=0.4 port1=53-udp-0.3 port2=1194-udp-0.5 port3=80-tcp-0.7
connection order
Start openvpn with the following arguments
--remote paris04 53 udp4
--remote paris04 1194 udp4
--remote paris04 80 tcp4
--remote paris01 80 tcp4
--remote paris01 443 tcp4
Definition of load (only relevant for implementation in menshen)
How many gateways per location to connect with
If we have a gateway with 6 listening openvpn ports
We want poeple to use UDP
UPDATE: In bitmask-core, there is code about Geolocation
It would be nice if people could think about this and then let's have a call to decide. @kali @cyberta @jkito @sgk
If you have IPv6 DNS resolvers configured, they seem to be leaking. I asked someone else about 216.127.227.21.
The question: is it trivial to build against Debian 11 or not?
ar -x bitmask-vpn_0.24.03-rc.1-3-g98005eb_amd64.deb
zstd -d < control.tar.zst| xz > control.tar.xz
zstd -d < data.tar.zst| xz > data.tar.xz
ar -m -c -a sdsd bitmask-vpn_0.24.03-rc.1-3-g98005eb_amd64-replaced.deb debian-binary control.tar.xz data.tar.xz
dpkg -i bitmask-vpn_0.24.03-rc.1-3-g98005eb_amd64-replaced.deb
# dpkg -i bitmask-vpn_0.24.03-rc.1-3-g98005eb_amd64-replaced.deb
Selecting previously unselected package bitmask-vpn.
(Reading database ... 376537 files and directories currently installed.)
Preparing to unpack bitmask-vpn_0.24.03-rc.1-3-g98005eb_amd64-replaced.deb ...
Unpacking bitmask-vpn (0.24.03-rc.1-3-g98005eb) ...
dpkg: dependency problems prevent configuration of bitmask-vpn:
bitmask-vpn depends on libc6 (>= 2.34); however:
Version of libc6:amd64 on system is 2.31-13+deb11u8.
bitmask-vpn depends on libqt6core6 (>= 6.4.0); however:
Package libqt6core6 is not installed.
bitmask-vpn depends on libqt6gui6 (>= 6.1.2); however:
Package libqt6gui6 is not installed.
bitmask-vpn depends on libqt6qml6 (>= 6.2.0); however:
Package libqt6qml6 is not installed.
bitmask-vpn depends on libqt6widgets6 (>= 6.1.2); however:
Package libqt6widgets6 is not installed.
bitmask-vpn depends on libqt6svg6; however:
Package libqt6svg6 is not installed.
bitmask-vpn depends on qml6-module-qtquick; however:
Package qml6-module-qtquick is not installed.
bitmask-vpn depends on qml6-module-qtquick-controls; however:
Package qml6-module-qtquick-controls is not installed.
bitmask-vpn depends on qml6-module-qtquick-dialogs; however:
Package qml6-module-qtquick-dialogs is not installed.
bitmask-vpn depends on qml6-module-qtquick-layouts; however:
Package qml6-module-qtquick-layouts is not installed.
bitmask-vpn depends on qml6-module-qtqml-workerscript; however:
Package qml6-module-qtqml-workerscript is not installed.
bitmask-vpn depends on qml6-module-qtquick-templates; however:
Package qml6-module-qtquick-templates is not installed.
bitmask-vpn depends on qml6-module-qtquick-window; however:
Package qml6-module-qtquick-window is not installed.
bitmask-vpn depends on qml6-module-qt-labs-platform; however:
Package qml6-module-qt-labs-platform is not installed.
bitmask-vpn depends on qml6-module-qtcore; however:
Package qml6-module-qtcore is not installed.
bitmask-vpn depends on qml6-module-qt5compat-graphicaleffects; however:
Package qml6-module-qt5compat-graphicaleffects is not installed.
dpkg: error processing package bitmask-vpn (--install):
dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.69) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Errors were encountered while processing:
bitmask-vpn
Should we support Debian 11 or not. zst support for apt was added in bookworm, Debian 12.
dpkg -i /tmp/deploy/bitmask-vpn_0.24.03-rc.1-3-g98005eb8_amd64.deb dpkg-deb: error: archive '/tmp/deploy/bitmask-vpn_0.24.03-rc.1-3-g98005eb8_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up dpkg: error processing archive /tmp/deploy/bitmask-vpn_0.24.03-rc.1-3-g98005eb8_amd64.deb (--install): dpkg-deb --control subprocess returned error exit status 2 Errors were encountered while processing: /tmp/deploy/bitmask-vpn_0.24.03-rc.1-3-g98005eb8_amd64.deb
I asked to check if both DNS ip addresses belong to Riseup.
Can you give us the output of resolvectl status
(if you use systemd networkd) - or whatever you use. Something that shows your current DNS configuration after connecting to the VPN.
So if the package is installed, there should be
The polkit policy allows us to run the helper script (bitmask-root) as root without entering the password every time. In the se.leap.bitmask.policy file, the path of bitmask-root is specified as /usr/sbin/bitmask-root. We need it there.
I changed the PKGBUILD to install it to /usr/sbin/. But that failed. It gave a strange error: /usr/sbin already exists in filesystem (owned by filesystem)
. I don't know why this happened.
But on my Arch Linux, my /usr/sbin is linked to /usr/bin. So that should work.
I hope that clarifies the situation. Do you have any open problems or can we close this? Just try to build the current riseup-vpn-git package.
@jkito It never had asked me for a password before ever. Also the recent update right after I updated successfully broke the build again. While updating my machine and troubleshooting yesterday I had to reboot and didn't get a chance to save the log again unfortunately but here's what I remember:
It was giving me a permission error about not being able to (paraphrasing from search tab i did leave open while troubleshooting because i lost the original error - this is pretty close to what i remember it saying though prior to failing)
/usr/sbin/foo: cannot create regular file ‘/usr/sbin/foo’: Permission denied (foo was riseup-vpn-git, i cannot remember if it said sbin or bin though)
While I was troubleshooting I ran across this: https://bbs.archlinux.org/viewtopic.php?id=163343 and this: https://pastebin.com/MeXiLDV9 They both looked promising and relevant.
Soooooo, I tried manually editing the package build file prior to updating. I opened a sudo su -
terminal and renamed all the files that get I saw in the pkg build file that get installed to /usr/share... /usr/bin... /usr/sbin... (sbin seems like a sym-link, as does /sbin and /bin all lead to /usr/bin on manjaro) etc.. to foo.bak and then re-ran manjaro's pamac gui and then it gave me new errors about not being able to do something with bitmask-vpn.??? right after saying something about entering fake root...
As a temporary measure, I uninstalled riseup-vpn-git and installed riseup-vpn from the AUR which seems to be a slightly older version, but it built successfully. I will uninstall and retry the AUR riseup-vpn-git package soon to see if it works again with a fresh install and write back probably sunday.
I see, thanks for taking the time to explain.
I can see how a flag for switching to dynamic linking can be useful, as long as it doesn't replace the release targets that compile it statically.
Additionally, you might want to look into the --skip-golib
flag in the gui/build.sh
script.
Pea Nut (28dd7230) at 21 Mar 09:16
This is just to make the changes available
BitmaskVPN version: 0.24.03-rc.1
Apple M2 Macbook Air.
OS 13.2.1 (22D68)
2.When i try to connect, no matter what gateway, udp or tcp, via bridge or without bridget, it gets stuck on the connecting state. It never connects, and I can not cancel. I have to quit and restart to try again.
noticed that the preferences settings were not working while trying the bitmask-vpn deb package from a recent build https://0xacab.org/jkito/bitmask-vpn/-/jobs/549689
it worked after installing the below dependencies
@jkito can we add these to as dependency on debian control file?
BitmaskVPN version: 0.24.03-rc.1
Apple M2 Macbook Air.
OS 13.2.1 (22D68)
2.When i try to connect, no matter what gateway, udp or tcp, via bridge or without bridget, it gets stuck on the connecting state. It never connects, and I can not cancel. I have to quit and restart to try again.
noticed that the preferences settings were not working while trying the bitmask-vpn deb package from a recent build https://0xacab.org/jkito/bitmask-vpn/-/jobs/549689
it worked after installing the below dependencies
@jkito can we add these to as dependency on debian control file?