56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
from uuid import uuid4
|
|
from xmlrpc.server import SimpleXMLRPCServer
|
|
import logging
|
|
import os
|
|
import requests.graphql
|
|
from pygost import gost34112012256
|
|
|
|
|
|
# Expose a function
|
|
def list_contents(dir_name):
|
|
logging.debug('list_contents(%s)', dir_name)
|
|
return os.listdir(dir_name)
|
|
|
|
|
|
def aud_add(message):
|
|
logging.debug(message)
|
|
return 'OK'
|
|
|
|
|
|
def auth_response(challenge, server_id, is_server):
|
|
logging.debug(challenge)
|
|
logging.debug(server_id)
|
|
logging.debug(is_server)
|
|
msg = '%s%s%s' % (challenge, server_id, '12345678')
|
|
response = gost34112012256.new(msg.encode('utf-8')).digest().hex()
|
|
return {'error': False, 'response': response}
|
|
|
|
|
|
def auth_challenge():
|
|
logging.debug('get challenge')
|
|
return uuid4().hex
|
|
|
|
|
|
def main():
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
server = SimpleXMLRPCServer(('0.0.0.0', 9000), logRequests=True)
|
|
server.register_function(list_contents)
|
|
server.register_function(aud_add)
|
|
server.register_function(auth_response)
|
|
server.register_function(auth_challenge)
|
|
try:
|
|
print('Use Control-C to exit')
|
|
server.serve_forever()
|
|
except KeyboardInterrupt:
|
|
print('Exiting')
|
|
|
|
|
|
def test():
|
|
print(requests.graphql.get_classifier())
|
|
# print(requests.graphql.get_catalog())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
#test()
|