mirror of https://github.com/dnomd343/ProxyC
dnomd343
2 years ago
3 changed files with 121 additions and 2 deletions
@ -0,0 +1,101 @@ |
|||
#!/usr/bin/env python3 |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
from Basis.Filter import rulesFilter |
|||
from Basis.Functions import isHost, isPort |
|||
from Basis.Functions import toInt, toStr, toStrTidy, toBool |
|||
|
|||
secureObject = rulesFilter({ |
|||
'verify': { |
|||
'optional': True, |
|||
'default': True, |
|||
'type': bool, |
|||
'format': toBool, |
|||
'errMsg': 'Invalid verify option' |
|||
} |
|||
}) |
|||
|
|||
originObject = rulesFilter({ |
|||
'type': { |
|||
'type': str, |
|||
'format': toStrTidy, |
|||
'filter': lambda s: s == 'origin', |
|||
'errMsg': 'Invalid Origin stream type' |
|||
}, |
|||
'uot': { |
|||
'optional': True, |
|||
'default': False, |
|||
'type': bool, |
|||
'format': toBool, |
|||
'errMsg': 'Invalid UoT option' |
|||
} |
|||
}) |
|||
|
|||
wsObject = rulesFilter({ |
|||
'type': { |
|||
'type': str, |
|||
'format': toStrTidy, |
|||
'filter': lambda s: s == 'ws', |
|||
'errMsg': 'Invalid WebSocket stream type' |
|||
}, |
|||
'host': { |
|||
'optional': True, |
|||
'default': '', |
|||
'type': str, |
|||
'format': toStrTidy, |
|||
'errMsg': 'Invalid WebSocket host' |
|||
}, |
|||
'path': { |
|||
'optional': True, |
|||
'default': '/ws', |
|||
'type': str, |
|||
'format': lambda s: toStr(s).strip(), |
|||
'errMsg': 'Invalid WebSocket path' |
|||
}, |
|||
'raw': { |
|||
'optional': True, |
|||
'default': False, |
|||
'type': bool, |
|||
'format': toBool, |
|||
'errMsg': 'Invalid raw option' |
|||
}, |
|||
'secure': { |
|||
'optional': True, |
|||
'default': None, |
|||
'allowNone': True, |
|||
'type': secureObject, |
|||
'errMsg': 'Invalid secure options' |
|||
} |
|||
}) |
|||
|
|||
brookObject = rulesFilter({ |
|||
'server': { |
|||
'type': str, |
|||
'format': toStrTidy, |
|||
'filter': isHost, |
|||
'errMsg': 'Invalid server address' |
|||
}, |
|||
'port': { |
|||
'type': int, |
|||
'format': toInt, |
|||
'filter': isPort, |
|||
'errMsg': 'Invalid port number' |
|||
}, |
|||
'passwd': { |
|||
'type': str, |
|||
'format': toStr, |
|||
'errMsg': 'Invalid password content' |
|||
}, |
|||
'stream': { |
|||
'optional': True, |
|||
'default': { |
|||
'type': 'origin' |
|||
}, |
|||
'multiSub': True, |
|||
'type': { |
|||
'origin': originObject, |
|||
'ws': wsObject, |
|||
}, |
|||
'errMsg': 'Invalid Brook stream' |
|||
} |
|||
}) |
Loading…
Reference in new issue