1 364f10db 2021-01-17 op #!/usr/bin/env python3
3 364f10db 2021-01-17 op # GeminiGet, aka gg
4 364f10db 2021-01-17 op # USAGE: ./gg path [port]
9 364f10db 2021-01-17 op import urllib.parse
12 364f10db 2021-01-17 op hostname = 'localhost'
13 364f10db 2021-01-17 op path = sys.argv[1]
16 364f10db 2021-01-17 op if len(sys.argv) > 2:
17 364f10db 2021-01-17 op port = int(sys.argv[2])
19 364f10db 2021-01-17 op s = socket.create_connection((hostname, port))
20 364f10db 2021-01-17 op context = ssl.SSLContext()
21 364f10db 2021-01-17 op context.check_hostname = False
22 364f10db 2021-01-17 op context.verify_mode = ssl.CERT_NONE
23 364f10db 2021-01-17 op s = context.wrap_socket(s, server_hostname = hostname)
24 364f10db 2021-01-17 op s.sendall(("gemini://" + hostname + ":" + str(port) + path + "\r\n").encode('UTF-8'))
26 364f10db 2021-01-17 op fp = s.makefile("rb")
27 364f10db 2021-01-17 op for line in fp.read().splitlines():
28 364f10db 2021-01-17 op print(line.decode('UTF-8'))