The current version is 0.3 and was released on Mar 14.
You can get it from either here via the web or here via ftp.
It is all about storage.
Mod Repository can be used to
create repository for content (images, html, pretty much anything...).
I've used as an image server, a content server for a couple of differnent
web logs, a place to archive messages for a BBS and as a place to
store anonymous content (Give someone a URL to a piece of content, whiile
it is concievable that someone could try to grab everything from a
repository, it is quite unlikely). I am sure others can come up
with their own ideas.
It works like this, someone posts a file
or data to the repository address. The repository returns a key that
you can then be used to retrieve the data. In large reposiories it
becomes impractical to look for files once they are in the
repository due to the size of the repository (the more files, the harder it is
for someone who has access at the file level to find anything).
It is also impractical for someone to try to grab a copy of everything
in the repository since they would have to feed every possible
key to he repository (the key is a 32 character word).
You can get it from either here via the web or here via ftp.
You are pretty much free to use it as you please. Check out the License file with the distribution for more details. In all likelihood I will switch to either GNU or Apache style licensing at some point in the future.
Send email to brian@tangent.org.
Send email to brian@tangent.org.
Not currently. If enough ask for it, I will though.
GET, POST, PUT, and DELETE are supported. Currently, POST and PUT do the same thing. You must use typical Apached directives to control who can do what, from what IP.
From the INSTALL file:
Do you use DSO? If so just type make and
as long as apxs is in your path all things
should go smoothly.
If you are not using DSO you should be :)
If for some reason you need to compile
apache try the following:
1. Change the current directory to the directory containing your apache
source distribution.
2. Call the configure script as you normally would and add the switch:
--add-module=<path-to-mod_repository-directory>/mod_repository.c
3. Make sure the build environment is clean by issuing the following
command:
> make clean
4. Build the new httpd binary with:
> make
5. Install the new httpd binary with:
> make install
Tells apache where to store files. Think of this as a DocumentRoot.
This limits the size of files that can be inserted into the repositoy. By default it is limited to 12megs. Increasing this number can open you up to denial of service attacks (for that matter the default may already be to high for you). A file is stored in memory during a POST or PUT. Multiply the number of servers that you make available by the size of files that you allow and you can see where very easily someone could overwhelm the machine.
This number adjusts the number of directories that are created during file storage. Setting the number higher then 32 will cause the module to default to 32. If you do not specify this directive the module defaults to 3.
Using this you can speficy a URI that will be run whenever the a file type specified by RepositoryType is requested. An environmental variable called REPOSITORY_KEY contains the key.
This allows you to specify a mime types that the trigger will be run against.
If the file type will be captured by a trigger and RepositoryHideKey is set to On, then the key will not be sent out to the requester (it is expected that you will do this in your trigger).
None at the moment. Currently they just contain a string which represents the content type based on the file extension of the file that was originally inserted. In the near future these files will become XML.
This is one component of a number that I have designed over the years that I have written for different tasks. Mod Repository started out as a perl script that I used to store massive numbers of images, and has evolved into a generic way for me to store files. The TODO file that comes with it talks about different features I mean to add to it.