From 07fce62c34f11412d6b682cde5cd7cfb9117765f Mon Sep 17 00:00:00 2001 From: mindchasers Date: Thu, 2 May 2019 13:57:23 -0400 Subject: initial commit --- squid-redirect.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 squid-redirect.py (limited to 'squid-redirect.py') diff --git a/squid-redirect.py b/squid-redirect.py new file mode 100644 index 0000000..73830f4 --- /dev/null +++ b/squid-redirect.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +""" + squid-redirect.py + + Copyright 2018, 2019 Mind Chasers Inc, + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +""" + +VERSION=0.2a + +import re +import sys +import logging +from datetime import datetime + +logging.basicConfig(filename='squid-redirect.log',level=logging.DEBUG) +xxx = re.compile('\.xxx?/$') + +def main(): + """ + keep looping and processing requests + request format is based on url_rewrite_extras "%>a %>rm %un" + """ + request = sys.stdin.readline() + while request: + [ch_id,url,ipaddr,method,user]=request.split() + logging.debug(datetime.now().strftime('%Y-%m-%d %H:%M:%S') + ': ' + request +'\n') + response = ch_id + ' OK' + if 'sex' in url: + response += ' rewrite-url=https://example.com' + elif xxx.search(url): + response += ' status=301 url=https://example.com' + response += '\n' + sys.stdout.write(response) + sys.stdout.flush() + request = sys.stdin.readline() + +if __name__ == '__main__': + main() -- cgit v1.2.3-8-gadcc