parent
f454f3f8bb
commit
ad3c74fa0b
@ -0,0 +1,84 @@
|
||||
#
|
||||
# _ __ ,---. .-._ _,.---._ ,---.
|
||||
# .-`.' ,`..--.' \ /==/ \ .-._ _,..---._ ,-.' , - `. .-.,.---. .--.' \
|
||||
# /==/, - \==\-/\ \ |==|, \/ /, /==/, - \ /==/_, , - \ /==/ ` \ \==\-/\ \
|
||||
# |==| _ .=. /==/-|_\ | |==|- \| ||==| _ _\==| .=. |==|-, .=., |/==/-|_\ |
|
||||
# |==| , '=',\==\, - \ |==| , | -||==| .=. |==|_ : ;=: - |==| '=' /\==\, - \
|
||||
# |==|- '..'/==/ - ,| |==| - _ ||==|,| | -|==| , '=' |==|- , .' /==/ - ,|
|
||||
# |==|, | /==/- /\ - \|==| /\ , ||==| '=' /\==\ - ,_ /|==|_ . ,'./==/- /\ - \
|
||||
# /==/ - | \==\ _.\=\.-'/==/, | |- ||==|-, _`/ '.='. - .' /==/ /\ , )==\ _.\=\.-'
|
||||
# `--`---' `--` `--`./ `--``-.`.____.' `--`--'' `--`-`--`--' `--`
|
||||
#
|
||||
# VERSION 0.75
|
||||
#
|
||||
# POST and GET kinda implemented
|
||||
# You gonna need to run PANDORA from the root of the project
|
||||
# That you're serving
|
||||
# Otherwhise its not gonna work
|
||||
#
|
||||
#
|
||||
# TODO:
|
||||
# Serve specific folders/files
|
||||
# Change dinamically the host
|
||||
# SSL integration
|
||||
|
||||
import http.server
|
||||
import socket
|
||||
import socketserver
|
||||
from io import BytesIO
|
||||
import ssl # For future implementation with Openssl
|
||||
|
||||
PORT = 8040 # Define the standard port
|
||||
HOST = 'localhost' # Define the standard host
|
||||
Request = http.server.SimpleHTTPRequestHandler # Simple http request handler, it commits all files and directories within the SelfHost.py folder
|
||||
SERVE = '/deploy' # Main folder to serve
|
||||
TEST = '/test' # Test folder
|
||||
|
||||
class Pandora():
|
||||
def Logo():
|
||||
logo = open('etc/logo.txt', 'r')
|
||||
for line in logo.readlines():
|
||||
print(line, end = '')
|
||||
|
||||
|
||||
def Ssl():
|
||||
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
|
||||
context.load_cert_chain(certfile='YOUR CERT')
|
||||
bindsocket = socket.socket()
|
||||
bindsocket.bind('', 2099)
|
||||
bindsocket.listen(5)
|
||||
|
||||
def GET(self): # Shitty implementation of GET request
|
||||
self.sendResponse(200) # Average time response in MS
|
||||
self.endHeaders()
|
||||
self.wfile.write('GET REQUEST')
|
||||
|
||||
def POST(self): # Shitty implementation of POST request
|
||||
contentLength = int(self.headers['Content Length'])
|
||||
body = self.rfile.read(contentLength)
|
||||
self.sendResponse(200) # Average time response in MS
|
||||
self.endHeaders()
|
||||
response = BytesIO()
|
||||
response.write(b'POST REQUEST SENDED')
|
||||
response.write(b'RECEIVED POST REQUEST ')
|
||||
response.write(body)
|
||||
self.wfile.write(response.getvalue())
|
||||
|
||||
def Server():
|
||||
with socketserver.TCPServer((HOST, PORT), Request) as httpd: # ("host/ip address", desired port), call the resquests from files
|
||||
|
||||
print('\n\nRunning @ ',HOST,':',PORT) # Simply outputs on terminal the port that the server is operating
|
||||
print('Please, open your browser.\n')
|
||||
|
||||
httpd.serve_forever() # Method that simply begins listening and responding to incoming requests
|
||||
|
||||
while socketserver == True:
|
||||
listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
listener.bind((HOST, PORT))
|
||||
listener.listen(1)
|
||||
listener.sendall(httpd)
|
||||
|
||||
# LOOP
|
||||
Logo()
|
||||
Server()
|
||||
@ -1,38 +0,0 @@
|
||||
#
|
||||
# _ __ ,---. .-._ _,.---._ ,---.
|
||||
# .-`.' ,`..--.' \ /==/ \ .-._ _,..---._ ,-.' , - `. .-.,.---. .--.' \
|
||||
# /==/, - \==\-/\ \ |==|, \/ /, /==/, - \ /==/_, , - \ /==/ ` \ \==\-/\ \
|
||||
# |==| _ .=. /==/-|_\ | |==|- \| ||==| _ _\==| .=. |==|-, .=., |/==/-|_\ |
|
||||
# |==| , '=',\==\, - \ |==| , | -||==| .=. |==|_ : ;=: - |==| '=' /\==\, - \
|
||||
# |==|- '..'/==/ - ,| |==| - _ ||==|,| | -|==| , '=' |==|- , .' /==/ - ,|
|
||||
# |==|, | /==/- /\ - \|==| /\ , ||==| '=' /\==\ - ,_ /|==|_ . ,'./==/- /\ - \
|
||||
# /==/ - | \==\ _.\=\.-'/==/, | |- ||==|-, _`/ '.='. - .' /==/ /\ , )==\ _.\=\.-'
|
||||
# `--`---' `--` `--`./ `--``-.`.____.' `--`--'' `--`-`--`--' `--`
|
||||
#
|
||||
# VERSION 0.5
|
||||
#
|
||||
# DO NOT USE IT ON PRODUCTION
|
||||
#
|
||||
|
||||
import http.server
|
||||
import socketserver
|
||||
import socket
|
||||
import ssl # For future implementation with Openssl
|
||||
|
||||
PORT = 8080 # Define the standard port
|
||||
HOST = 'localhost' # Define the standard host
|
||||
Request = http.server.SimpleHTTPRequestHandler # Simple http request handler, it commits all files and directories within the SelfHost.py folder
|
||||
|
||||
with socketserver.TCPServer((HOST, PORT), Request) as httpd: # ("host/ip address", desired port), call the resquests from files
|
||||
|
||||
|
||||
print("Running @ ",HOST,':',PORT) # Simply outputs on terminal the port that the server is operating
|
||||
httpd.serve_forever() # Method that simply begins listening and responding to incoming requests
|
||||
|
||||
while socketserver == True:
|
||||
listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
listener.bind((HOST, PORT))
|
||||
listener.listen(1)
|
||||
listener.sendall(httpd)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue