outline-apps icon indicating copy to clipboard operation
outline-apps copied to clipboard

I made it work on arch linux. Leaving this here for others.

Open tracure1337 opened this issue 1 year ago • 3 comments

  1. git clone https://github.com/Jigsaw-Code/outline-client
  2. cd outline-client
  3. npm install --local
  4. npm run action tools/outline_proxy_controller/build
  5. cd tools/outline_proxy_controller/dist
  6. cp OutlineProxyController /usr/local/sbin/OutlineProxyController

Then copy this arch linux script to tools/outline_proxy_controller/build/install_arch_service.sh

And run it like $ sudo install_arch_service.sh

#!/bin/bash

set -eux

readonly PREFIX=/usr
readonly SERVICE_DIR=/etc/systemd/system
readonly SERVICE_NAME=outline_proxy_controller.service
readonly GROUP_NAME=outlinevpn
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"

# Create outlinevpn group
groupadd -f "${GROUP_NAME}"
if id "${1}" &>/dev/null; then
  usermod -aG "${GROUP_NAME}" "${1}"
  echo "user ${1} has been added to ${GROUP_NAME} group"
else
  echo "warn: no user will be added to ${GROUP_NAME} group" >&2
fi

# Copy/update the service's files.
cp -f "${SCRIPT_DIR}/OutlineProxyController" "${PREFIX}/bin"
cp -f "${SCRIPT_DIR}/${SERVICE_NAME}" "${SERVICE_DIR}/"

# Replace "--owning-user-id" argument in ".service" file with the actual user
if id "${1}" &>/dev/null; then
  owneruid="$(id -u "${1}")"
  sed -i "s/--owning-user-id=-1/--owning-user-id=${owneruid}/g" "${SERVICE_DIR}/${SERVICE_NAME}"
fi

# (Re-)start the service.
systemctl daemon-reload
systemctl enable "${SERVICE_NAME}"
systemctl restart "${SERVICE_NAME}"

# Sleep for a couple of seconds before exiting.
sleep 2

I am able to run the outline client and it connects.

The only weirdness seems that I get reconnected all the time. Will investigate this further when I have time.

the outline-manager and client work as app images without any issues so far.

tracure1337 avatar Jan 28 '24 12:01 tracure1337

Thanks for the contribution! I would be more than happy to review your pull request, if you wanted to link this as a workaround in the linux documentation.

Also, I went ahead and linked your solution to our Arch Linux Support ticket here: https://github.com/Jigsaw-Code/outline-client/issues/1685.

daniellacosse avatar Jan 29 '24 16:01 daniellacosse

No way! Now it actually works on my Debian.

Thanks a lot!

I'd also like to say that the Outline Client didn't work on these Linux setups:

  • Arch on my friend's laptop;
  • Void on my laptop (it won't work even with this fix because it uses runit instead of systemd);
  • Debian on my PC.

The only setup where Outline Client worked on was Fedora on my PC. And also Debian on my PC after using this fix.

qo avatar Mar 09 '24 11:03 qo

The only weirdness seems that I get reconnected all the time. Will investigate this further when I have time.

Also, constantly reconnects, impossible to use.

adequacy1 avatar Jul 20 '24 09:07 adequacy1