v2kit 0.0.0__tar.gz → 0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
v2kit-0.2/AUTHORS.md ADDED
@@ -0,0 +1,12 @@
1
+ # Core Developers
2
+ ----------
3
+ - [@sepandhaghighi](http://github.com/sepandhaghighi)
4
+
5
+
6
+ # Other Contributors
7
+ ----------
8
+ - [ChatGPT](https://chat.openai.com/) ++
9
+
10
+ ++ Graphic designer
11
+
12
+
v2kit-0.2/CHANGELOG.md ADDED
@@ -0,0 +1,41 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+ ## [0.2] - 2026-06-04
9
+ ### Added
10
+ - `VMESSConfig` class
11
+ - `VLESSConfig` class
12
+ - `TrojanConfig` class
13
+ - `ShadowsocksConfig` class
14
+ - `V2kitError` class
15
+ - `V2kitValidationError` class
16
+ - `V2kitParseError` class
17
+ - `parse` function
18
+ ### Changed
19
+ - `README.md` updated
20
+ - Test system modified
21
+ - `is_vmess` function `config` parameter renamed to `uri`
22
+ - `is_vless` function `config` parameter renamed to `uri`
23
+ - `is_trojan` function `config` parameter renamed to `uri`
24
+ - `is_shadowsocks` function `config` parameter renamed to `uri`
25
+ - `encode_subscription` function `configs` parameter renamed to `entries`
26
+ ## [0.1] - 2026-05-16
27
+ ### Added
28
+ - `is_vmess` function
29
+ - `is_vless` function
30
+ - `is_trojan` function
31
+ - `is_shadowsocks` function
32
+ - `relabel` function
33
+ - `encode_subscription` function
34
+ - `decode_subscription` function
35
+
36
+ [Unreleased]: https://github.com/sepandhaghighi/v2kit/compare/v0.2...dev
37
+ [0.2]: https://github.com/sepandhaghighi/v2kit/compare/v0.1...v0.2
38
+ [0.1]: https://github.com/sepandhaghighi/v2kit/compare/bb5a2cb...v0.1
39
+
40
+
41
+
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 OpenSciLab
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sepand Haghighi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
v2kit-0.2/MANIFEST.in ADDED
@@ -0,0 +1,6 @@
1
+ include LICENSE
2
+ include *.md
3
+ include *.spec
4
+ include *.txt
5
+ include *.yml
6
+ include *.ini
v2kit-0.2/PKG-INFO ADDED
@@ -0,0 +1,244 @@
1
+ Metadata-Version: 2.4
2
+ Name: v2kit
3
+ Version: 0.2
4
+ Summary: V2Kit: A Lightweight Toolkit for V2Ray Config Manipulation
5
+ Home-page: https://github.com/sepandhaghighi/v2kit
6
+ Download-URL: https://github.com/sepandhaghighi/v2kit/tarball/v0.2
7
+ Author: Sepand Haghighi
8
+ Author-email: me@sepand.tech
9
+ License: MIT
10
+ Project-URL: Source, https://github.com/sepandhaghighi/v2kit
11
+ Keywords: v2ray v2ray-config v2ray-tools vmess vless trojan shadowsocks proxy subscription network
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Natural Language :: English
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Intended Audience :: Developers
24
+ Classifier: Topic :: Utilities
25
+ Classifier: Topic :: Internet
26
+ Classifier: Topic :: Internet :: Proxy Servers
27
+ Requires-Python: >=3.8
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ License-File: AUTHORS.md
31
+ Dynamic: author
32
+ Dynamic: author-email
33
+ Dynamic: classifier
34
+ Dynamic: description
35
+ Dynamic: description-content-type
36
+ Dynamic: download-url
37
+ Dynamic: home-page
38
+ Dynamic: keywords
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: project-url
42
+ Dynamic: requires-python
43
+ Dynamic: summary
44
+
45
+
46
+ <div align="center">
47
+ <h1>V2Kit: A Lightweight Toolkit for V2Ray Config Manipulation</h1>
48
+ <br/>
49
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
50
+ <a href="https://github.com/sepandhaghighi/v2kit"><img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/sepandhaghighi/v2kit"></a>
51
+ <a href="https://badge.fury.io/py/v2kit"><img src="https://badge.fury.io/py/v2kit.svg" alt="PyPI version"></a>
52
+ <a href="https://codecov.io/gh/sepandhaghighi/v2kit"><img src="https://codecov.io/gh/sepandhaghighi/v2kit/graph/badge.svg?token=ytuuYF0NmT"></a>
53
+ </div>
54
+
55
+ ## Overview
56
+
57
+ <p align="justify">
58
+ 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.
59
+ </p>
60
+
61
+ <table>
62
+ <tr>
63
+ <td align="center">PyPI Counter</td>
64
+ <td align="center"><a href="http://pepy.tech/project/v2kit"><img src="http://pepy.tech/badge/v2kit"></a></td>
65
+ </tr>
66
+ <tr>
67
+ <td align="center">Github Stars</td>
68
+ <td align="center"><a href="https://github.com/sepandhaghighi/v2kit"><img src="https://img.shields.io/github/stars/sepandhaghighi/v2kit.svg?style=social&label=Stars"></a></td>
69
+ </tr>
70
+ </table>
71
+
72
+
73
+
74
+ <table>
75
+ <tr>
76
+ <td align="center">Branch</td>
77
+ <td align="center">main</td>
78
+ <td align="center">dev</td>
79
+ </tr>
80
+ <tr>
81
+ <td align="center">CI</td>
82
+ <td align="center"><img src="https://github.com/sepandhaghighi/v2kit/actions/workflows/test.yml/badge.svg?branch=main"></td>
83
+ <td align="center"><img src="https://github.com/sepandhaghighi/v2kit/actions/workflows/test.yml/badge.svg?branch=dev"></td>
84
+ </tr>
85
+ </table>
86
+
87
+ <table>
88
+ <tr>
89
+ <td align="center">Code Quality</td>
90
+ <td align="center"><a href="https://app.codacy.com/gh/sepandhaghighi/v2kit/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/c0b30b55e04740b2894fe1aa4eef6589"></a></td>
91
+ <td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/v2kit"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/v2kit/badge" alt="CodeFactor"></a></td>
92
+ </tr>
93
+ </table>
94
+
95
+ ## Installation
96
+
97
+ ### Source Code
98
+ - Download [Version 0.2](https://github.com/sepandhaghighi/v2kit/archive/v0.2.zip) or [Latest Source](https://github.com/sepandhaghighi/v2kit/archive/dev.zip)
99
+ - `pip install .`
100
+
101
+ ### PyPI
102
+
103
+ - Check [Python Packaging User Guide](https://packaging.python.org/installing/)
104
+ - `pip install v2kit==0.2`
105
+
106
+ ## Supported Protocols
107
+
108
+ V2Kit currently supports the following protocols:
109
+
110
+ | Protocol | Detection | Parsing | Relabeling | Config Model |
111
+ | ----------- | --------- | ------- | ---------- | ------------ |
112
+ | VMESS | ✅ | ✅ | ✅ | ✅ |
113
+ | VLESS | ✅ | ✅ | ✅ | ✅ |
114
+ | Trojan | ✅ | ✅ | ✅ | ✅ |
115
+ | Shadowsocks | ✅ | ✅ | ✅ | ✅ |
116
+
117
+
118
+ ## Usage
119
+
120
+ ### URI Utilities
121
+
122
+ ```python
123
+ from v2kit import (
124
+ decode_subscription,
125
+ encode_subscription,
126
+ is_vmess,
127
+ parse,
128
+ relabel,
129
+ )
130
+
131
+ uri = "vmess://eyJhZGQiOiIxMjcuMC4wLjEiLCJwcyI6Im9sZCJ9"
132
+
133
+ new_uri = relabel(uri, "Germany-1")
134
+
135
+ if is_vmess(new_uri):
136
+ print("VMESS URI detected")
137
+
138
+ config = parse(new_uri)
139
+
140
+ config.update_label("Germany-2")
141
+
142
+ subscription = encode_subscription([config])
143
+
144
+ uris = decode_subscription(subscription)
145
+ ```
146
+
147
+ ### Configs
148
+
149
+ ```python
150
+ from v2kit import VMESSConfig
151
+
152
+ config = VMESSConfig(
153
+ uuid="550e8400-e29b-41d4-a716-446655440000",
154
+ address="example.com",
155
+ port=443,
156
+ label="Germany-1",
157
+ )
158
+
159
+ uri = config.to_uri()
160
+ ```
161
+
162
+ ## Issues & Bug Reports
163
+
164
+ Just fill an issue and describe it. We'll check it ASAP!
165
+
166
+ - Please complete the issue template
167
+
168
+ ## Show Your Support
169
+
170
+ <h3>Star This Repo</h3>
171
+
172
+ Give a ⭐️ if this project helped you!
173
+
174
+ <h3>Donate to Our Project</h3>
175
+
176
+ <h4>Bitcoin</h4>
177
+ 1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy
178
+ <h4>Ethereum</h4>
179
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
180
+ <h4>Litecoin</h4>
181
+ Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ
182
+ <h4>Doge</h4>
183
+ DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh
184
+ <h4>Tron</h4>
185
+ TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7
186
+ <h4>Ripple</h4>
187
+ rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq
188
+ <h4>Binance Coin</h4>
189
+ bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef
190
+ <h4>Tether</h4>
191
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
192
+ <h4>Dash</h4>
193
+ Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s
194
+ <h4>Stellar</h4>
195
+ GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL
196
+ <h4>Zilliqa</h4>
197
+ zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5
198
+ <h4>Coffeete</h4>
199
+ <a href="http://www.coffeete.ir/opensource">
200
+ <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;" />
201
+ </a>
202
+
203
+
204
+ # Changelog
205
+ All notable changes to this project will be documented in this file.
206
+
207
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
208
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
209
+
210
+ ## [Unreleased]
211
+ ## [0.2] - 2026-06-04
212
+ ### Added
213
+ - `VMESSConfig` class
214
+ - `VLESSConfig` class
215
+ - `TrojanConfig` class
216
+ - `ShadowsocksConfig` class
217
+ - `V2kitError` class
218
+ - `V2kitValidationError` class
219
+ - `V2kitParseError` class
220
+ - `parse` function
221
+ ### Changed
222
+ - `README.md` updated
223
+ - Test system modified
224
+ - `is_vmess` function `config` parameter renamed to `uri`
225
+ - `is_vless` function `config` parameter renamed to `uri`
226
+ - `is_trojan` function `config` parameter renamed to `uri`
227
+ - `is_shadowsocks` function `config` parameter renamed to `uri`
228
+ - `encode_subscription` function `configs` parameter renamed to `entries`
229
+ ## [0.1] - 2026-05-16
230
+ ### Added
231
+ - `is_vmess` function
232
+ - `is_vless` function
233
+ - `is_trojan` function
234
+ - `is_shadowsocks` function
235
+ - `relabel` function
236
+ - `encode_subscription` function
237
+ - `decode_subscription` function
238
+
239
+ [Unreleased]: https://github.com/sepandhaghighi/v2kit/compare/v0.2...dev
240
+ [0.2]: https://github.com/sepandhaghighi/v2kit/compare/v0.1...v0.2
241
+ [0.1]: https://github.com/sepandhaghighi/v2kit/compare/bb5a2cb...v0.1
242
+
243
+
244
+
v2kit-0.2/README.md ADDED
@@ -0,0 +1,157 @@
1
+ <div align="center">
2
+ <h1>V2Kit: A Lightweight Toolkit for V2Ray Config Manipulation</h1>
3
+ <br/>
4
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
5
+ <a href="https://github.com/sepandhaghighi/v2kit"><img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/sepandhaghighi/v2kit"></a>
6
+ <a href="https://badge.fury.io/py/v2kit"><img src="https://badge.fury.io/py/v2kit.svg" alt="PyPI version"></a>
7
+ <a href="https://codecov.io/gh/sepandhaghighi/v2kit"><img src="https://codecov.io/gh/sepandhaghighi/v2kit/graph/badge.svg?token=ytuuYF0NmT"></a>
8
+ </div>
9
+
10
+ ## Overview
11
+
12
+ <p align="justify">
13
+ 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.
14
+ </p>
15
+
16
+ <table>
17
+ <tr>
18
+ <td align="center">PyPI Counter</td>
19
+ <td align="center"><a href="http://pepy.tech/project/v2kit"><img src="http://pepy.tech/badge/v2kit"></a></td>
20
+ </tr>
21
+ <tr>
22
+ <td align="center">Github Stars</td>
23
+ <td align="center"><a href="https://github.com/sepandhaghighi/v2kit"><img src="https://img.shields.io/github/stars/sepandhaghighi/v2kit.svg?style=social&label=Stars"></a></td>
24
+ </tr>
25
+ </table>
26
+
27
+
28
+
29
+ <table>
30
+ <tr>
31
+ <td align="center">Branch</td>
32
+ <td align="center">main</td>
33
+ <td align="center">dev</td>
34
+ </tr>
35
+ <tr>
36
+ <td align="center">CI</td>
37
+ <td align="center"><img src="https://github.com/sepandhaghighi/v2kit/actions/workflows/test.yml/badge.svg?branch=main"></td>
38
+ <td align="center"><img src="https://github.com/sepandhaghighi/v2kit/actions/workflows/test.yml/badge.svg?branch=dev"></td>
39
+ </tr>
40
+ </table>
41
+
42
+ <table>
43
+ <tr>
44
+ <td align="center">Code Quality</td>
45
+ <td align="center"><a href="https://app.codacy.com/gh/sepandhaghighi/v2kit/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/c0b30b55e04740b2894fe1aa4eef6589"></a></td>
46
+ <td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/v2kit"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/v2kit/badge" alt="CodeFactor"></a></td>
47
+ </tr>
48
+ </table>
49
+
50
+ ## Installation
51
+
52
+ ### Source Code
53
+ - Download [Version 0.2](https://github.com/sepandhaghighi/v2kit/archive/v0.2.zip) or [Latest Source](https://github.com/sepandhaghighi/v2kit/archive/dev.zip)
54
+ - `pip install .`
55
+
56
+ ### PyPI
57
+
58
+ - Check [Python Packaging User Guide](https://packaging.python.org/installing/)
59
+ - `pip install v2kit==0.2`
60
+
61
+ ## Supported Protocols
62
+
63
+ V2Kit currently supports the following protocols:
64
+
65
+ | Protocol | Detection | Parsing | Relabeling | Config Model |
66
+ | ----------- | --------- | ------- | ---------- | ------------ |
67
+ | VMESS | ✅ | ✅ | ✅ | ✅ |
68
+ | VLESS | ✅ | ✅ | ✅ | ✅ |
69
+ | Trojan | ✅ | ✅ | ✅ | ✅ |
70
+ | Shadowsocks | ✅ | ✅ | ✅ | ✅ |
71
+
72
+
73
+ ## Usage
74
+
75
+ ### URI Utilities
76
+
77
+ ```python
78
+ from v2kit import (
79
+ decode_subscription,
80
+ encode_subscription,
81
+ is_vmess,
82
+ parse,
83
+ relabel,
84
+ )
85
+
86
+ uri = "vmess://eyJhZGQiOiIxMjcuMC4wLjEiLCJwcyI6Im9sZCJ9"
87
+
88
+ new_uri = relabel(uri, "Germany-1")
89
+
90
+ if is_vmess(new_uri):
91
+ print("VMESS URI detected")
92
+
93
+ config = parse(new_uri)
94
+
95
+ config.update_label("Germany-2")
96
+
97
+ subscription = encode_subscription([config])
98
+
99
+ uris = decode_subscription(subscription)
100
+ ```
101
+
102
+ ### Configs
103
+
104
+ ```python
105
+ from v2kit import VMESSConfig
106
+
107
+ config = VMESSConfig(
108
+ uuid="550e8400-e29b-41d4-a716-446655440000",
109
+ address="example.com",
110
+ port=443,
111
+ label="Germany-1",
112
+ )
113
+
114
+ uri = config.to_uri()
115
+ ```
116
+
117
+ ## Issues & Bug Reports
118
+
119
+ Just fill an issue and describe it. We'll check it ASAP!
120
+
121
+ - Please complete the issue template
122
+
123
+ ## Show Your Support
124
+
125
+ <h3>Star This Repo</h3>
126
+
127
+ Give a ⭐️ if this project helped you!
128
+
129
+ <h3>Donate to Our Project</h3>
130
+
131
+ <h4>Bitcoin</h4>
132
+ 1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy
133
+ <h4>Ethereum</h4>
134
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
135
+ <h4>Litecoin</h4>
136
+ Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ
137
+ <h4>Doge</h4>
138
+ DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh
139
+ <h4>Tron</h4>
140
+ TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7
141
+ <h4>Ripple</h4>
142
+ rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq
143
+ <h4>Binance Coin</h4>
144
+ bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef
145
+ <h4>Tether</h4>
146
+ 0xcD4Db18B6664A9662123D4307B074aE968535388
147
+ <h4>Dash</h4>
148
+ Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s
149
+ <h4>Stellar</h4>
150
+ GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL
151
+ <h4>Zilliqa</h4>
152
+ zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5
153
+ <h4>Coffeete</h4>
154
+ <a href="http://www.coffeete.ir/opensource">
155
+ <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;" />
156
+ </a>
157
+
v2kit-0.2/SECURITY.md ADDED
@@ -0,0 +1,14 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ | Version | Supported |
6
+ | ------------- | ------------------ |
7
+ | 0.2 | :white_check_mark: |
8
+ | < 0.2 | :x: |
9
+
10
+ ## Reporting a Vulnerability
11
+
12
+ Please report security vulnerabilities by email to [me@sepand.tech](mailto:me@sepand.tech "me@sepand.tech").
13
+
14
+ If the security vulnerability is accepted, a dedicated bugfix release will be issued as soon as possible (depending on the complexity of the fix).
@@ -0,0 +1,6 @@
1
+ pytest>=4.3.1
2
+ pytest-cov>=2.6.1
3
+ setuptools>=40.8.0
4
+ vulture>=1.0
5
+ bandit>=1.5.1
6
+ pydocstyle>=6.3.0
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
v2kit-0.2/setup.py ADDED
@@ -0,0 +1,67 @@
1
+ # -*- coding: utf-8 -*-
2
+ """Setup module."""
3
+ from typing import List
4
+ try:
5
+ from setuptools import setup
6
+ except ImportError:
7
+ from distutils.core import setup
8
+
9
+
10
+ def get_requires() -> List[str]:
11
+ """Read requirements.txt."""
12
+ requirements = open("requirements.txt", "r").read()
13
+ return list(filter(lambda x: x != "", requirements.split()))
14
+
15
+
16
+ def read_description() -> str:
17
+ """Read README.md and CHANGELOG.md."""
18
+ try:
19
+ with open("README.md") as r:
20
+ description = "\n"
21
+ description += r.read()
22
+ with open("CHANGELOG.md") as c:
23
+ description += "\n"
24
+ description += c.read()
25
+ return description
26
+ except Exception:
27
+ return '''V2Kit is a lightweight and extensible Python toolkit for working with V2Ray proxy configurations and subscriptions.
28
+ It provides a clean API for common operations such as protocol detection, configuration validation, config relabeling,
29
+ and subscription encoding/decoding. The project is designed with simplicity, predictability, and composability in mind,
30
+ making it suitable for automation scripts, proxy pipelines, networking tools, and future extensions around V2Ray ecosystem utilities.'''
31
+
32
+
33
+ setup(
34
+ name='v2kit',
35
+ packages=['v2kit'],
36
+ version='0.2',
37
+ description='V2Kit: A Lightweight Toolkit for V2Ray Config Manipulation',
38
+ long_description=read_description(),
39
+ long_description_content_type='text/markdown',
40
+ include_package_data=True,
41
+ author='Sepand Haghighi',
42
+ author_email='me@sepand.tech',
43
+ url='https://github.com/sepandhaghighi/v2kit',
44
+ download_url='https://github.com/sepandhaghighi/v2kit/tarball/v0.2',
45
+ keywords="v2ray v2ray-config v2ray-tools vmess vless trojan shadowsocks proxy subscription network",
46
+ project_urls={
47
+ 'Source': 'https://github.com/sepandhaghighi/v2kit'},
48
+ install_requires=get_requires(),
49
+ python_requires='>=3.8',
50
+ classifiers=[
51
+ 'Development Status :: 3 - Alpha',
52
+ 'Natural Language :: English',
53
+ 'License :: OSI Approved :: MIT License',
54
+ 'Operating System :: OS Independent',
55
+ 'Programming Language :: Python :: 3.8',
56
+ 'Programming Language :: Python :: 3.9',
57
+ 'Programming Language :: Python :: 3.10',
58
+ 'Programming Language :: Python :: 3.11',
59
+ 'Programming Language :: Python :: 3.12',
60
+ 'Programming Language :: Python :: 3.13',
61
+ 'Programming Language :: Python :: 3.14',
62
+ 'Intended Audience :: Developers',
63
+ 'Topic :: Utilities',
64
+ 'Topic :: Internet',
65
+ 'Topic :: Internet :: Proxy Servers',
66
+ ],
67
+ license='MIT')