forked from React-Group/interstellar_ai
Compare commits
No commits in common. "537da9aae5920f2f05c98665819f6cd7daf15aaa" and "ca58be77008d72a843919d9687ac653bc058170e" have entirely different histories.
537da9aae5
...
ca58be7700
3 changed files with 36 additions and 16 deletions
35
py/api.py
35
py/api.py
|
@ -4,6 +4,7 @@ import secrets
|
||||||
import threading
|
import threading
|
||||||
from ai import AI
|
from ai import AI
|
||||||
from db import DB
|
from db import DB
|
||||||
|
from OpenSSL import crypto
|
||||||
|
|
||||||
|
|
||||||
class API:
|
class API:
|
||||||
|
@ -85,6 +86,40 @@ class API:
|
||||||
elif action == "check_credentials":
|
elif action == "check_credentials":
|
||||||
self.db.check_credentials(data)
|
self.db.check_credentials(data)
|
||||||
|
|
||||||
|
email_address = "emailAddress"
|
||||||
|
common_name = "commonName"
|
||||||
|
country_name = "NT"
|
||||||
|
locality_name = "localityName"
|
||||||
|
state_or_province_name = "stateOrProvinceName"
|
||||||
|
organization_name = "organizationName"
|
||||||
|
organization_unit_name = "organizationUnitName"
|
||||||
|
serial_number = 0
|
||||||
|
validity_start_in_seconds = 0
|
||||||
|
validity_end_in_seconds = 10 * 365 * 24 * 60 * 60
|
||||||
|
k = crypto.PKey()
|
||||||
|
k.generate_key(crypto.TYPE_RSA, 4096)
|
||||||
|
cert = crypto.X509()
|
||||||
|
cert.get_subject().C = country_name
|
||||||
|
cert.get_subject().ST = state_or_province_name
|
||||||
|
cert.get_subject().L = locality_name
|
||||||
|
cert.get_subject().O = organization_name
|
||||||
|
cert.get_subject().OU = organization_unit_name
|
||||||
|
cert.get_subject().CN = common_name
|
||||||
|
cert.get_subject().emailAddress = email_address
|
||||||
|
cert.set_serial_number(serial_number)
|
||||||
|
cert.gmtime_adj_notBefore(validity_start_in_seconds)
|
||||||
|
cert.gmtime_adj_notAfter(validity_end_in_seconds)
|
||||||
|
cert.set_issuer(cert.get_subject())
|
||||||
|
cert.set_pubkey(k)
|
||||||
|
cert.sign(k, 'sha512')
|
||||||
|
|
||||||
|
with open("cert.pem", "wt") as f:
|
||||||
|
f.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert).decode("utf-8"))
|
||||||
|
|
||||||
|
with open("key.pem", "wt") as f:
|
||||||
|
f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k).decode("utf-8"))
|
||||||
|
|
||||||
|
ssl_context = ("cert.pem", "key.pem")
|
||||||
self.app.run(debug=True, host='0.0.0.0', port=5000)
|
self.app.run(debug=True, host='0.0.0.0', port=5000)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,4 @@ ollama
|
||||||
mistralai
|
mistralai
|
||||||
openai
|
openai
|
||||||
anthropic
|
anthropic
|
||||||
pyOpenSSL
|
pyOpenSSL
|
||||||
SpeechRecognition
|
|
||||||
PocketSphinx
|
|
||||||
google-cloud-speech
|
|
||||||
google-generativeai
|
|
11
py/voice.py
11
py/voice.py
|
@ -1,11 +0,0 @@
|
||||||
import speech_recognition as sr
|
|
||||||
|
|
||||||
|
|
||||||
class VoiceRecognition:
|
|
||||||
@staticmethod
|
|
||||||
def basic_recognition(audio, option):
|
|
||||||
r = sr.Recognizer()
|
|
||||||
if option == "online":
|
|
||||||
return r.recognize_google_cloud(audio)
|
|
||||||
if option == "offline":
|
|
||||||
return r.recognize_sphinx(audio)
|
|
Loading…
Reference in a new issue