From 7353bce964f3cb169dada36d5438325ced7b8689 Mon Sep 17 00:00:00 2001 From: Jrohy Date: Fri, 12 Apr 2019 00:51:56 +0800 Subject: [PATCH] support v2rayN quic share link --- Changelog.md | 4 ++++ v2ray_util/__init__.py | 6 ++---- v2ray_util/config_modify/__init__.py | 4 +--- v2ray_util/global_setting/__init__.py | 4 +--- v2ray_util/util_core/__init__.py | 4 +--- v2ray_util/util_core/group.py | 6 +++++- v2ray_util/util_core/trans.py | 17 +++++++++++++++++ v2ray_util/util_core/utils.py | 14 +------------- v2ray_util/util_core/v2ray.py | 4 ++-- 9 files changed, 34 insertions(+), 29 deletions(-) create mode 100644 v2ray_util/util_core/trans.py diff --git a/Changelog.md b/Changelog.md index 87e8c314..9b413997 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +> v3.2.0 +* 修复单独pip安装时因为翻译'_'模块无法使用的问题 +* 支持v2rayN quic vmess分享格式 + > v3.1.0 * 修复翻译错误, 流量统计乱码 diff --git a/v2ray_util/__init__.py b/v2ray_util/__init__.py index 5181ac83..11040358 100644 --- a/v2ray_util/__init__.py +++ b/v2ray_util/__init__.py @@ -1,5 +1,3 @@ -__version__ = '3.1.0' +__version__ = '3.2.0' -from .util_core.utils import i18n_create - -i18n_create() \ No newline at end of file +from .util_core.trans import _ \ No newline at end of file diff --git a/v2ray_util/config_modify/__init__.py b/v2ray_util/config_modify/__init__.py index 7dee9cf8..5a2b0120 100644 --- a/v2ray_util/config_modify/__init__.py +++ b/v2ray_util/config_modify/__init__.py @@ -1,3 +1 @@ -from ..util_core.utils import i18n_create - -i18n_create() \ No newline at end of file +from ..util_core.trans import _ \ No newline at end of file diff --git a/v2ray_util/global_setting/__init__.py b/v2ray_util/global_setting/__init__.py index 7dee9cf8..5a2b0120 100644 --- a/v2ray_util/global_setting/__init__.py +++ b/v2ray_util/global_setting/__init__.py @@ -1,3 +1 @@ -from ..util_core.utils import i18n_create - -i18n_create() \ No newline at end of file +from ..util_core.trans import _ \ No newline at end of file diff --git a/v2ray_util/util_core/__init__.py b/v2ray_util/util_core/__init__.py index 096c2ddf..67745b83 100644 --- a/v2ray_util/util_core/__init__.py +++ b/v2ray_util/util_core/__init__.py @@ -1,3 +1 @@ -from .utils import i18n_create - -i18n_create() \ No newline at end of file +from .trans import _ \ No newline at end of file diff --git a/v2ray_util/util_core/group.py b/v2ray_util/util_core/group.py index f1efe489..152110e4 100644 --- a/v2ray_util/util_core/group.py +++ b/v2ray_util/util_core/group.py @@ -90,6 +90,10 @@ def __init__(self, uuid, alter_id: int, network: str, user_number, *, path=None, self.host = host self.header = header self.quic = quic + if quic: + self.header = quic.header + self.host = quic.security + self.path = quic.key def stream(self): if self.network == "quic": @@ -137,7 +141,7 @@ def link(self, ip, port, tls): "tls": tls } json_data = json.dumps(json_dict) - result_link = "vmess://{}".format(bytes.decode(base64.b64encode(bytes(json_data, 'utf-8')))) if self.network != 'quic' else '' + result_link = "vmess://{}".format(bytes.decode(base64.b64encode(bytes(json_data, 'utf-8')))) return ColorStr.green(result_link) class Group: diff --git a/v2ray_util/util_core/trans.py b/v2ray_util/util_core/trans.py new file mode 100644 index 00000000..fba39cae --- /dev/null +++ b/v2ray_util/util_core/trans.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import os +import sys +import gettext +import pkg_resources + +lang = 'en' +if os.path.exists('/etc/v2ray_util/util.cfg'): + from .config import Config + lang = Config().get_data('lang') +if lang == 'zh': + trans = gettext.translation('lang', pkg_resources.resource_filename('v2ray_util', 'locale_i18n'), languages=['zh_CH']) +else: + trans = gettext.translation('lang', pkg_resources.resource_filename('v2ray_util', 'locale_i18n'), languages=['en_US']) +trans.install() +_ = trans.gettext \ No newline at end of file diff --git a/v2ray_util/util_core/utils.py b/v2ray_util/util_core/utils.py index e29be553..41e168d8 100644 --- a/v2ray_util/util_core/utils.py +++ b/v2ray_util/util_core/utils.py @@ -191,16 +191,4 @@ def open_port(): os.system(input_cmd.format("tcp", port_str)) os.system(input_cmd.format("udp", port_str)) os.system(output_cmd.format("tcp", port_str)) - os.system(output_cmd.format("udp", port_str)) - -def i18n_create(lang=None): - import gettext - if not os.path.exists('/etc/v2ray_util/util.cfg'): - return - if not lang: - from .config import Config - lang = Config().get_data('lang') - if lang == 'zh': - gettext.translation('lang', pkg_resources.resource_filename('v2ray_util', 'locale_i18n'), languages=['zh_CH']).install() - else: - gettext.translation('lang', pkg_resources.resource_filename('v2ray_util', 'locale_i18n'), languages=['en_US']).install() \ No newline at end of file + os.system(output_cmd.format("udp", port_str)) \ No newline at end of file diff --git a/v2ray_util/util_core/v2ray.py b/v2ray_util/util_core/v2ray.py index 0b4987cb..f4b5d2a3 100644 --- a/v2ray_util/util_core/v2ray.py +++ b/v2ray_util/util_core/v2ray.py @@ -64,12 +64,12 @@ def convert(cls): @classmethod def check(cls): + if not os.path.exists("/etc/v2ray_util/util.cfg"): + subprocess.call("mkdir -p /etc/v2ray_util && cp -f {} /etc/v2ray_util/".format(pkg_resources.resource_filename(__name__, 'util.cfg')), shell=True) if not os.path.exists("/usr/bin/v2ray/v2ray"): print(ColorStr.yellow(_("check v2ray no install, auto install v2ray.."))) cls.update() cls.new() - if not os.path.exists("/etc/v2ray_util/util.cfg"): - subprocess.call("mkdir -p /etc/v2ray_util && cp -f {} /etc/v2ray_util/".format(pkg_resources.resource_filename(__name__, 'util.cfg')), shell=True) @classmethod def new(cls):