Beispiel #1
0
            self.client_config["outbounds"][0]["streamSettings"] = self.config["inbounds"][group.index]["streamSettings"]

        if group.tls == 'tls':
            content = self.config_factory.get_data("domain")
            user_json["address"] = str(content)
            self.client_config["outbounds"][0]["streamSettings"]["tlsSettings"] = {}
        else:
            user_json["address"] = str(get_ip())

    def write(self):
        """
        写客户端配置文件函数
        """
        json_dump = json.dumps(self.client_config,indent=1)
        with open(self.write_path, 'w') as write_json_file:
            write_json_file.writelines(json_dump)

        print("保存成功!({})\n".format(self.write_path))
        

if __name__ == '__main__':
    cs = ClientSelector('生成客户端json')
    client_index = cs.client_index
    group = cs.group

    if group == None:
        exit(-1)
    else:
        cw = ClientWriter(group, client_index)
        cw.transform()
        cw.write()
Beispiel #2
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
from writer import NodeWriter
from selector import ClientSelector
from utils import clean_iptables

cs = ClientSelector('删除user')
client_index = cs.client_index
group = cs.group

if group == None:
    exit(-1)
else:
    print("你选择的user信息:")
    print(group.show_node(client_index))
    choice = input("是否删除y/n:").lower()
    if choice == 'y':
        if len(group.node_list) == 1:
            clean_iptables(group.port)
        nw = NodeWriter()
        nw.del_user(group, client_index)
    else:
        print("撤销删除")
Beispiel #3
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import uuid

from group import Vmess
from writer import ClientWriter
from selector import ClientSelector

cs = ClientSelector('修改uuid')
group = cs.group

if group == None:
    pass
else:
    client_index = cs.client_index
    if type(group.node_list[client_index]) == Vmess:
        print("当前节点UUID为:{}".format(group.node_list[client_index].password))
        choice = input("是否要随机生成一个新的UUID (y/n):").lower()
        if choice == "y":
            new_uuid = uuid.uuid1()
            print("新的UUID为:{}".format(new_uuid))
            cw = ClientWriter(group.tag, group.index, client_index)
            cw.write_uuid(new_uuid)
            print("UUID修改成功!")
        else:
            print("已取消生成新的UUID,未执行任何操作")
    else:
        print("只有vmess协议才能修改uuid!")
Beispiel #4
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from group import Vmess
from writer import ClientWriter
from selector import ClientSelector

cs = ClientSelector('修改alterId')
group = cs.group

if group == None:
    pass
else:
    client_index = cs.client_index
    if type(group.node_list[client_index]) == Vmess:
        print("当前节点alterID: {}".format(group.node_list[client_index].alter_id))
        new_alterid = input("请输入新的alterID: ")
        if (new_alterid.isnumeric()):
            cw = ClientWriter(group.tag, group.index, client_index)
            cw.write_aid(int(new_alterid))
            print("alterID修改成功!")
        else:
            print("输入错误,请检查是否为数字")
    else:
        print("只有vmess协议才能修改alterId!")
Beispiel #5
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from group import Socks
from writer import ClientWriter
from selector import ClientSelector
from utils import is_email

cs = ClientSelector('修改email')
client_index = cs.client_index
group = cs.group
group_list = cs.group_list

if group == None:
    exit(-1)
elif type(group.node_list[0]) == Socks:
    print("Socks5节点 不支持写入email!")
    exit(-1)
else:
    print("当前节点email为:{}".format(group.node_list[client_index].user_info))
    email = ""
    while True:
        is_duplicate_email = False
        email = input("请输入新的email地址: ")
        if email == "":
            break
        if not is_email(email):
            print("不是合格的email格式,请重新输入")
            continue

        for loop_group in group_list:
            for node in loop_group.node_list: