Metadata-Version: 2.5
Name: wow-client
Version: 0.0.12
Summary: WoW VPN client: TLS tunnel to the server with a local TUN device
Project-URL: Documentation, https://github.com/zaf-x/WoW#readme
Project-URL: Issues, https://github.com/zaf-x/WoW/issues
Project-URL: Source, https://github.com/zaf-x/WoW
Author-email: zaf-x <baoshuwen2013@outlook.com>
License-Expression: MIT
License-File: LICENSE.txt
Keywords: client,tun,tunnel,vpn
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: rich
Requires-Dist: wow-common
Description-Content-Type: text/markdown

# wow-client

[![PyPI - Version](https://img.shields.io/pypi/v/wow-client.svg)](https://pypi.org/project/wow-client)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/wow-client.svg)](https://pypi.org/project/wow-client)

[English](https://github.com/zaf-x/WoW/blob/main/wow-client/README.md) | [中文](https://github.com/zaf-x/WoW/blob/main/wow-client/README.zh-CN.md)

The client for the [WoW VPN](https://github.com/zaf-x/WoW#readme): connects to the server over
TLS, authenticates with a 128-bit token, sets up a local TUN device and
routes traffic through the tunnel. A live status panel shows transfer
rates and client↔server / client↔internet latency.

Requires Linux and root (TUN device + raw ICMP socket for the latency
probe).

## Usage

```bash
# connect directly (trust a custom CA with -c ca.pem)
sudo wow-client start -s vpn.example.com -p 9999 -t <32-hex-chars>

# save servers as named profiles, then pick one interactively
sudo wow-client save myserver -s vpn.example.com -p 9999 -t <32-hex-chars>
sudo wow-client launch
```

> If `sudo` reports `wow-client: command not found`, the binary lives
> outside sudo's PATH (e.g. a pipx or `--user` install in `~/.local/bin`) —
> run `sudo "$(which wow-client)" ...` instead.

Profiles are stored in `$XDG_CONFIG_HOME/wow-client/config.json`
(`~/.config/wow-client/config.json` by default), readable only by the
owner.

## Install

```bash
pip install .
```

## License

`wow-client` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
