Omahub
← All plugins
P

ExpressVPN

by Pieter Geutjens

ExpressVPN status, quick connect, location switching, favorites, and tunnel IP in the Omarchy bar.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
ec5fdf3
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
ec5fdf3
Reviewed
1 month ago

The plugin is a straightforward QML widget that controls ExpressVPN via its CLI. It executes only fixed commands with validated arguments, sanitizes output for display, and does not perform any network operations or data exfiltration. No malicious or obfuscated code was found.

  • Executes external commands (expressvpnctl, ip) with user privileges, but this is expected for a VPN control widget and arguments are properly validated.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/pjgeutjens/omarchy-expressvpn --enable
Widgets #bar #quickshell #security

ExpressVPN for Omarchy

A compact Omarchy Quattro bar widget for checking and toggling ExpressVPN.

ExpressVPN widget preview

  • Left-click opens a status panel with an on/off switch.
  • Right-click connects or disconnects immediately.
  • Middle-click refreshes the status.
  • The bar dot pulses while the connection is changing.
  • Search all ExpressVPN locations in the panel and reconnect to one directly.
  • Connect through ExpressVPN's Smart Location from the always-visible Fastest server row.
  • Star frequently used locations to keep them at the top of the picker.
  • See the active tunnel IP in the panel while connected.
  • Press / to focus location search; navigation keys remain available outside it.

The plugin uses the installed expressvpnctl command and stores no account, activation, or connection credentials.

Requirements

  • Omarchy Quattro
  • The official ExpressVPN Linux application, activated and providing the expressvpnctl command

Install

omarchy plugin add https://github.com/pjgeutjens/omarchy-expressvpn.git
omarchy plugin enable io.github.pjgeutjens.expressvpn

The widget defaults to the right section of the bar. Move it with:

omarchy bar move io.github.pjgeutjens.expressvpn --section right

Branding

The widget resolves the expressvpn desktop icon installed by the official ExpressVPN application. This repository does not redistribute ExpressVPN artwork. ExpressVPN and its logo are trademarks of their respective owner; this independent plugin is not affiliated with or endorsed by ExpressVPN.

One-time ExpressVPN setup

The ExpressVPN GUI must be running, or background mode must be enabled, for a bar plugin to connect while the GUI is closed:

expressvpnctl background enable

Disconnecting works regardless of whether background mode is enabled.

Update

omarchy plugin update

Remove

omarchy plugin remove io.github.pjgeutjens.expressvpn

Local development

Validate the plugin from this repository:

./scripts/validate.sh

Install a local working copy:

plugin_id=io.github.pjgeutjens.expressvpn
plugin_dir="$HOME/.config/omarchy/plugins/$plugin_id"
mkdir -p "$plugin_dir"
rsync -a --delete \
  --exclude .git \
  --exclude .agents \
  --exclude .codex \
  ./ "$plugin_dir/"
omarchy-shell shell rescanPlugins
omarchy plugin enable "$plugin_id"

It can also be controlled through Omarchy Shell IPC:

vpn=io.github.pjgeutjens.expressvpn
omarchy-shell "$vpn" open
omarchy-shell "$vpn" connect
omarchy-shell "$vpn" connectTo belgium
omarchy-shell "$vpn" disconnect
omarchy-shell "$vpn" toggleVpn
omarchy-shell "$vpn" refresh
omarchy-shell "$vpn" status