Windscribe / Desktop-App

Windscribe 2.0 desktop client for Windows, Mac and Linux
https://windscribe.com
GNU General Public License v2.0
622 stars 86 forks source link

No Internet Connectivity on OpenSUSE Aeon #134

Closed sith-on-mars closed 7 months ago

sith-on-mars commented 8 months ago

OS: OpenSUSE Aeon (formally known as OpenSUSE MicroOS) App version: v2.9.6

I wasn't able to log in Windscribe. It showed 'No Internet Connectivity' even though my internet was working.

Screenshot from 2024-02-09 12-10-47

Here is the terminal output:

dadstick@localhost:~> '/opt/windscribe/Windscribe'
[{gmt_time}      0.012] [basic]  App start time: "Fri Feb 9 13:16:19 2024"
[{gmt_time}      0.012] [basic]  App version: "v2.9.6 (Guinea Pig)"
[{gmt_time}      0.012] [basic]  Platform: "wayland"
[{gmt_time}      0.012] [basic]  OS Version: "Linux #1 SMP PREEMPT_DYNAMIC Fri Jan 26 11:01:28 UTC 2024 (a52bf76)"
[{gmt_time}      0.012] [basic]  CPU architecture: "x86_64"
[{gmt_time}      0.012] [basic]  UI languages: QList("en-GB", "en-Latn-GB")
[{gmt_time}      0.012] [basic]  DpiScaleManager::constructor -> DPI: 96 ; scale: 1 ; devicePixelRatio: 2
[{gmt_time}      0.013] [default]    QSystemTrayIcon::setVisible: No Icon set
[{gmt_time}      0.014] [basic]  GUI pid:  7504
[{gmt_time}      0.014] [basic]  Gui settings {isLaunchOnStartup:false; isAutoConnect:false; isHideFromDock:false; isShowNotifications:true; orderLocation:"Alphabet"; latencyDisplay:"Ms"; shareSecureHotspot:{isEnabled:false; ssid:empty; password:empty}; shareProxyGateway:{isEnabled:false; proxySharingMode:"HTTP"}; splitTunneling:{settings:{active:false; mode:"Exclude"}; apps:QList(); networkRoutes:QList()}; isDockedToTray:false; isMinimizeAndCloseToTray:true; backgroundSettings:{backgroundType:1; backgroundImageDisconnected:empty; backgroundImageConnected:empty}; isStartMinimized:true; isShowLocationHealth:true; isAutoSecureNetworks:true; appSkin:"Alpha";trayIconColor:0;}
[{gmt_time}      0.057] [qt.svg]     Cannot open file ':/svg/.svg', because: No such file or directory
[{gmt_time}      0.135] [default]      OpenType support missing for "IBM Plex Sans", script 11
[{gmt_time}      0.214] [basic]  Backend::init()
[{gmt_time}      0.214] [basic]  Engine settings {language:"en"; updateChannel:"Guinea Pig"; isIgnoreSslErrors:false; isTerminateSockets:true; isAntiCensorship:false; isAllowLanTraffic:true; firewallSettings: {mode:"Auto"; when:"Before Connection"}; connectionSettings: {isAutomatic:false; protocol:"WireGuard"; port:443}; apiResolutionSettings: {isAutomatic:true; manualAddress:""}; proxySettings: {option:"None"; address:""; port:0; username:empty; password:empty}; packetSize: {isAutomatic:true; mtu:-1}; macAddrSpoofing: {isEnabled:false; macAddress:""; selectedNetworkInterface:{friendlyName:""; networkOrSsid:""}; networkInterfaces:{}; dnsPolicy: "Cloudflare"; customOvpnConfigsPath: empty; isKeepAliveEnabled:false; connectedDnsInfo:{type:0}; dnsManager:"Auto"; networkPreferredProtocols:QMap(); networkLastKnownGoodProtocols: {QMap(); }}
[{gmt_time}      0.215] [basic]  Tray icon color is  white
[{gmt_time}      0.215] [basic]  connected to helper socket
[{gmt_time}      0.223] [basic]  setWindowPosFromPersistent() - screen "eDP-1" - geometry QRect(0,0 3200x1800) - virtualGeometry QRect(0,0 3200x1800) - logicalDotsPerInch 96 - devicePixelRatio 2
[{gmt_time}      0.223] [basic]  setWindowPosFromPersistent() - restored app geometry: QRect(1,25 332x354)
[{gmt_time}      0.223] [basic]  Tray Icon geometry: QRect(0,0 0x0)
[{gmt_time}      0.225] [basic]  Windscribe helper connected ok
sh: line 1: /sbin/route: No such file or directory
sh: line 1: /sbin/route: No such file or directory
[{gmt_time}      0.231] [basic]  Changed DNS servers for DnsResolver to: QList("1.1.1.1", "1.0.0.1")
[{gmt_time}      0.251] [network]    SSL version: "OpenSSL 3.3.0-dev "
[{gmt_time}      0.251] [basic]  Curl version: libcurl/8.5.0-DEV OpenSSL/3.3.0 zlib/1.3
[{gmt_time}      0.259] [server_api]     ServerAPI::setApiResolutionsSettings {isAutomatic:true; manualAddress:""}
[{gmt_time}      0.260] [best_location]  No saved best location in settings
[{gmt_time}      0.263] [basic]  DpiScaleManager::setMainWindow -> no DPI or pixel ratio changes
[{gmt_time}      0.359] [basic]  ImageResourcesSvg::run() - all SVGs loaded
sh: -c: line 1: unexpected EOF while looking for matching `''
[{gmt_time}      0.442] [basic]  Firewall state from last app start: false
[{gmt_time}      0.454] [cli_ipc]    IPC server for CLI started
[{gmt_time}      0.470] [firewall_controller]    firewall off
[{gmt_time}     38.864] [basic]  onApiResourcesManagerLoginFailed, retCode = "NO_CONNECTIVITY" ;errorMessage = ""
[{gmt_time}     49.535] [basic]  Backend::cleanup()
[{gmt_time}     49.535] [basic]  Firewall on next startup:  false
[{gmt_time}     49.535] [basic]  Cleanup started
[{gmt_time}     49.535] [basic]  Cleanup, connection manager no need disconnect
sh: -c: line 1: unexpected EOF while looking for matching `''
[{gmt_time}     49.554] [basic]  close main window
[{gmt_time}     49.656] [basic]  stunnel stopped
[{gmt_time}     49.681] [basic]  wstunnel stopped
[{gmt_time}     49.706] [basic]  Cleanup finished
[{gmt_time}     49.706] [basic]  Backend Cleanup Finished
[{gmt_time}     49.714] [basic]  Engine destructor finished
[{gmt_time}     49.716] [cli_ipc]    IPC server for CLI stopped
jaxu commented 8 months ago

I don't think we officially support this distribution -- our RPM packages are intended for Fedora. Although both distros use RPM, the repos differ -- for example, in Fedora, /sbin/route is provided by net-tools while in OpenSUSE it appears to be iproute2. Thus you are missing a dependency here.

You will likely run into other problems -- I'm not sure what's causing the line sh: -c: line 1: unexpected EOF while looking for matching `'' in your log, and attempting to do an in-app update will fail too, since it assumes use of dnf rather than zypper.

sith-on-mars commented 8 months ago

Thank you! I remember that it was working around April 2023 on OpenSUSE Aeon. Back then Windscribe would retry connection for a few times and it usually was able to establish connection after a few attempts.

jaxu commented 8 months ago

I've opened a ticket on our board and we'll see what we can do to resolve this in the 2.10 timeframe.

bernado82 commented 7 months ago

@sith-on-mars

I've never used or installed openSUSE MicroOS. Tumbleweed and Leap are installed on my computers since few years. I've discovered Windscribe in end of 2022. From branch 2.7.x and later versions, Windscribe could no longer be installed on openSUSE without modifying the original RPM package, because some new library dependencies or naming mismatch. This was due to net-tools, which on openSUSE requires the addition of the net-tools-deprecated package, as well as some package names that had to be renamed for their equivalence on openSUSE (the original installation package supplied by Windscribe being intended ONLY for Fedora/CentOS).

As a Windscribe user on Tumbleweed had asked in 2023 for help installing version 2.7.14, I've proposed a compatible RPM package, recreated with RPMRebuild. This allowed me to discover where the problem was in the specfile.

I had to rename 15 package's name from original RPM (Fedora/CentOS) to openSUSE equivalence, delete 2 lines with libglvnd-glx & libglvnd-opengl and to add 1 IMPORTANT line with net-tools-deprecated package (exemple for stable version 2.9.9):

[Fedora/CentOS]                      [openSUSE Tumbleweed/Leap]

Requires: dbus-libs             ----> Requires: libdbus-1-3
Requires: freetype              ----> Requires: libfreetype6
Requires: libX11                ----> Requires: libX11-6
Requires: libglvnd-egl          ----> Requires: libglvnd

Requires: libglvnd-glx          <---- line to remove because libglvnd = libglvnd-egl + libglvnd-glx + libglvnd-opengl
Requires: libglvnd-opengl       <---- line to remove because libglvnd = libglvnd-egl + libglvnd-glx + libglvnd-opengl

Requires: libstdc++             ----> Requires: libstdc++6
Requires: libxcb                ----> Requires: libxcb1
Requires: libxkbcommon          ----> Requires: libxkbcommon0

Requires: net-tools-deprecated  <---- IMPORTANT line to add (package for ifconfig, netstat and route utilities)

Requires: procps-ng             ----> Requires: procps
Requires: shadow-utils          ----> Requires: shadow
Requires: systemd-libs          ----> Requires: libsystemd0
Requires: xcb-util-cursor       ----> Requires: libxcb-cursor0
Requires: xcb-util-image        ----> Requires: libxcb-image0
Requires: xcb-util-keysyms      ----> Requires: libxcb-keysyms1
Requires: xcb-util-renderutil   ----> Requires: libxcb-render-util0
Requires: xcb-util-wm           ----> Requires: libxcb-ewmh2

However, adding a dependency for net-tools-deprecated wasn't enough for openSUSE, as ifconfig, netstat & route weren't being located in the same place. The following symbolic links had to be added in specfile to make everything working:

ln -sf /bin/ifconfig /sbin/ifconfig
ln -sf /bin/netstat /sbin/netstat
ln -sf /bin/route /sbin/route

Please note that in version 2.10.2 (alpha), net-tools is no longer required (and net-tools-deprecated isn't required anymore on openSUSE also).

https://www.reddit.com/r/Windscribe/comments/1b3jm0o/windscribe_2102_alpha_for_opensuse_tumbleweed_leap/

I'd also like to know if Windscribe 2.10.2 (alpha) or v2.9.9 can be installed on openSUSE MicroOS with the RPM packages created by RPMRebuild that I've uploaded in my shared folders: https://www.mediafire.com/folder/gzwqisilkz84x/Windscribe

Of course, I advise you to use the recommendations in my "How to rebuild yours.txt" file to create your own RPM package. Use my RPM files only if you don't have the time or ability to do it yourself or compiling from source.

How to fix your problem "No Internet Connectivity on OpenSUSE Aeon" with Windscribe 2.9.6 (alpha)?

# installing net-tools-deprecated package, required for ifconfig, netstat & route utilities
sudo zypper install net-tools-deprecated

# symlinks required for Windscribe 2.7.x to 2.9.x on openSUSE (without them Windscribe'll find none network!)
sudo ln -sf /bin/ifconfig /sbin/ifconfig
sudo ln -sf /bin/netstat /sbin/netstat
sudo ln -sf /bin/route /sbin/route

The following commands will be required after updating from Windscribe v2.9.x to NEW version 2.10.x:

# Removing net-tools-deprecated package not required anymore in v2.10.x
sudo zypper remove net-tools-deprecated

# Deleting previous symlinks that were required for Windscribe 2.7.x to 2.9.x on openSUSE
sudo rm -f /sbin/ifconfig
sudo rm -f /sbin/netstat
sudo rm -f /sbin/route
sith-on-mars commented 7 months ago

@bernado82 Thanks heaps. I was finally able to connect Windscribe with the version 2.10.2. However, the first time connection took quite long time (2 to 3 mins I think). If I reconnected to internet after the first time connection, the connection speed became normal again. I guess this is for another ticket. Closing...

bernado82 commented 7 months ago

I think it happens because Windscribe has been updated OVER a running version. There is no killall or pkill command in installation script for the Windscribe process and windscribe-helper service isn't stopped either. To avoid a slow connection at first launch, reboot the system or uninstall the previous version before updating (uninstall script kill or disable Windscribe process and service).

sith-on-mars commented 7 months ago

@bernado82 it worked after I reinstall Windscribe. You're a champion!