File size: 2,034 Bytes
020c337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import sys

from mod.project.proxy import tools
from mod.project.proxy.base import StreamRequest, StreamProxy, Message

if "/www/server/panel/class" not in sys.path:
    sys.path.append('/www/server/panel/class')

import public


class TCPProxy(StreamProxy):
    name = 'tcp'

    def __init__(self):
        super().__init__()

    def create(self, request: StreamRequest):
        if self.data.get(request.listen) is not None:
            raise ValueError(Message.Error.exist.format(protocol=request.protocol, port=request.listen))
        self.file_name = '{}.conf'.format(request.listen)
        public.print_log(tools.to_dict(request))
        return StreamProxy.create(self, request)

    def delete(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.delete(self, request)

    def update(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.update(self, request)

    def delete_list(self, request: StreamRequest):
        return StreamProxy.delete_list(self, request)

    def allow(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.allow(self, request)

    def deny(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.deny(self, request)

    def delete_deny(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.delete_deny(self, request)

    def delete_allow(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.delete_allow(self, request)

    def log(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.log(self, request)

    def port(self, request: StreamRequest):
        self.file_name = '{}.conf'.format(request.listen)
        return StreamProxy.port(self, request)