Jigsaw-Code / outline-apps

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.

Home Page:https://getoutline.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Outline client on Fedora 39

SheezZarR opened this issue · comments

Describe the bug
After updating Fedora from 37 to 39 the client hops between 2 states:

  • multiple re-connection attempts for 10-30 seconds followed by;
  • 30-60 seconds of working fine (websites are browse-able etc...).

To reproduce

How can the broken behavior be reproduced?

  1. Install Fedora 37;
  2. Install Outline Client and add working server connection;
  3. Update the distro to newer version.

Expected behavior

What behavior did you expect?

The connection to be established right away and won't be interrupted.
At least more continuous operation.

Screenshots

If applicable, add screenshots to help explain your problem.

Sure, I hope it will help. Here is a recording I have made that illustrates the behavior.

Client system:

  • Outline Client Version [e.g. iOS 1.3.1]
  • Your Operating System: [e.g. iOS 14.2, Windows 10]

Outline Client Version: Version 1.11.0 (468189)
Operating System: Linux fedora 6.5.12-300.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 20 22:44:24 UTC 2023 x86_64 GNU/Linux

Submit feedback

Please submit feedback through the app and label it with this issue number.

List debugging tools for networking? That could help..? Per OS of course.

Additional context

Add any other context about the problem here.

I am using Fedora 39 on two computers and the behavior is the same. I also upgraded the second pc and got the exact same problem (from 37 to 39).

The issue is not with the Outline Server because the android app works just fine with exact same host. There are no such weird shenanigans and the web is browse-able...

Btw, if I ran the app it complained about a missing connection store file. The googled proposals did not helped.

I have tried updating to the latest version - no positive change.

Here is the output from the app:

Outline is starting
loading web app from file:///tmp/.mount_Outling8rDqZ/resources/app.asar/www/index_electron.html?appName=Outline
Could not load active tunnel:  [Error: ENOENT: no such file or directory, open '/home/sheezzarr/.config/Outline/connection_store'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/sheezzarr/.config/Outline/connection_store'
}
Checking for update
Update for version 1.12.1 is not available (latest version: 1.12.1, downgrade is disallowed).
connecting to *******...
using tun2socks to check connectivity
[7797:1209/200113.675273:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[EXIT - tun2socks]: Exited with code 0
UDP support: true
starting routing daemon
tun2socks started
connected to *******
reconnecting to *******
reconnected to *******
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
reconnecting to *******
reconnected to *******
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
reconnecting to *******
reconnected to *******
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
[7797:1209/200121.460970:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[7797:1209/200125.022959:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
reconnecting to *******
reconnected to *******
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
reconnecting to *******
reconnected to *******
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
[EXIT - tun2socks]: Exited with code 0
tun2socks exited with no errors
disconnected from *******

Hi @SheezZarR , sorry about the inconvenience. Due to limited workforce, Outline Client only supports Ubuntu for now. But we have made a simpler Outline CLI that should be compatible to more Linux distros. Would you mind trying that to see whether it works on Fedora? If you are a developer, please also feel free to contribute to it if you meet any problems. Thanks.

@jyyi1. Thanks for reaching out!
I have tested the CLI utility and it works just fine but one caveat.
I have to run the
go run github.com/Jigsaw-Code/outline-sdk/x/examples/outline-cli@latest -transport "ss://<outline-server-access-key>"
under the root otherwise it fails with this error message:
[ERROR] 2023/12/14 13:15:51 failed to create tun device: failed to create TUN/TAP device: ioctl: operation not permitted

@SheezZarR , yes the root account is required in order to configure system routing tables. Outline Client uses some tricks to avoid that, but they're causing issues on Linux distros other than Ubuntu.

Hi @jyyi1 @SheezZarR

If I run go run github.com/Jigsaw-Code/outline-sdk/x/examples/outline-cli@latest -transport "ss://" under the root.

I get the error:
go: downloading github.com/Jigsaw-Code/outline-sdk v0.0.12-0.20240117212550-6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/examples/outline-cli/outline_packet_proxy.go:21:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/examples/outline-cli/outline_device.go:24:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/examples/outline-cli/outline_packet_proxy.go:23:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/examples/outline-cli/outline_device.go:25:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/examples/outline-cli/outline_device.go:26:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/config/shadowsocks.go:25:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/config/config.go:25:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/config/config.go:26:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/config/tls.go:23:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e
/root/go/pkg/mod/github.com/!jigsaw-!code/outline-sdk/x@v0.0.0-20240205193844-52ed380b366a/config/config.go:27:2: github.com/Jigsaw-Code/outline-sdk@v0.0.12-0.20240117212550-6cd87709dc1e: invalid version: unknown revision 6cd87709dc1e

What could be a problem?

@Sergei-Nikiforov Hello
Does specifying the commit hash work? Like so:

go run github.com/Jigsaw-Code/outline-sdk/x/examples/outline-cli@7294484 -transport "ss://<outline-server-access-key>"

Maybe some sort of a caching issue, idk... Latest tag has always been working for me.
Additionally, you could try to update your go installation or change to 1.20.2 which i currently use and seem to work.

Hi @SheezZarR , it sounds like the CLI is referencing to an invalid version of Outline SDK. Would you please create a new issue here? https://github.com/Jigsaw-Code/outline-sdk/issues , so we will be able to track and fix it in the correct repository. Thanks.

Hi @SheezZarR

Thanks a lot.
The commit hash works:
"go run github.com/Jigsaw-Code/outline-sdk/x/examples/outline-cli@7294484 -transport "ss://<outline-server-access-key>"

However https://www.dnsleaktest.com/ shows the dns leaks.

@Sergei-Nikiforov, glad it has helped. Unfortunately, I can't follow up on the dns issue tho. Would you mind opening an issue there (https://github.com/Jigsaw-Code/outline-sdk/issues)? In regards to the incorrect version that CLI pulls in your case.

@jyyi1 the CLI works fine for me. It references the correct hash/tag. It is @Sergei-Nikiforov that has the issue.

Hi @SheezZarR , @jyyi1

I can't follow up on the dns issue tho. Would you mind opening an issue there (https://github.com/Jigsaw-Code/outline-sdk/issues)? In regards to the incorrect version that CLI pulls in your case.

Done!
CLI is referencing to an invalid version of Outline SDK