summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2021-12-06 05:33:30 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2022-01-03 02:28:08 -0500
commit86c2d3093686c4f945086c90af9b8a7900925b6b (patch)
tree3848ed86ba0ec57d7319b84bbf320d1191af3d62 /doc
parent1334dd4ad52f8685948066af4798446af6b3e2da (diff)
downloadlighttpd-git-86c2d3093686c4f945086c90af9b8a7900925b6b.tar.gz
[multiple] remove long-deprecated modules
x-ref: https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated
Diffstat (limited to 'doc')
-rw-r--r--doc/config/conf.d/Makefile.am4
-rw-r--r--doc/config/conf.d/cml.conf27
-rw-r--r--doc/config/conf.d/geoip.conf28
-rw-r--r--doc/config/conf.d/mysql_vhost.conf47
-rw-r--r--doc/config/conf.d/trigger_b4_dl.conf70
-rw-r--r--doc/config/modules.conf18
-rw-r--r--doc/outdated/Makefile.am6
-rw-r--r--doc/outdated/cml.txt261
-rw-r--r--doc/outdated/geoip.txt148
-rw-r--r--doc/outdated/mysqlvhost.txt58
-rw-r--r--doc/outdated/trigger_b4_dl.txt57
11 files changed, 0 insertions, 724 deletions
diff --git a/doc/config/conf.d/Makefile.am b/doc/config/conf.d/Makefile.am
index 5616473c..7c976afe 100644
--- a/doc/config/conf.d/Makefile.am
+++ b/doc/config/conf.d/Makefile.am
@@ -1,18 +1,15 @@
EXTRA_DIST=access_log.conf \
auth.conf \
cgi.conf \
- cml.conf \
debug.conf \
deflate.conf \
dirlisting.conf \
evhost.conf \
expire.conf \
fastcgi.conf \
- geoip.conf \
magnet.conf \
mime.conf \
mod.template \
- mysql_vhost.conf \
proxy.conf \
rrdtool.conf \
scgi.conf \
@@ -20,6 +17,5 @@ EXTRA_DIST=access_log.conf \
simple_vhost.conf \
ssi.conf \
status.conf \
- trigger_b4_dl.conf \
userdir.conf \
webdav.conf
diff --git a/doc/config/conf.d/cml.conf b/doc/config/conf.d/cml.conf
deleted file mode 100644
index 6c539794..00000000
--- a/doc/config/conf.d/cml.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-#######################################################################
-##
-## CML Module
-## ---------------
-##
-## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCML
-##
-server.modules += ( "mod_cml" )
-index-file.names += ( "index.cml" )
-
-##
-## The file extension that is bound to the cml-module.
-##
-cml.extension = ".cml"
-
-##
-## Memcached hosts used for memcache* functions.
-##
-#cml.memcache-hosts = ( "127.0.0.1:11211" )
-
-##
-## A cml file that is executed for each request.
-##
-#cml.power-magnet = server_root + "/htdocs/powermagnet.cml"
-
-##
-#######################################################################
diff --git a/doc/config/conf.d/geoip.conf b/doc/config/conf.d/geoip.conf
deleted file mode 100644
index d0da3067..00000000
--- a/doc/config/conf.d/geoip.conf
+++ /dev/null
@@ -1,28 +0,0 @@
-#######################################################################
-##
-## GeoIP Module
-## ---------------
-##
-## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModGeoip
-##
-## mod_geoip is a module for fast ip/location lookups. It uses MaxMind
-## GeoIP / GeoCity databases. If the ip was found in the database the
-## module sets the appropriate environments variables to the request,
-## thus making other modules/fcgi be informed.
-##
-server.modules += ( "mod_geoip" )
-
-##
-## mod_geoip will determine the database type automatically so if you
-## enter GeoCity databse path it will load GeoCity Env.
-##
-#geoip.db-filename = "/path/to/GeoLiteCity.dat"
-
-##
-## If enabled, mod_geoip will load the database binary file to memory
-## for very fast lookups. The only penalty is memory usage.
-##
-#geoip.memory-cache = "disable"
-
-##
-#######################################################################
diff --git a/doc/config/conf.d/mysql_vhost.conf b/doc/config/conf.d/mysql_vhost.conf
deleted file mode 100644
index cb63083d..00000000
--- a/doc/config/conf.d/mysql_vhost.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-#######################################################################
-##
-## Virtual hosting with MySQL
-## ----------------------------
-##
-## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModMySQLVhost
-##
-server.modules += ( "mod_mysql_vhost" )
-
-##
-## Either set the the socket or host (and port)
-##
-## Local path to the mysql socket
-##
-#mysql-vhost.sock = "/var/lib/mysql/mysql.sock"
-
-##
-## Host of the MySQL server.
-##
-#mysql-vhost.hostname = "localhost"
-
-##
-## Optional: port to use.
-##
-#mysql-vhost.port = 3306
-
-##
-## Name of the database
-##
-mysql-vhost.db = "lighttpd"
-
-##
-## SQL User/Password for the connection
-##
-mysql-vhost.user = "lighttpd"
-mysql-vhost.pass = "secret"
-
-##
-## The query to get the needed informations from the database.
-##
-## It doesnt matter how you name the fields the first field is always used
-## as the document root.
-##
-mysql-vhost.sql = "SELECT docroot FROM domains WHERE domain='?'"
-
-##
-#######################################################################
diff --git a/doc/config/conf.d/trigger_b4_dl.conf b/doc/config/conf.d/trigger_b4_dl.conf
deleted file mode 100644
index 9cf48354..00000000
--- a/doc/config/conf.d/trigger_b4_dl.conf
+++ /dev/null
@@ -1,70 +0,0 @@
-#######################################################################
-##
-## Trigger before download
-## ---------------
-##
-## - if user requests ''download-url'' directly, the request is denied
-## and he is redirected to ''deny-url'
-## - if user visits ''trigger-url'' before requesting ''download-url'',
-## access is granted
-## - if user visits ''download-url'' again after ''trigger-timeout'' has
-## elapsed, the request is denied and he is redirected to ''deny-url''
-##
-## See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModTriggerBeforeDownload
-##
-server.modules += ( "mod_mod_trigger_b4_dl" )
-
-##
-## To store the trigger state you can either use a local GDBM
-## file or memcached(s).
-##
-
-##
-## Path to the local GDBM file.
-##
-trigger-before-download.gdbm-filename = home_dir + "/trigger.db"
-
-##
-## List of memcached servers.
-##
-#trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
-
-##
-## URL prefix a visitor has to visit before downloading is allowed
-##
-trigger-before-download.trigger-url = "^/trigger/"
-
-##
-## URL Prefix of the proteced area.
-##
-trigger-before-download.download-url = "^/download/"
-
-##
-##
-## The deny url.
-##
-trigger-before-download.deny-url = "http://www.example.com/index.html"
-
-##
-## How long the "ticket" of the user will be valid.
-##
-## Value in seconds.
-##
-trigger-before-download.trigger-timeout = 10
-
-##
-## Normally the memcached key will be the remote ip of the request
-## If you store other data in the memcached aswell and want to avoid
-## key collisions you can configure a memcache-namespace.
-##
-## The key for the request will be memcache-namespace + remote_ip than.
-##
-#trigger-before-download.memcache-namespace = "t4bdl_"
-
-##
-## If set to 1, the module will log some debug informations.
-##
-#trigger-before-download.debug = 0
-
-##
-#######################################################################
diff --git a/doc/config/modules.conf b/doc/config/modules.conf
index 609b71e2..f1a3e864 100644
--- a/doc/config/modules.conf
+++ b/doc/config/modules.conf
@@ -21,11 +21,8 @@
## - mod_deflate -> conf.d/deflate.conf
## - mod_status -> conf.d/status.conf
## - mod_webdav -> conf.d/webdav.conf
-## - mod_cml -> conf.d/cml.conf
## - mod_evhost -> conf.d/evhost.conf
## - mod_simple_vhost -> conf.d/simple_vhost.conf
-## - mod_mysql_vhost -> conf.d/mysql_vhost.conf
-## - mod_trigger_b4_dl -> conf.d/trigger_b4_dl.conf
## - mod_userdir -> conf.d/userdir.conf
## - mod_rrdtool -> conf.d/rrdtool.conf
## - mod_ssi -> conf.d/ssi.conf
@@ -83,11 +80,6 @@ server.modules = (
#include conf_dir + "/conf.d/magnet.conf"
##
-## mod_geoip
-##
-#include conf_dir + "/conf.d/geoip.conf"
-
-##
## mod_ssi
##
#include conf_dir + "/conf.d/ssi.conf"
@@ -108,11 +100,6 @@ server.modules = (
#include conf_dir + "/conf.d/userdir.conf"
##
-## mod_cml
-##
-#include conf_dir + "/conf.d/cml.conf"
-
-##
## mod_rrdtool
##
#include conf_dir + "/conf.d/rrdtool.conf"
@@ -178,9 +165,4 @@ server.modules = (
#include conf_dir + "/conf.d/simple_vhost.conf"
##
-## mod_mysql_vhost
-##
-#include conf_dir + "/conf.d/mysql_vhost.conf"
-
-##
#######################################################################
diff --git a/doc/outdated/Makefile.am b/doc/outdated/Makefile.am
index 861a6fd0..0ee37207 100644
--- a/doc/outdated/Makefile.am
+++ b/doc/outdated/Makefile.am
@@ -22,14 +22,11 @@ state.txt \
rrdtool.txt \
alias.txt \
userdir.txt \
-mysqlvhost.txt \
access.txt \
traffic-shaping.txt \
setenv.txt \
status.txt \
scgi.txt \
-cml.txt \
-trigger_b4_dl.txt \
webdav.txt \
expire.txt \
dirlisting.txt \
@@ -60,14 +57,11 @@ HTMLDOCS=accesslog.html \
rrdtool.html \
alias.html \
userdir.html \
- mysqlvhost.html \
access.html \
traffic-shaping.html \
setenv.html \
status.html \
scgi.html \
- cml.html \
- trigger_b4_dl.html \
webdav.html \
expire.html \
dirlisting.html \
diff --git a/doc/outdated/cml.txt b/doc/outdated/cml.txt
deleted file mode 100644
index b9ae92c5..00000000
--- a/doc/outdated/cml.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-=========================
-CML (Cache Meta Language)
-=========================
-
----------------
-Module: mod_cml
----------------
-
-:Author: Jan Kneschke
-:Date: $Date: 2004/11/03 22:26:05 $
-:Revision: $Revision: 1.2 $
-
-:abstract:
- CML is a Meta language to describe the dependencies of a page at one side and building a page from its fragments on the other side using LUA.
-
-.. meta::
- :keywords: lighttpd, cml, lua
-
-.. contents:: Table of Contents
-
-Description
-===========
-
-CML (Cache Meta Language) wants to solves several problems:
-
- * dynamic content needs caching to perform
- * checking if the content is dirty inside of the application is usually more expensive than sending out the cached data
- * a dynamic page is usually fragmented and the fragments have different livetimes
- * the different fragments can be cached independently
-
-Cache Decision
---------------
-
-A simple example should show how to a content caching the very simple way in PHP.
-
-jan.kneschke.de has a very simple design:
-
- * the layout is taken from a template in templates/jk.tmpl
- * the menu is generated from a menu.csv file
- * the content is coming from files on the local directory named content-1, content-2 and so on
-
-The page content is static as long non of the those tree items changes. A change in the layout
-is affecting all pages, a change of menu.csv too, a change of content-x file only affects the
-cached page itself.
-
-If we model this in PHP we get: ::
-
- <?php
-
- ## ... fetch all content-* files into $content
- $cachefile = "/cache/dir/to/cached-content";
-
- function is_cachable($content, $cachefile) {
- if (!file_exists($cachefile)) {
- return 0;
- } else {
- $cachemtime = filemtime($cachefile);
- }
-
- foreach($content as $k => $v) {
- if (isset($v["file"]) &&
- filemtime($v["file"]) > $cachemtime) {
- return 0;
- }
- }
-
- if (filemtime("/menu/menu.csv") > $cachemtime) {
- return 0;
- }
- if (filemtime("/templates/jk.tmpl") > $cachemtime) {
- return 0;
- }
- }
-
- if (is_cachable(...), $cachefile) {
- readfile($cachefile);
- exit();
- } else {
- # generate content and write it to $cachefile
- }
- ?>
-
-Quite simple. No magic involved. If the one of the files is new than the cached
-content, the content is dirty and has to be regenerated.
-
-Now let take a look at the numbers:
-
- * 150 req/s for a Cache-Hit
- * 100 req/s for a Cache-Miss
-
-As you can see the increase is not as good as it could be. The main reason as the overhead
-of the PHP interpreter to start up (a byte-code cache has been used here).
-
-Moving these decisions out of the PHP script into a server module will remove the need
-to start PHP for a cache-hit.
-
-To transform this example into a CML you need 'index.cml' in the list of indexfiles
-and the following index.cml file: ::
-
- output_contenttype = "text/html"
-
- b = request["DOCUMENT_ROOT"]
- cwd = request["CWD"]
-
- output_include = { b .. "_cache.html" }
-
- trigger_handler = "index.php"
-
- if file_mtime(b .. "../lib/php/menu.csv") > file_mtime(cwd .. "_cache.html") or
- file_mtime(b .. "templates/jk.tmpl") > file_mtime(cwd .. "_cache.html") or
- file_mtime(b .. "content.html") > file_mtime(cwd .. "_cache.html") then
- return CACHE_MISS
- else
- return CACHE_HIT
- end
-
-Numbers again:
-
- * 4900 req/s for Cache-Hit
- * 100 req/s for Cache-Miss
-
-Content Assembling
-------------------
-
-Sometimes the different fragment are already generated externally. You have to cat them together: ::
-
- <?php
- readfile("head.html");
- readfile("menu.html");
- readfile("spacer.html");
- readfile("db-content.html");
- readfile("spacer2.html");
- readfile("news.html");
- readfile("footer.html");
- ?>
-
-We we can do the same several times faster directly in the webserver.
-
-Don't forget: Webserver are built to send out static content, that is what they can do best.
-
-The index.cml for this looks like: ::
-
- output_contenttype = "text/html"
-
- cwd = request["CWD"]
-
- output_include = { cwd .. "head.html",
- cwd .. "menu.html",
- cwd .. "spacer.html",
- cwd .. "db-content.html",
- cwd .. "spacer2.html",
- cwd .. "news.html",
- cwd .. "footer.html" }
-
- return CACHE_HIT
-
-Now we get about 10000 req/s instead of 600 req/s.
-
-Power Magnet
-------------
-
-Next to all the features about Cache Decisions CML can do more. Starting
-with lighttpd 1.4.9 a power-magnet was added which attracts each request
-and allows you to manipulate the request for your needs.
-
-We want to display a maintenance page by putting a file in a specified
-place:
-
-We enable the power magnet: ::
-
- cml.power-magnet = "/home/www/power-magnet.cml"
-
-and create /home/www/power-magnet.cml with: ::
-
- dr = request["DOCUMENT_ROOT"]
-
- if file_isreg(dr .. 'maintenance.html') then
- output_include = { 'maintenance.html' }
- return CACHE_HIT
- end
-
- return CACHE_MISS
-
-For each requested file the /home/www/power-magnet.cml is executed which
-checks if maintenance.html exists in the docroot and displays it
-instead of handling the usual request.
-
-Another example, create thumbnail for requested image and serve it instead
-of sending the big image: ::
-
- ## image-url is /album/baltic_winter_2005.jpg
- ## no params -> 640x480 is served
- ## /album/baltic_winter_2005.jpg/orig for full size
- ## /album/baltic_winter_2005.jpg/thumb for thumbnail
-
- dr = request["DOCUMENT_ROOT"]
- sn = request["SCRIPT_NAME"]
-
- ## to be continued :) ...
-
- trigger_handler = '/gen_image.php'
-
- return CACHE_MISS
-
-
-Installation
-============
-
-You need `lua <http://www.lua.org/>`_ and should install `memcached <http://www.memcached.org>`_ and have to configure lighttpd with: ::
-
- ./configure ... --with-lua --with-memcached
-
-To use the plugin you have to load it: ::
-
- server.modules = ( ..., "mod_cml", ... )
-
-Options
-=======
-
-:cml.extension:
- the file extension that is bound to the cml-module
-:cml.memcache-hosts:
- hosts for the memcache.* functions
-:cml.memcache-namespace:
- (not used yet)
-:cml.power-magnet:
- a cml file that is executed for each request
-
-Language
-========
-
-The language used for CML is provided by `LUA <http://www.lua.org/>`_.
-
-Additionally to the functions provided by lua mod_cml provides: ::
-
- tables:
-
- request
- - REQUEST_URI
- - SCRIPT_NAME
- - SCRIPT_FILENAME
- - DOCUMENT_ROOT
- - PATH_INFO
- - CWD
- - BASEURI
-
- get
- - parameters from the query-string
-
- functions:
- string md5(string)
- number file_mtime(string)
- string memcache_get_string(string)
- number memcache_get_long(string)
- boolean memcache_exists(string)
-
-
-What ever your script does, it has to return either CACHE_HIT or CACHE_MISS.
-It case a error occurs check the error-log, the user will get a error 500. If you don't like
-the standard error-page use ``server.errorfile-prefix``.
-
diff --git a/doc/outdated/geoip.txt b/doc/outdated/geoip.txt
deleted file mode 100644
index a3d39bc3..00000000
--- a/doc/outdated/geoip.txt
+++ /dev/null
@@ -1,148 +0,0 @@
-{{{
-#!rst
-==============================
-ip based geographic lookups...
-==============================
-
------------------
-Module: mod_geoip
------------------
-
-
-
-.. contents:: Table of Contents
-
-Requirements
-============
-
-:Packages: GeoIP C API & Library (http://www.maxmind.com/download/geoip/api/c/)
-
-Overview
-========
-
-mod_geoip is a module for fast ip/location lookups. It uses MaxMind GeoIP /
-GeoCity databases.
-If the ip was found in the database the module sets the appropriate
-environments variables to the request, thus making other modules/fcgi be
-informed.
-
-.. note::
-
- Currently only country/city databases are supported because they have a free
- version that i can test.
-
-Configuration Options
-========================
-
-mod_geoip uses two configuration options.
-
-1) geoip.db-filename = <path to the geoip or geocity database>
-2) geoip.memory-cache = <enable|disable> : default disabled
-
-if enabled, mod_geoip will load the database binary file to
-memory for very fast lookups. the only penalty is memory usage.
-
-.. note::
-
- mod_geoip will determine the database type automatically so if you enter
- GeoCity database path it will load GeoCity Env.
-
-Environment
-===========
-
-Every database sets it's own ENV:
-
-GeoIP (Country):
-----------------
-
-::
-
- GEOIP_COUNTRY_CODE
- GEOIP_COUNTRY_CODE3
- GEOIP_COUNTRY_NAME
-
-GeoCity:
---------
-
-::
-
- GEOIP_COUNTRY_CODE
- GEOIP_COUNTRY_CODE3
- GEOIP_COUNTRY_NAME
- GEOIP_CITY_NAME
- GEOIP_CITY_POSTAL_CODE
- GEOIP_CITY_LATITUDE
- GEOIP_CITY_LONG_LATITUDE
- GEOIP_CITY_DMA_CODE
- GEOIP_CITY_AREA_CODE
-
-Examples
-========
-
-mod_geoip + php
----------------
-
-when using fastcgi (not only php) you can access mod_geoip env and do as you
-please. this example just prints all mod_geoip envs to the client, html.
-
-Config-file ::
-
- geoip.db-filename = "/your-geoip-db-path/GeoCityLite.dat"
- geoip.memory-cache = "enable"
-
-index.php ::
-
- <?php
- $country_code = $_SERVER['GEOIP_COUNTRY_CODE'];
- $country_code3 = $_SERVER['GEOIP_COUNTRY_CODE3'];
- $country_name = $_SERVER['GEOIP_COUNTRY_NAME'];
-
- $city_region = $_SERVER['GEOIP_CITY_REGION'];
- $city_name = $_SERVER['GEOIP_CITY_NAME'];
- $city_postal_code = $_SERVER['GEOIP_CITY_POSTAL_CODE'];
- $city_latitude = $_SERVER['GEOIP_CITY_LATITUDE'];
- $city_long_latitude = $_SERVER['GEOIP_CITY_LONG_LATITUDE'];
- $city_dma_code = $_SERVER['GEOIP_CITY_DMA_CODE'];
- $city_area_code = $_SERVER['GEOIP_CITY_AREA_CODE'];
-
- echo "<html>\n<body>\n\t<br>\n";
- echo 'Country Code: ' . $country_code . '<br>';
- echo 'Country Code 3: ' . $country_code3 . '<br>';
- echo 'Country Name: ' . $country_name . '<br>';
- echo '<br>';
- echo 'City Region: ' . $city_region . '<br>';
- echo 'City Name: ' . $city_name . '<br>';
- echo 'City Postal Code: ' . $city_postal_code . '<br>';
- echo 'City Latitude: ' . $city_latitude . '<br>';
- echo 'City Long Latitude: ' . $city_long_latitude . '<br>';
- echo 'City DMA Code: ' . $city_dma_code . '<br>';
- echo 'City Area Code: ' . $city_area_code . '<br>';
- echo "</html>\n</body>";
- ?>
-
-country based redirect
-----------------------
-
-Config-file ::
-
- $HTTP["host"] =~ "www.domain.com" {
- url.rewrite = ( "" => "/redirect.php")
- }
-
-redirect.php ::
-
- <?php
- $country_code = $_SERVER['GEOIP_COUNTRY_CODE'];
- header ('Location: http://' . $country_code . '.domain.com/');
- ?>
-
-.. note::
-
- Currently it is not possible to redirect based on mod_geoip directly in
-lighttpd config file. But i believe with the release of lighttpd mod_magnet
-it would be. (mod_magnet will be available in lighttpd 1.4.12+)
-
-Downloads
-=========
-mod_geoip.c (http://trac.lighttpd.net/trac/attachment/wiki/Docs/ModGeoip/mod_geoip.c)
-}}}
diff --git a/doc/outdated/mysqlvhost.txt b/doc/outdated/mysqlvhost.txt
deleted file mode 100644
index 9a869a19..00000000
--- a/doc/outdated/mysqlvhost.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-====================
-MySQL-based vhosting
-====================
-
------------------------
-Module: mod_mysql_vhost
------------------------
-
-:Author: ada@riksnet.se
-:Date: $Date: 2004/08/29 09:43:49 $
-:Revision: $Revision: 1.1 $
-
-:abstract:
- This module provides virtual hosts (vhosts) based on a MySQL table
-
-.. meta::
- :keywords: lighttpd, mysql, vhost
-
-.. contents:: Table of Contents
-
-Description
-===========
-
-With MySQL-based vhosting you can store the path to a given host's
-document root in a MySQL database.
-
-.. note:: Keep in mind that only one vhost module should be active at a time.
- Don't mix mod_simple_vhost with mod_mysql_vhost.
-
-Options
-=======
-
-Example: ::
-
- mysql-vhost.db = "lighttpd"
- mysql-vhost.user = "lighttpd"
- mysql-vhost.pass = "secret"
- mysql-vhost.sock = "/var/mysql.lighttpd.sock"
- mysql-vhost.sql = "SELECT docroot FROM domains WHERE domain='?'"
-
-
-MySQL setup: ::
-
- GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret';
-
- CREATE DATABASE lighttpd;
-
- USE lighttpd;
-
- CREATE TABLE domains (
- domain varchar(64) not null primary key,
- docroot varchar(128) not null
- );
-
- INSERT INTO domains VALUES ('host.dom.ain','/http/host.dom.ain/');
-
-
-
diff --git a/doc/outdated/trigger_b4_dl.txt b/doc/outdated/trigger_b4_dl.txt
deleted file mode 100644
index 0bfd099a..00000000
--- a/doc/outdated/trigger_b4_dl.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-=======================
-Trigger before Download
-=======================
-
--------------------------
-Module: mod_trigger_b4_dl
--------------------------
-
-:Author: Jan Kneschke
-:Date: $Date: 2004/11/03 22:26:05 $
-:Revision: $Revision: 1.2 $
-
-:abstract:
- another anti-hot-linking module
-
-.. meta::
- :keywords: lighttpd, hot-linking, deep-linking
-
-.. contents:: Table of Contents
-
-Description
-===========
-
-Anti Hotlinking:
-
- * if user requests ''download-url'' directly, the request is denied and he is redirected to ''deny-url'
- * if user visits ''trigger-url'' before requesting ''download-url'', access is granted
- * if user visits ''download-url'' again after ''trigger-timeout'' has elapsed, the request is denied and he is redirected to ''deny-url''
-
-The trigger information is either stored locally in a gdbm file or remotely in memcached.
-
-Requirements
-------------
-
- * libpcre
- * libgdbm or libmemcached
-
-Options
-=======
-
-::
-
- trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
- trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
- trigger-before-download.trigger-url = "^/trigger/"
- trigger-before-download.download-url = "^/download/"
- trigger-before-download.deny-url = "http://192.168.1.5:1025/index.html"
- trigger-before-download.trigger-timeout = 10
-
-If both trigger-before-download.gdbm-filename and
-trigger-before-download.memcache-hosts is set gdbm will take precedence.
-
-Installation
-============
-
-memcached should be started with the option -M as we don't want to remove entry if the memory is full.
-