Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from socket import *
- import threading
- from _thread import *
- import os
- config = open("config.conf", "r")
- config_list = config.read().splitlines()
- config.close()
- web_dir = config_list[3]
- main = config_list[2]
- def handler(clientsock,addr):
- while 1:
- os.chdir(web_dir)
- #try:
- data = clientsock.recv(BUFSIZ)
- #except ConnectionResetError:
- #print("[*]", ADDR, "disconnected or lost connection")
- #exit()
- data = str(data, encoding='UTF8')
- print(ADDR, ":", data)
- if not data:
- break
- request = data.split()
- if request[0] == "GET":
- req_file = request[1]
- if req_file == "/":
- req_file = main
- file_list = os.listdir()
- if req_file in file_list:
- file = open(req_file, "rb")
- file_data = file.read()
- file.close()
- clientsock.send(file_data)
- print("File found and sent")
- clientsock.close()
- else:
- file = open("404.html", "rb")
- file_data = file.read()
- file.close()
- print("File does not exist")
- clientsock.send(file_data)
- clientsock.close()
- print("[*]"+ADDR, "disconnected")
- clientsock.close()
- if __name__=='__main__':
- print("[*] starting server")
- HOST = 'localhost'
- PORT = 80
- BUFSIZ = 1024
- ADDR = (HOST, PORT)
- print("[*]Server set at", ADDR[0], "on port", ADDR[1])
- serversock = socket(AF_INET, SOCK_STREAM)
- serversock.bind(ADDR)
- print("[*]Starting listening")
- serversock.listen(2)
- print("[*]Awaiting connections")
- while 1:
- clientsock, addr = serversock.accept()
- ADDR = addr[0]
- print('[*]Connection etablished with:', ADDR)
- start_new_thread(handler, (clientsock, addr))
Advertisement
Add Comment
Please, Sign In to add comment