瀏覽代碼

Add option to disable the settings page

RichardG867 5 年之前
父節點
當前提交
a195b30b4c
共有 2 個文件被更改,包括 16 次插入5 次删除
  1. 4 1
      config.py
  2. 12 4
      waybackproxy.py

+ 4 - 1
config.py

@@ -9,7 +9,7 @@ DATE = '20011025' # <- Windows XP release date in case you're wondering
 # Set to None to disable this restriction.
 DATE_TOLERANCE = 365
 
-# Send Geocities requests to oocities.org
+# Send Geocities requests to oocities.org if set to True.
 GEOCITIES_FIX = True
 
 # Use the Wayback-tampered URL as a shortcut when loading images.
@@ -26,3 +26,6 @@ CONTENT_TYPE_ENCODING = True
 
 # Disables logging if set to True.
 SILENT = False
+
+# Enables the settings page on http://web.archive.org if set to True.
+SETTINGS_PAGE = True

+ 12 - 4
waybackproxy.py

@@ -95,8 +95,11 @@ class Handler(socketserver.BaseRequestHandler):
 				return
 			elif hostname == 'web.archive.org':
 				if path[:5] != '/web/':
-					# launch settings
-					return self.handle_settings(parsed.query)
+					# launch settings if enabled
+					if SETTINGS_PAGE:
+						return self.handle_settings(parsed.query)
+					else:
+						return self.error_page(http_version, 404, 'Not Found')
 				else:
 					# pass-through requests to web.archive.org
 					# required for QUICK_IMAGES
@@ -394,6 +397,8 @@ class Handler(socketserver.BaseRequestHandler):
 			if 'date' in parsed and DATE != parsed['date'][0]:
 				DATE = parsed['date'][0]
 				date_cache.clear()
+			if 'dateTolerance' in parsed and DATE_TOLERANCE != parsed['dateTolerance'][0]:
+				DATE_TOLERANCE = parsed['dateTolerance'][0]
 			GEOCITIES_FIX = 'gcFix' in parsed
 			QUICK_IMAGES = 'quickImages' in parsed
 			CONTENT_TYPE_ENCODING = 'ctEncoding' in parsed
@@ -402,9 +407,12 @@ class Handler(socketserver.BaseRequestHandler):
 		settingspage  = 'HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n'
 		settingspage += '<html><head><title>WaybackProxy Settings</title></head><body><p><b>'
 		settingspage += self.signature()
-		settingspage += '</b></p><form method="get" action="/"><p>Date to get pages from: <input type="text" name="date" size="8" value="'
+		settingspage += '</b></p><form method="get" action="/">'
+		settingspage += '<p>Date to get pages from: <input type="text" name="date" size="8" value="'
 		settingspage += DATE
-		settingspage += '"><br><input type="checkbox" name="gcFix"'
+		settingspage += '"><p>Date tolerance: <input type="text" name="dateTolerance" size="8" value="'
+		settingspage += DATE_TOLERANCE
+		settingspage += '"> days<br><input type="checkbox" name="gcFix"'
 		if GEOCITIES_FIX: settingspage += ' checked'
 		settingspage += '> Geocities Fix<br><input type="checkbox" name="quickImages"'
 		if QUICK_IMAGES: settingspage += ' checked'