outline-apps
outline-apps copied to clipboard
Linux client not working
$ ./Outline-Client.AppImage
loading web app from file:///tmp/.mount_OutlinK6eLfr/resources/app.asar/www/electron_index.html?appName=Outline
(node:28847) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron. See https://github.com/electron/electron/issues/23506 for more information
Could not load active tunnel: [Error: ENOENT: no such file or directory, open '/home/user/.config/Outline/connection_store'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/user/.config/Outline/connection_store'
}
Checking for update
(electron) Sending uncompressed crash reports is deprecated and will be removed in a future version of Electron. Set { compress: true } to opt-in to the new behavior. Crash reports will be uploaded gzipped, which most crash reporting servers support.
Outline is starting
Update for version 1.4.0 is not available (latest version: 1.4.0, downgrade is disallowed).
connecting to 3f8039ae-83b8-41f7-bdc6-7cc561db272c...
(node:28847) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
UDP support: true
(re-)installing routing daemon
copying service files to /tmp/rPVBsY
[EXIT - badvpn-tun2socks]: Exited with code 1
a helper has exited, disconnecting
could not stop routing: Cannot call write after a stream was destroyed
[EXIT - ss-local]: Exited with code 0
could not connect: h (routing daemon is not running)
Promise "DNS lookup" resolved before 10000 ms
Have the same issue. When manually create directory that doesn't exist (~/.config/Outline/connection_store) and then run outline again I have got following error:
Could not load active tunnel: [Error: EISDIR: illegal operation on a directory, read] {
errno: -21,
code: 'EISDIR',
syscall: 'read'
}
(node:7309) UnhandledPromiseRejectionWarning: Error: EISDIR: illegal operation on a directory, unlink '/home/aborealis/.config/Outline/connection_store'
(node:7309) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
Could not load active tunnel: [Error: EISDIR: illegal operation on a directory, read] {
errno: -21,
code: 'EISDIR',
syscall: 'read'
}
(node:7309) UnhandledPromiseRejectionWarning: Error: EISDIR: illegal operation on a directory, unlink '/home/aborealis/.config/Outline/connection_store'
(node:7309) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
When I connect to remote VPN Server, I have got following:
Failed to set up auto-launch: Cannot save invalid tunnel
Failed to store tunnel.
Promise "DNS lookup" resolved before 10000 ms.
Outline client works for 5-10 minutes, then it stops connecting.
I have Kali linux (last kernel)
This problem exists in the following versions and I tested it.
Ubuntu 20.04 Ubuntu 21.10 Ubuntu 22.04 PopOS 22.04
Please fix this bug.
Fedora 35, AppImage 1.7.0, same reslut.
rocky linux 8.6, AppImage 1.7.0 same result.
Fedora 36, AppImage 1.7.0, same reslut.
Ubuntu 22.04 minimal installation, , AppImage 1.7.0, same result
I've been using Outline for few years now, but last month Ubuntu app (1.7.0) suddenly stopped working, while ios and android apps work fine. For Ubuntu I swiped to https://github.com/nojsja/shadowsocks-electron with existing Outline Server.
Waiting Jigsaw Team to fix original Outline Client for Ubuntu.
I noticed that with original client - route table s broken, maybe some update in systemd or smth else brokes old version.
I had the same bug. The problem appeared after a kernel update. It happens because there is no kernel module TUN. This can be checked with the following command:
$ sudo dmesg | grep TUN
[ 26.091113] tun: Universal TUN/TAP device driver, 1.6
Outline needs to create a TUN interface to work properly.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.31.1 0.0.0.0 UG 304 0 0 wlan0
10.0.85.0 0.0.0.0 255.255.255.0 U 0 0 0 outline-tun0
192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
If you don't get this output, simply reboot and check again.
If it is still missing, add a TUN kernel module and reboot.
sudo modprobe tun
lsmod | grep tun
reboot
I hope it helps.
I had the same bug. The problem appeared after a kernel update. It happens because there is no kernel module TUN. This can be checked with the following command:
$ sudo dmesg | grep TUN [ 26.091113] tun: Universal TUN/TAP device driver, 1.6
Outline needs to create a TUN interface to work properly.
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.31.1 0.0.0.0 UG 304 0 0 wlan0 10.0.85.0 0.0.0.0 255.255.255.0 U 0 0 0 outline-tun0 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
If you don't get this output, simply reboot and check again.
If it is still missing, add a TUN kernel module and reboot.
sudo modprobe tun lsmod | grep tun reboot
I hope it helps.
Thanks!
sudo modprobe tun lsmod | grep tun reboot
Still having the same issue
Distributor ID: Ubuntu Description: Ubuntu 18.04.5 LTS Release: 18.04 Codename: bionic
As a workaround you can recompile the client locally. I've just tried it and it's working just fine on Ubuntu 22.04
- Clone the repo:
git clone [email protected]:Jigsaw-Code/outline-client.git cd outline-client
- Install node 16 (for example using brew)
brew install node@16
- Install all dependencies
npm install
- Build the app
npm run action electron/build linux
- Now you have properly working
Outline-Client.AppImage
and you can run it./build/dist/Outline-Client.AppImage
Having the same issue with BunsenLabs Linux Lithium (a kind of Debian 10)
Distributor ID: Bunsenlabs
Description: BunsenLabs GNU/Linux 10.5 (Lithium)
Release: 10.5
Codename: buster
❯ ./Outline-Client.AppImage --no-sandbox
loading web app from file:///tmp/.mount_OutlineQXUub/resources/app.asar/www/index_electron.html?appName=Outline
(node:2437) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron. See https://github.com/electron/electron/issues/23506 for more information
Could not load active tunnel: [Error: ENOENT: no such file or directory, open '/home/neko/.config/Outline/connection_store'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/neko/.config/Outline/connection_store'
}
Checking for update
Update for version 1.7.0 is not available (latest version: 1.7.0, downgrade is disallowed).
Outline is starting
connecting to 4aa7be74-f9df-4e16-86f0-e84f5cd34e55...
(node:2437) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
UDP support: true
(re-)installing routing daemon
copying service files to /tmp/HYyQ0n
[EXIT - badvpn-tun2socks]: Exited with code 1
a helper has exited, disconnecting
could not stop routing: Cannot call write after a stream was destroyed
[EXIT - ss-local]: Exited with code 0
could not connect: h (routing daemon is not running)
all helpers have exited
disconnected from 4aa7be74-f9df-4e16-86f0-e84f5cd34e55
Promise "DNS lookup" resolved before 10000 ms.
When I clone the repo and build it and run it (as recommended above, the difference is that I already had node 16 and that I have to add --no-sandbox
parameter when running ./build/dist/Outline-Client.AppImage
), I get:
❯ ./build/dist/Outline-Client.AppImage --no-sandbox
Outline is starting
loading web app from file:///tmp/.mount_OutlinL8jS3U/resources/app.asar/www/index_electron.html?appName=Outline
Could not load active tunnel: [Error: ENOENT: no such file or directory, open '/home/neko/.config/Outline/connection_store'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/neko/.config/Outline/connection_store'
}
Checking for update
[5924:0915/205858.444504:ERROR:browser_main_loop.cc(271)] Gdk: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
Error: Error: Cannot find latest-linux.yml in the latest release artifacts (https://github.com/Jigsaw-Code/outline-client/releases/download/windows-v1.7.1/latest-linux.yml): HttpError: 404
"method: GET url: https://github.com/Jigsaw-Code/outline-client/releases/download/windows-v1.7.1/latest-linux.yml\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
Headers: {
"server": "GitHub.com",
"date": "Thu, 15 Sep 2022 13:59:00 GMT",
"content-type": "text/plain; charset=utf-8",
"vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
"permissions-policy": "interest-cohort=()",
"cache-control": "no-cache",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"x-frame-options": "deny",
"x-content-type-options": "nosniff",
"x-xss-protection": "0",
"referrer-policy": "no-referrer-when-downgrade",
"expect-ct": "max-age=2592000, report-uri=\"https://api.github.com/_private/browser/errors\"",
"content-security-policy": "default-src 'none'; base-uri 'self'; connect-src 'self'; form-action 'self'; img-src 'self' data:; script-src 'self'; style-src 'unsafe-inline'",
"content-encoding": "gzip",
"content-length": "29",
"x-github-request-id": "AE42:7154:2C3B505:2D4F4C0:63232FA3"
}
at createHttpError (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15188:12)
at ElectronHttpExecutor.handleResponse (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15290:20)
at ClientRequest.<anonymous> (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15256:26)
at ClientRequest.emit (node:events:526:28)
at ClientRequest.emit (node:domain:475:12)
at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:101:6917)
at SimpleURLLoaderWrapper.emit (node:events:526:28)
at SimpleURLLoaderWrapper.emit (node:domain:475:12)
at Object.newError (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15683:19)
at fetchData (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:24801:50)
at async GitHubProvider.getLatestVersion (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:24808:23)
at async AppImageUpdater.getUpdateInfoAndProvider (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:22381:19)
at async AppImageUpdater.doCheckForUpdates (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:22395:24)
(node:5924) UnhandledPromiseRejectionWarning: Error: Cannot find latest-linux.yml in the latest release artifacts (https://github.com/Jigsaw-Code/outline-client/releases/download/windows-v1.7.1/latest-linux.yml): HttpError: 404
"method: GET url: https://github.com/Jigsaw-Code/outline-client/releases/download/windows-v1.7.1/latest-linux.yml\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
Headers: {
"server": "GitHub.com",
"date": "Thu, 15 Sep 2022 13:59:00 GMT",
"content-type": "text/plain; charset=utf-8",
"vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
"permissions-policy": "interest-cohort=()",
"cache-control": "no-cache",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"x-frame-options": "deny",
"x-content-type-options": "nosniff",
"x-xss-protection": "0",
"referrer-policy": "no-referrer-when-downgrade",
"expect-ct": "max-age=2592000, report-uri=\"https://api.github.com/_private/browser/errors\"",
"content-security-policy": "default-src 'none'; base-uri 'self'; connect-src 'self'; form-action 'self'; img-src 'self' data:; script-src 'self'; style-src 'unsafe-inline'",
"content-encoding": "gzip",
"content-length": "29",
"x-github-request-id": "AE42:7154:2C3B505:2D4F4C0:63232FA3"
}
at createHttpError (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15188:12)
at ElectronHttpExecutor.handleResponse (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15290:20)
at ClientRequest.<anonymous> (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15256:26)
at ClientRequest.emit (node:events:526:28)
at ClientRequest.emit (node:domain:475:12)
at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:101:6917)
at SimpleURLLoaderWrapper.emit (node:events:526:28)
at SimpleURLLoaderWrapper.emit (node:domain:475:12)
at Object.newError (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:15683:19)
at fetchData (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:24801:50)
at async GitHubProvider.getLatestVersion (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:24808:23)
at async AppImageUpdater.getUpdateInfoAndProvider (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:22381:19)
at async AppImageUpdater.doCheckForUpdates (/tmp/.mount_OutlinL8jS3U/resources/app.asar/build/electron/electron/index.js:22395:24)
(Use `outline-client --trace-warnings ...` to show where the warning was created)
(node:5924) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
connecting to 4aa7be74-f9df-4e16-86f0-e84f5cd34e55...
(node:5924) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
UDP support: true
could not connect: SystemConfigurationException (routing daemon is not running)
disconnecting from libev badvpn tunnel...
disconnected from libev badvpn tunnel
a helper has exited, disconnecting
disconnecting from libev badvpn tunnel...
disconnected from libev badvpn tunnel
[EXIT - ss-local]: Exited with code 0
[EXIT - badvpn-tun2socks]: Killed by signal SIGTERM
all helpers have exited
disconnected from 4aa7be74-f9df-4e16-86f0-e84f5cd34e55
installing outline routing service...
copying service installation files to /tmp/veEZMl
all service installation files copied to /tmp/veEZMl successfully
trying to run command as root: trap "/usr/bin/chattr -R -i /tmp/veEZMl" EXIT; /usr/bin/chattr -R +i /tmp/veEZMl && /usr/bin/echo "c5b8e60605735ff090049571dae20c5de05fe54f4291ebe7ddaedcd21353e7c9 /tmp/veEZMl/install_linux_service.sh" | /usr/bin/shasum -a 256 -c && /usr/bin/echo "544a51b766f2cf1b8dca5c9d4a1fa0a6d21a5e1dd0e403b36842461ed56d3589 /tmp/veEZMl/OutlineProxyController" | /usr/bin/shasum -a 256 -c && /usr/bin/echo "f3bf6ae04c68d6070bf2ad7e495e9e6951e4ccdcde94e3bdd38e80edcf6aa367 /tmp/veEZMl/outline_proxy_controller.service" | /usr/bin/shasum -a 256 -c && "/tmp/veEZMl/install_linux_service.sh"
/tmp/veEZMl/install_linux_service.sh: OK
/tmp/veEZMl/OutlineProxyController: OK
/tmp/veEZMl/outline_proxy_controller.service: OK
outline routing service installed successfully
, but it still remains 'OFFLINE'.
I'm having the same error in Linux Mint 20.3, AppImage 1.7.0
Same here, under Manjaro! : AppImage 1.8.0
In my case for some reason i was not in the outlinevpn
group.
Added to the group.
Rebooted.
It works.
I have the same problem. OS: Ubuntu 20.04.5
connecting to 08d10bf6-1214-7c2b-2372-67896416fbdd...
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
UDP support: true
could not connect: Error ()
Error occurred in handler for 'outline-ipc-start-proxying': Error: unknown NativeError Error
at t.toErrorCode (/tmp/.mount_OutlintgWEwW/resources/app.asar/build/electron/electron/index.js:2:451362)
at /tmp/.mount_OutlintgWEwW/resources/app.asar/build/electron/electron/index.js:2:438052
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async node:electron/js2c/browser_init:189:563
[EXIT - tun2socks]: Killed by signal SIGTERM
tun2socks terminated due to Error: Process terminated by signal: SIGTERM
could not stop routing: Write failed
disconnected from 08d10bf6-1214-7c2b-2372-67896416fbdd
Same with version 1.8.1
I'm using the latest outline appimage on Debian 11 and 12
-
I start the app
-
Then I click on connect
-
The app asks for my root password
-
I enter the password and then the app says "Initializing Outline..Outline has been successfully initialized. please try again to conenct to the server" and that's it.. connecting again doesn't seem to be working
The server is running on Debian 11. Windows and android apps work fine.
PS It looks you need to reboot your PC to make the app working.. The devs should have specified it in the app description tbh..
I try to run outline-client on Linux Mint 21.1 and I have same problem (I can not connect to actuel key). I tried to do it:
As a workaround you can recompile the client locally. I've just tried it and it's working just fine on Ubuntu 22.04
- Clone the repo:
git clone [email protected]:Jigsaw-Code/outline-client.git cd outline-client
In this step, I was only able to do using this: git clone https://github.com/Jigsaw-Code/outline-client.git cd outline-client
2. Install node 16 (for example using brew)
brew install node@16
Here I did: sudo apt-get install nodejs
- Install all dependencies
npm install
Here I did: sudo npm install -g [email protected] without it, there is an error: Unsupported engine
- Build the app
npm run action electron/build linux
Here I have the error:
[email protected] action node ./src/build/run_action.mjs "electron/build" "linux" file:///home/dima/outline-client/src/build/run_action.mjs:96 if (error?.message) { ^ SyntaxError: Unexpected token '.' at Loader.moduleStrategy (internal/modules/esm/translators.js:133:18) at async link (internal/modules/esm/module_job.js:42:21)
Where is my mistake?
I did it! I had to install the old version of node-v16.13.0-linux-x64 After that, everything gathered and now works! Thanks https://github.com/Friend-LGA for the idea!
I have the same issue in Ubuntu 22.04.
This is an issue about a very old version of the client, that was still using shadowsocks-libev. The client no longer uses it. If there's a new issue, please file a new one.