Git Product home page Git Product logo

adguardvpncli's Introduction

AdGuard VPN CLI

Fast, flexible and reliable VPN solution for command-line enthusiasts

Your online safety and anonymity guaranteed by a trusted developer.

Website | Reddit | Twitter | Telegram

Latest release Beta version

Disclaimer

Overview

AdGuard VPN CLI provides a command-line interface for managing VPN connection.

Installation

To install the latest version of AdGuard VPN CLI, run the following command:

Just replace <update_channel> with one of the following values: release, beta, nightly

curl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardVPNCLI/master/scripts/<update_channel>/install.sh | sh -s -- -v

To install a specific version of AdGuard VPN CLI, run the following command:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardVPNCLI/master/scripts/<update_channel>/install.sh)" install.sh -v -V <version_number>

Verify Releases

Inside an archive file there's a small file with .sig extension which contains the signature data. In a hypothetic situation when the binary file inside an archive is replaced by someone, you'll know that it isn't an official release from AdGuard.

To verify the signature, you need to have the gpg tool installed.

First, import the AdGuard public key:

gpg --keyserver 'keys.openpgp.org' --recv-key '28645AC9776EC4C00BCE2AFC0FE641E7235E2EC6'

Then, verify the signature:

gpg --verify /opt/adguardvpn_cli/adguardvpn-cli.sig 

If you use custom installation path, replace /opt/adguardvpn_cli/adguardvpn-cli.sig with the path to the signature file. It should be in the same directory as the binary file.

You'll see something like this:

gpg: assuming signed data in 'adguardvpn-cli'
gpg: Signature made Wed Feb 28 19:24:43 2024 +08
gpg:                using RSA key 28645AC9776EC4C00BCE2AFC0FE641E7235E2EC6
gpg:                issuer "[email protected]"
gpg: Good signature from "AdGuard <[email protected]>" [ultimate]

Check the following:

  • RSA key: must be 28645AC9776EC4C00BCE2AFC0FE641E7235E2EC6;
  • issuer name: must be AdGuard;
  • E-mail address: must be [email protected];

There may also be the following warning:

gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2864 5AC9 776E C4C0 0BCE  2AFC 0FE6 41E7 235E 2EC6

Usage

Run adguardvpn-cli [command] to use the VPN service. Below are the available commands and their options:

General Options

  • -h, --help: Print the help message and exit.
  • --help-all: Expand all help.
  • -v, --version: Display program version information and exit.

Subcommands

Each subcommand has its own set of options. Run adguardvpn-cli [command] --help to see the list of available options.

login

Log in to the VPN service.

  • -u, --username TEXT: Username for login.
  • -p, --password TEXT: Password for login.

logout

Log out from the VPN service.

list-locations

List all available VPN locations.

  • count INT: Number of locations to display, sorted by ping.

connect

Connect to the VPN service.

  • -l, --location TEXT: Specify the location to connect to. Defaults to the last used location.
  • -f, --fastest: Connect to the fastest available location.
  • -v, --verbose: Show log from the VPN service.
  • --no-fork: Do not fork the VPN service to the background.

disconnect

Stop the VPN service.

status

Display the current status of the VPN service.

config

Configure the VPN service with the following subcommands:

  • set-mode: Set the tool to operate in VPN mode (default SOCKS address: 127.0.0.1:1080)
  • set-dns: Set the DNS upstream server
  • set-socks-port: Set the SOCKS port
  • set-system-dns: Set the system DNS servers by CLI VPN App. Available values: on, off
  • set-no-routes: Set the no routes flag. Available values: on, off. If enabled, the VPN service will not add any routes to the system routing table.
  • send-reports: Send crash reports to developers. Available values: on, off
  • set-updates-channel: Set the updates channel. Available channels: stable, beta, nightly
  • show: Show the current configuration

check-update

Check for updates to the VPN service.

update

Update VPN CLI to the latest version from the specified channel.

adguardvpncli's People

Contributors

ameshkov avatar aydinv13 avatar d13410n3 avatar github-actions[bot] avatar sfionov avatar zebrum avatar zzebrum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adguardvpncli's Issues

Can't verify the signature due to unsupported protocol

Please answer the following question for yourself before submitting an issue

  • I checked to make sure that this issue has not already been filed

AdGuard VPN CLI version

1.0

Environment

  • OS:
    Simply Linux x64

Issue Details

Steps to reproduce:

  1. curl -fSsL ...
  2. gpg --keyserver 'keys.openpgp.org' --recv-key '28645AC9776EC4C00BCE2AFC0FE641E7235E2EC6'

Expected Behavior

I don't know what's going to happen

Actual Behavior

gpg: запрашиваю ключ 235E2EC6 с сервера hkp keys.openpgp.org
gpgkeys: key 28645AC9776EC4C00BCE2AFC0FE641E7235E2EC6 can't be retrieved
gpg: не найдено данных формата OpenPGP.
gpg: Всего обработано: 0
gpg: ошибка связи с сервером ключей: keyserver helper general error
gpg: ошибка связи с сервером ключей: неизвестный алгоритм с открытым ключом
gpg: сбой при получении с сервера ключей: неизвестный алгоритм с открытым ключом

Screenshots

Screenshot 1

Additional Information

No response

[positive] Test on Steam Deck

Run curl and commands under Linux in my Steam Deck. It works great!

Adguard distrib:
adguardvpn-cli-0.99.45-linux-x86_64

Linux OS params:
Operating System: SteamOS
Kernel: Linux 6.1.52-valve16-1-neptune-61
Architecture: x86-64
Hardware Vendor: Valve
Hardware Model: Jupiter
Firmware Version: F7A0120
Firmware Date: Fri 2023-12-01

Adguard VPN cli crashes on J4125 CPU

Application version: adguardvpn-cli-0.99.18-linux-x86_64

Problem description:

  • Application crashes on startup
  • Error message: "Illegal instruction (core dumped)"
  • Possible cause: CPU does not support AVX instructions
  • dmesg output:
    traps: adguardvpn-cli[36179] trap invalid opcode ip:68ff20 sp:7ffdae3560b0 error:0 in adguardvpn-cli[400000+b95000]

SSH connections to a server is broken when it runs AG VPN client with default settings

Imagine a situation like this:

  1. I run the VPN client on a cloud server.
  2. It is configured to operate in VPN mode and add routes automatically.
  3. I run adguardvpn-cli connect, it sets up routing rules and it immediately breaks my SSH session to the server.
  4. So incoming SSH connections to the server stay broken.

Can we use some solutions from this thread automatically?
https://www.reddit.com/r/WireGuard/comments/nglt05/ssh_tunnel_breaks_when_connecting_to_vpn/

Mark non-free (premium) locations

Issue Details

When I look at the list of locations to choose the one I will connect to, I cannot distinguish which one is premium and which is not premium. I always want to connect to premium, so give me the ability to distinguish between locations in the list.
Снимок экрана от 2024-05-08 17-42-15

Proposed solution

Improve your software

Alternative solution

Ignore me

Implement Windows support

Please answer the following questions for yourself before submitting a question.

  • I am running the latest version
  • I checked to make sure that this issue has not already been filed

Ask a question

should I be expecting CLI for windows and macOS as well ?

Could socks mode accect proxy redirect from other proxy software?

Please answer the following questions for yourself before submitting a question.

  • I am running the latest version
  • I checked to make sure that this issue has not already been filed

Ask a question

I setup socks mode, but when I setup a proxy to 127.0.0.1:1080. it doesn't work.

root@vultr:~# adguardvpn-cli config show
Current configuration:
	Mode: socks
	Socks port: 1080
	DNS upstream: Default (provided by AdGuard VPN)
	No routes: on
	Set system DNS: off
	Send crash: on
	Update channel: BETA
	Show hints: Default (on)
	Debug logging: on
root@vultr:~# 

Add a command to view license info

Please answer the following questions for yourself before submitting a question.

  • I am running the latest version
  • I checked to make sure that this issue has not already been filed

Ask a question

is there a command to check the remaining traffic on your account?

Support for Windows and macOS ?

Please answer the following questions for yourself before submitting a question.

  • I am running the latest version
  • I checked to make sure that this issue has not already been filed

Ask a question

should I be expecting CLI for windows and macOS as well ?

Apps and sites exclude

Please answer the following questions for yourself before submitting a question.

  • I am running the latest version
  • I checked to make sure that this issue has not already been filed

Ask a question

I wish i have an option to have excluded apps and/or websites like in GUI version. Are you planning to implement this in recent future?

Filter by country code

Issue Details

Enrich the list-locations subcommand by adding a country filter

Proposed solution

Improve the install.sh

Alternative solution

Ignore me

OpenBSD support

As is said in the title, I'd like to request OpenBSD to be added to the list of supported operating systems.

Command-line completion (tab completion / autocompletion)

Issue Details

When I type the adguardvpn-cli subcommand on the command line, I have to type it in full. It's not very user friendly. For example, this is how I suffer:

adguardvpn_cli_issue.webm

Please allow me to use your command-line VPN client the same way I use grep:

grep_example.webm

Proposed solution

Improve the install.sh

Alternative solution

Ignore me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.