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()
#!/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("撤销删除")
#!/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!")
#!/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!")
#!/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: