Introduction
SquidTL is a software created for administrators that want to limit usage of particular web sites. Because HTTP is a stateless protocol, it's very difficulty to calculate the right amount of visits by an user, so SquidTL check the amount of connections originated by each proxy user.For example, if you own a library internet point and don't want guests spend all your time on Facebook, you can limit all facebook domains to 'n' connections per hour. And, if an user go over, he will be redirect to a 'blocked' page and his attempt will be recorded for statistical pourposes (that let administrator to fine-tune triggers).
Moreover you can define time range validity for rules, so you can specify different profiles per-week based.
To sum up, you can safely try SquidTL to regulate your public internet point usage !
Rules syntax
All rules use PCRE (since v0.0.7) to match IP, IP ranges and domains: you can define IP ranges or domains with the semplicity and flexibility of regular expressions !
Requirements
SquidTL require a MySQL DB, with developers headers and libraries for compiling. Also libXML2 is required for configuration parsing and, if you want to use the fantastic PHP web gui, you need also a web server (like Apache) and PHP.Since version 0.0.7 you also need PCRE library (SquidTL works fine with v8.02) and XMLRPC-C if you want Domain categorizing and other funny features.
With Domain Categoryzing you can share rules with other SquidTL installations around the world and, since v0.0.9, you can manage your own xmlrpc server. Simply, SquidTL ask the XML-RPC server if know something about a domain and expect CATEGORIES that belongs (ie. google.com belongs to SEARCHENGINE, facebook.com to SOCIALNETWORK and so on). With this method you can define a rule about all SOCIALNETWORKS that will be dinamically updated !
Flow
To understand how SquidTL work, take a look to the workflow (obsolete, since 0.0.7 there are some sightly differences) and how contexts works:All actions will be done using the powerfull of MySQL DB. SquidTL was written in C for performances and stability so you can expect high throughput with low system resources.
GUI Screenshots
Installation
Get sources squidtl-0.1.0.tar.gz and follow the instructions inside INSTALL file.
Changelist
Wish List0.1.0 - 07 May 2010
- Administrator log
- Customer db
- Simplify user management
0.0.9 - 04 May 2010
- User context now work as expected
- Added the possibility to create temporary user account using Expire Date
- Remake of URL traffic page with details and paginating
- Now admin can enable and disable users in realtime
- Created install.php for new and existings installations
- Implemented time profiling for measuring performance of redirectors
- New logo
0.0.8 - 30 Apr 2010
- Use user ident if available in IP ident
- Added domain categorizing by admins
- Added the chance to create your own xmlrpc domain categories repository
- Fixed some bugs
0.0.7 - 28 Apr 2010
- Added ajax check on Web Gui
- Category list grabbed in realtime with xml-rpc
- Added caching of URL categories (speed-up if multiple queries on the same URL)
- Some interesting features (such domain lookup) added in Web Gui
- Fixed some bugs
0.0.6 - 21 Dec 2009
- Added context support
- Optimizing mysql usage to raise load on server
- Implemented PCRE instead of POSIX RegExp (deprecated)
- Implemented XML-RPC service for URL categorizing
- Added inline help
- A lot of bugs fixed
0.0.5 - 15 Dec 2009
- This is mainly a bug fixed release
- Start support for URL categorization service (through XML-RPC)
0.0.4 - 9 Dec 2009
- Use of url lists (text files) for rules, instead of add manually all domains which needs the same rule
- Statistic module bugfixes
- Added GUI sanity checks
- Created install.php script for easier DB installation
- Some minor bugs fixed
0.0.3 - 4 Dec 2009
- Some bugs fixed
- Statistics module
- XMLRPC service for notifications on new releases
0.0.2.1 - 2 Dec 2009
- Add time rules on filtering rules
- Add instructions how to install on Debian and Ubuntu
- First approach to statistics module
- Fix a nasty bug for IP range identification
- Fix some other bugs
0.0.2 - 1 Dec 2009
- fixes some problems with compilation under Debian and other distros
0.0.1 - 24 Nov 2009
- Support for IP ranges with dymanic users
- Localization for the GUI (actually english and italian)
- GUI Authentication
- Group and users management
- Rules export in CSV, XML and Plain format
- Bug fixes and improvements
First public release. BETA.
Support
Send me an e-mail or become our Fan on Facebook: http://www.facebook.com/pages/SquidTL/201804393966.Also you can follow us on Twitter.
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Do you like SquidTL ? Make me a donation !