123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- class User {
- constructor() {
- this.username = "";
- this.password = "";
- this.LoginSecret = "";
- }
- }
- class Msg {
- constructor(success, msg, obj) {
- this.success = false;
- this.msg = "";
- this.obj = null;
- if (success != null) {
- this.success = success;
- }
- if (msg != null) {
- this.msg = msg;
- }
- if (obj != null) {
- this.obj = obj;
- }
- }
- }
- class DBInbound {
- constructor(data) {
- this.id = 0;
- this.userId = 0;
- this.up = 0;
- this.down = 0;
- this.total = 0;
- this.remark = "";
- this.enable = true;
- this.expiryTime = 0;
- this.limitIp = 0;
- this.listen = "";
- this.port = 0;
- this.protocol = "";
- this.settings = "";
- this.streamSettings = "";
- this.tag = "";
- this.sniffing = "";
- this.clientStats = ""
- if (data == null) {
- return;
- }
- ObjectUtil.cloneProps(this, data);
- }
- get totalGB() {
- return toFixed(this.total / ONE_GB, 2);
- }
- set totalGB(gb) {
- this.total = toFixed(gb * ONE_GB, 0);
- }
- get isVMess() {
- return this.protocol === Protocols.VMESS;
- }
- get isVLess() {
- return this.protocol === Protocols.VLESS;
- }
- get isTrojan() {
- return this.protocol === Protocols.TROJAN;
- }
- get isSS() {
- return this.protocol === Protocols.SHADOWSOCKS;
- }
- get isSocks() {
- return this.protocol === Protocols.SOCKS;
- }
- get isHTTP() {
- return this.protocol === Protocols.HTTP;
- }
- get address() {
- let address = location.hostname;
- if (!ObjectUtil.isEmpty(this.listen) && this.listen !== "0.0.0.0") {
- address = this.listen;
- }
- return address;
- }
- get _expiryTime() {
- if (this.expiryTime === 0) {
- return null;
- }
- return moment(this.expiryTime);
- }
- set _expiryTime(t) {
- if (t == null) {
- this.expiryTime = 0;
- } else {
- this.expiryTime = t.valueOf();
- }
- }
- get isExpiry() {
- return this.expiryTime < new Date().getTime();
- }
- toInbound() {
- let settings = {};
- if (!ObjectUtil.isEmpty(this.settings)) {
- settings = JSON.parse(this.settings);
- }
- let streamSettings = {};
- if (!ObjectUtil.isEmpty(this.streamSettings)) {
- streamSettings = JSON.parse(this.streamSettings);
- }
- let sniffing = {};
- if (!ObjectUtil.isEmpty(this.sniffing)) {
- sniffing = JSON.parse(this.sniffing);
- }
- const config = {
- port: this.port,
- listen: this.listen,
- protocol: this.protocol,
- settings: settings,
- streamSettings: streamSettings,
- tag: this.tag,
- sniffing: sniffing,
- clientStats: this.clientStats,
- };
- return Inbound.fromJson(config);
- }
- hasLink() {
- switch (this.protocol) {
- case Protocols.VMESS:
- case Protocols.VLESS:
- case Protocols.TROJAN:
- case Protocols.SHADOWSOCKS:
- return true;
- default:
- return false;
- }
- }
- genLink(clientIndex) {
- const inbound = this.toInbound();
- return inbound.genLink(this.address, this.remark, clientIndex);
- }
-
- get genInboundLinks() {
- const inbound = this.toInbound();
- return inbound.genInboundLinks(this.address, this.remark);
- }
- }
- class AllSetting {
- constructor(data) {
- this.webListen = "";
- this.webPort = 2053;
- this.webCertFile = "";
- this.webKeyFile = "";
- this.webBasePath = "/";
- this.sessionMaxAge = "";
- this.expireDiff = "";
- this.trafficDiff = "";
- this.tgBotEnable = false;
- this.tgBotToken = "";
- this.tgBotChatId = "";
- this.tgRunTime = "@daily";
- this.tgBotBackup = false;
- this.tgCpu = "";
- this.xrayTemplateConfig = "";
- this.secretEnable = false;
- this.timeLocation = "Asia/Tehran";
- if (data == null) {
- return
- }
- ObjectUtil.cloneProps(this, data);
- }
- equals(other) {
- return ObjectUtil.equals(this, other);
- }
- }
|