Kir-Antipov / outline-cli

šŸŒ The Free and Open Internetā„¢ right in your terminal.
MIT License
8 stars 1 forks source link

inconvenient installation and behavior #3

Closed atolstoy closed 10 hours ago

atolstoy commented 5 days ago

I use outline-cli on a daily basis, so first things first, huge thank you for this amazing tool!

However, there are several minor issues or rather inconveniences that I've encountered:

Kir-Antipov commented 4 days ago

Thanks a lot for your kind words! It's always a great joy to see that something you made helps other people :)

As for your questions,

/usr/local/sbin/ is a non-standard prefix that is typically not in PATH in most Linux distros. Why not using /usr/local/bin or $HOME/.local/bin instead?

Technically, it is standard since it's part of the FHS. So, it's strange to me that some distros don't include it in the $PATH by default.

I chose sbin because it literally exists to contain "system binaries," i.e., tools for system administrators that usually require superuser privileges and rarely, if ever, have anything to do with regular users. outline-cli matches that definition quite well. However, usability comes first, so if you are saying that sbin may not be recognized by some distros, I guess there's no harm in moving the whole thing to /usr/local/bin.

add export PATH=/usr/local/sbin:$PATH

I should have used absolute paths within the script from the very start; however, being the complete buffoon that I am, I forgot to tweak that part before the release. I already have a commit that fixes this problem locally.

and change the ownership

What's wrong with the ownership? Aside from the sbin problem, it should work with sudo just fine.

Once I add a server, Outline-cli is always on by default

It's a bug, and I apologize for that! So, outline-cli has three states: connected, disconnected, and temporarily disconnected. The latter status primarily exists for outline-cli to automatically reconnect to the VPN of your choosing in scenarios where your Internet connection drops and is then restored sometime later; but it also has the benefit of maintaining the current connection status between reboots and such. However, because of a typo-level mistake, "disconnect" is also treated as "temporarily disconnect," which is why you are always reconnected to the latest VPN you used. I hadn't noticed this problem myself, because I have a habit of always being connected to one of my VPN servers, aside from a few very close calls like, "Huh? I could have sworn that I disconnected from the server earlier. Welp, I guess I didn't." Thankfully, I fixed this earlier last month, so there's already a commit that addresses this issue (I haven't pushed it yet, as I wanted to tackle ssconf first, but then got caught up with other projects :))

atolstoy commented 3 days ago

Thanks for the detailed response! I'll definitely give outline-cli another try once you update it. Cheers!

Kir-Antipov commented 9 hours ago

All the issues you mentioned have been resolved in v2.0.0 :)

Also, I've finally implemented support for ssconf://, which you were interested in. Funnily enough, it's not supported at the SDK level, but fortunately, it was pretty straightforward to reimplement on my end. Just a few notes on that:

Kir-Antipov commented 9 hours ago

Oh, I almost forgot. Since you mentioned using outline-cli in scripts, I recommend checking out the new Keyboard Shortcuts section in the README (it has applications beyond that).

In short, outline-cli now includes a polkit policy, enabling you to use it with pkexec. I.e., there's no need for sudo anymore for simple tasks like connecting to or disconnecting from a server!