Rafficer / linux-cli-community

Linux command-line client for ProtonVPN. Written in Python.
https://protonvpn.com
GNU General Public License v3.0
1.29k stars 195 forks source link

[Enhancement] Support other inits #351

Open werdahias opened 1 year ago

werdahias commented 1 year ago

Is your feature request related to a problem? Please describe. Running the client on debian testing with openrc fails, because it has a dependency on python3-systemd which can't find systemctl:

protonvpn
Traceback (most recent call last):
  File "/usr/bin/protonvpn", line 11, in <module>
    load_entry_point('protonvpn-gui==1.12.0', 'console_scripts', 'protonvpn')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 486, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2867, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2471, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2477, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/protonvpn_gui/main.py", line 16, in <module>
    from protonvpn_nm_lib.api import protonvpn
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/api.py", line 6, in <module>
    from .core.report import BugReport
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/report/__init__.py", line 1, in <module>
    from .bug import BugReport
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/report/bug.py", line 7, in <module>
    from ..subprocess_wrapper import subprocess
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/subprocess_wrapper.py", line 123, in <module>
    subprocess = SubprocessWrapper() # noqa
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/subprocess_wrapper.py", line 34, in __init__
    self.__ensure_executables_exist()
  File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/subprocess_wrapper.py", line 81, in __ensure_executables_exist
    raise RuntimeError(
RuntimeError: Couldn't find acceptable executables for {'systemctl'}

It's the GUI, but the backend is the same.

Describe the solution you'd like make the dependency on python3-systemd optional

Describe alternatives you've considered Maybe a different python lib (doesn't exist :( )

Additional context OS: debian testing, latest cli /GTK client

Jomosoto commented 1 year ago

You're using the official ProtonVPN client. This repository is an unofficial proton cli that doesn't depend on systemd, so this project might solve your problem