Skip to main content

V2Kit: A Lightweight Toolkit for V2Ray Config Manipulation


built with Python3 GitHub repo size PyPI version

Overview

V2Kit is a lightweight and extensible Python toolkit for working with V2Ray proxy configurations and subscriptions. It provides a clean API for common operations such as protocol detection, configuration validation, config relabeling, and subscription encoding/decoding. The project is designed with simplicity, predictability, and composability in mind, making it suitable for automation scripts, proxy pipelines, networking tools, and future extensions around V2Ray ecosystem utilities.

PyPI Counter
Github Stars
Branch main dev
CI
Code Quality CodeFactor

Installation

Source Code

PyPI

Supported Protocols

V2Kit currently supports the following protocols:

Protocol Detection Parsing Relabeling Config Model
VMESS
VLESS
Trojan
Shadowsocks
SOCKS
HTTP

Usage

URI Utilities

from v2kit import (
    decode_subscription,
    encode_subscription,
    is_vmess,
    parse,
    relabel,
)

uri = "vmess://eyJhZGQiOiIxMjcuMC4wLjEiLCJwcyI6Im9sZCJ9"

new_uri = relabel(uri, "Germany-1")

if is_vmess(new_uri):
    print("VMESS URI detected")

config = parse(new_uri)

config.update_label("Germany-2")

subscription = encode_subscription([config])

uris = decode_subscription(subscription)

Configs

from v2kit import VMESSConfig

config = VMESSConfig(
    uuid="550e8400-e29b-41d4-a716-446655440000",
    address="example.com",
    port=443,
    label="Germany-1",
)

uri = config.to_uri()

Issues & Bug Reports

Just fill an issue and describe it. We'll check it ASAP!

  • Please complete the issue template

Show Your Support

Star This Repo

Give a ⭐️ if this project helped you!

Donate to Our Project

Bitcoin

1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy

Ethereum

0xcD4Db18B6664A9662123D4307B074aE968535388

Litecoin

Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ

Doge

DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh

Tron

TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7

Ripple

rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq

Binance Coin

bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef

Tether

0xcD4Db18B6664A9662123D4307B074aE968535388

Dash

Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s

Stellar

GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL

Zilliqa

zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5

Coffeete

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

0.5 - 2026-07-31

Added

  • encoded_label property
  • uri_label property

Changed

  • encode_subscription function modified
  • parse function modified
  • extra property modified
  • update_extra method modified
  • to_uri method modified
  • to_dict method modified
  • Protocol enum updated
  • Scheme bug fixed
  • VMESS parser bug fixed
  • Test system modified

0.4 - 2026-07-02

Added

  • HttpConfig class

Changed

  • parse function modified
  • README.md updated
  • Test system modified

0.3 - 2026-06-16

Added

  • Logo
  • SocksConfig class
  • is_socks function

Changed

  • README.md updated
  • Test system modified
  • Dependencies structure modified
  • All config models moved to models folder

0.2 - 2026-06-04

Added

  • VMESSConfig class
  • VLESSConfig class
  • TrojanConfig class
  • ShadowsocksConfig class
  • V2kitError class
  • V2kitValidationError class
  • V2kitParseError class
  • parse function

Changed

  • README.md updated
  • Test system modified
  • is_vmess function config parameter renamed to uri
  • is_vless function config parameter renamed to uri
  • is_trojan function config parameter renamed to uri
  • is_shadowsocks function config parameter renamed to uri
  • encode_subscription function configs parameter renamed to entries

0.1 - 2026-05-16

Added

  • is_vmess function
  • is_vless function
  • is_trojan function
  • is_shadowsocks function
  • relabel function
  • encode_subscription function
  • decode_subscription function

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

v2kit-0.5.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

v2kit-0.5-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file v2kit-0.5.tar.gz.

File metadata

  • Download URL: v2kit-0.5.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for v2kit-0.5.tar.gz
Algorithm Hash digest
SHA256 f7ea8271fb96ed36f1ec57c0d984ebc056c36524f0a68e8f69164d708cd17240
MD5 6add81c56bba5a16346d8a1ab8e06544
BLAKE2b-256 ee3d4456e6d71d2784c04838a5e1c2c74b55974d0af237d0b95941858fa9fdda

See more details on using hashes here.

File details

Details for the file v2kit-0.5-py3-none-any.whl.

File metadata

  • Download URL: v2kit-0.5-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for v2kit-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a7edd3055b05a7dd557b2b4b4e2db02f9bb670be64682b09012d4ad4a452fb8a
MD5 6b3004f3b1b1a2c25b5f6ee20a0ae265
BLAKE2b-256 a9840ad6759ca1381162718ddb191e59198a6b120bfa2bd21c80038d02d2f9b0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5 This release

2 files

0.4

2 files

0.3

2 files

0.2

2 files

0.1

2 files

0.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page