Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.dougwise.org!aioe.org!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.01; 'tests,': 0.07; 'python': 0.07; 'freenode': 0.09; 'homepage:': 0.09; 'utf-8': 0.09; 'def': 0.13; "'host':": 0.16; '-*-': 0.16; 'coding:': 0.16; 'expressions,': 0.16; 'extensible': 0.16; 'proxy,': 0.16; 'received:74.55.86': 0.16; 'received:74.55.86.74': 0.16; 'received:smtp.webfaction.com': 0.16; 'received:webfaction.com': 0.16; 'released.': 0.16; 'subject:proxy': 0.16; 'subject:security': 0.16; 'url:documentation': 0.16; 'channel': 0.18; 'url:blog': 0.18; 'meant': 0.18; 'awesome': 0.19; 'usage': 0.20; 'cheers,': 0.20; 'blog:': 0.22; 'optional': 0.23; 'example': 0.24; 'version': 0.25; 'urls': 0.26; 'shared': 0.29; 'server': 0.29; 'features,': 0.29; "skip:' 30": 0.29; "skip:' 10": 0.32; 'import': 0.32; 'source': 0.32; 'headers': 0.33; 'community': 0.33; 'several': 0.33; 'uses': 0.34; 'received:192.168.1': 0.34; 'received:192': 0.34; 'open': 0.35; 'header:User-Agent:1': 0.35; 'backend': 0.35; 'hello,': 0.36; 'feature': 0.36; 'getting': 0.36; 'received:192.168': 0.37; 'http': 0.38; 'to:addr:python-announce-list': 0.38; 'built': 0.39; 'to:addr:python.org': 0.39; 'how': 0.39; 'basic': 0.40; 'secure': 0.62; 'world.': 0.64; 'anyone.': 0.64; 'share': 0.67; 'links:': 0.68; 'heart': 0.71; 'fantastic': 0.73; 'packed': 0.84; 'url:example': 0.84; 'url:pl': 0.93 Date: Fri, 08 Apr 2011 03:12:47 +0200 From: Dariusz Suchojad User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.18) Gecko/20110320 SeaMonkey/2.0.13 MIME-Version: 1.0 To: python-announce-list@python.org Subject: sec-wall 1.0.0 / A feature packed high-performance security proxy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Fri, 08 Apr 2011 16:41:35 +0200 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: python-list@python.org List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 62 NNTP-Posting-Host: 82.94.164.166 X-Trace: 1302273697 news.xs4all.nl 41103 [::ffff:82.94.164.166]:50520 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python.announce:78 Hello, the first version of sec-wall, a feature packed high-performance security proxy, has just been released. sec-wall has many interesting features, including the support SSL/TLS, WS-Security, HTTP Auth Basic/Digest, extensible authentication schemes based on custom HTTP headers and XPath expressions, powerful URL matching/rewriting and an optional headers enrichment. sec-wall uses and is built on top of several fantastic Python open source technologies, such as gevent, Spring Python, pesto, lxml, zdaemon or PyYAML and is meant to be highly customizable and easy to use. Good performance, tests, documentation and building an awesome community are at the very heart of the project. Here's an example showing how little is needed to secure a backend server with HTTP Basic Auth. # ###################################################### # -*- coding: utf-8 -*- # stdlib import uuid # Don't share it with anyone. INSTANCE_SECRET = '5bf4e78c256746eda2ce3e0e73f256d0' # May be shared with the outside world. INSTANCE_UNIQUE = uuid.uuid4().hex def default(): return { 'basic-auth':True, 'basic-auth-username':'MyUser', 'basic-auth-password':'MySecret', 'basic-auth-realm':'Secure area', 'host': 'http://example.com' } urls = [ ('/*', default()), ] # ###################################################### Links: Project's homepage: http://sec-wall.gefira.pl/ Getting started: http://sec-wall.gefira.pl/documentation/getting-started/index.html Usage examples: http://sec-wall.gefira.pl/documentation/usage-examples/index.html Twitter: https://twitter.com/fourthrealm Blog: http://www.gefira.pl/blog IRC: #sec-wall channel on Freenode network cheers, -- Dariusz Suchojad