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.
https://getoutline.org/
Apache License 2.0
8.22k stars 1.35k forks source link

Action `client/electron/start` failed to launch the app #2015

Open Ayubbfs opened 1 month ago

Ayubbfs commented 1 month ago

Application

Outline Client

Describe the bug

I'm working on a VPN project using the go-tun2socks library and encountered an issue where the LWIPStack interface and NewLWIPStack function, referenced in various examples and documentation, appear to be missing in version v1.16.11. Despite searching through the library's source code and running go doc, these identifiers are not found, leading to unresolved compilation errors. I need guidance on the current equivalents or any necessary changes to implement tunneling functionality with the latest version of go-tun2socks.

Steps to reproduce

Attempt to use LWIPStack and NewLWIPStack in a Go project. Run go build and observe the errors for undefined identifiers.

What did you expect to happen?

I expected to be able to use the LWIPStack interface and NewLWIPStack function as described in various examples and documentation of the go-tun2socks library to implement tunneling functionality in my VPN project without encountering any unresolved identifier errors.

What actually happened?

When attempting to use LWIPStack and NewLWIPStack, I encountered compilation errors indicating that these identifiers are undefined in the go-tun2socks package. Despite verifying the import paths and running go doc on the package, these identifiers do not appear to be present.

Outline Version

1.12.2 (474739)

What operation system are you using?

Windows

Operating System Version

Windows 11

Screenshots and Videos

Unfortunately, I don't have a screenshot or video at the moment, but I can provide the exact error messages and a minimal reproducible example if needed.

jyyi1 commented 1 month ago

Hi @Ayubbfs , this seems to be a compilation issue of Go because NewLWIPStack requires a native C compiler. You can use CGO_ENABLED=1 to turn on Cgo for the Go compiler.

Ayubbfs commented 1 month ago

Thanks, @jyyi1 the issue has been fixed!

I do not understand why because I did everything correctly but,

I'm facing issues with my Electron application's preload script on Windows. After running the build and start commands, I get a blank page with the following errors in the console:

  1. The os module is not found.
  2. The preload script can't be loaded.
  3. A Content Security Policy (CSP) warning.
  4. Local resource paths not loading properly.
jyyi1 commented 1 month ago

Hi @Ayubbfs , we are aware of the issue that the start command does not work properly, and we will be providing fixes later. But you should be able to run the binary located at output/client/electron/build after build command.

Let me update the title to reflect this issue.