Skip to content

Instantly share code, notes, and snippets.

@pnck
Forked from akorobov/ipv6-httpd.py
Last active November 9, 2018 03:58
Show Gist options
  • Save pnck/7a861caea9533307262b7ad6063f6434 to your computer and use it in GitHub Desktop.
Save pnck/7a861caea9533307262b7ad6063f6434 to your computer and use it in GitHub Desktop.
quick ipv6 http server using python's SimpleHttpServer
import http.server
from http.server import SimpleHTTPRequestHandler
import socketserver
import socket
import sys
class MyHandler(SimpleHTTPRequestHandler):
def do_GET(self):
if self.path == '/__ip__':
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(('Your IP address is %s' % self.client_address[0]).encode('utf8'))
return
else:
return SimpleHTTPRequestHandler.do_GET(self)
class HTTPServerV6(http.server.HTTPServer):
address_family = socket.AF_INET6
def main():
if len(sys.argv) <= 1:
server = HTTPServerV6(('::', 8000), MyHandler)
server.serve_forever()
else:
server = HTTPServerV6((sys.argv[1], sys.argv[2]), MyHandler)
server.serve_forever()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment