Features
This list is far from being complete. See Sample configuration for details.
Transports
- Support for HTTP/1.1 and HTTP/1.0 protocols
- Support for HTTPS protocol (CONNECT method)
- Support for clients talking HTTP/0.9 protocol
- Support for persistent connections in HTTP/1.0 and HTTP/1.1 protocols
- Client and Server side of persistent connections are independant
- Support spaces in URL
- Support for chaining with password protected http-proxy and ftp-proxy
Quick abort
- Can continue downloading after client closes connection
- configurable by min. bytes, max. bytes, percent ratio
- configurable by max. time needed for finishing download on aborted connection
Security
- Bind address configurable
- Allowed IP list (with netmasks) configurable
- Maximum of connections configurable
- You can restrict target ports for CONNECT method
- You can configure maximum request (and reply) size
Portability
- Needs only pure Java 5 or higher
- Do not uses unicode string conversion from jdk1.1 where possible
- Auto runtime check for different filesystem capabilities
- Log files uses line termination of target platform
- Tested and works on following operation systems:
- MacOS
- OS/2
- Windows 95,98
- Windows NT,2000,XP
- Linux
- Novell Netware
- FreeBSD
- Solaris
- SGI Irix
Offline use
- Auto detection of disconnected use
- Support for fetching non cached pages via Smart Cache loader
- Support for refreshing cached pages via Smart Cache loader
- Normally non cacheable pages can be still browsed when offline
- When offline, returns a cached copy of page (when available)
- You can force offline mode by -local switch
- You can configure special hook for download manager in offline mode
Privacy
- Referer header faking/replacing
- User-agent header faking
- Cookie filtering
- URL filtering
Data storage
- Smart Cache do not use auto generated hashed filenames
- NO http headers or other junk inside stored files. There are ready for use.
- Directory structure of cached files copies structure of remote server
- Top level directories are hashed to 2 levels deep matrix
- Files are saved under their original names where possible
- Files keeps at least their original extension when they can not keep original name.
- Smart Cache can compress stored files which saves you about 50% of diskspace
- Meta information of cached data can be rebuilded without data loss
- Meta informations are stored on per-directory basis
URL filter
- Two regexp styles: simple dos-like and complete
- Blocked content can be replaced with image of user-defined color, transparent image, empty page or with any URL
- Auto detection of changes and reloading of blocklist
- Support for black/white lists
- Blocked Javascripts can be replaced with empty file (not by image)
Referer filter
- Can drop Referer header
- Can replace Referer header with fixed string
- Can replace Referer header with requested URL
Redirector engine
- Two modes of operation: internal redirect / external redirect (sent back to the browser)
- Auto reloadable configuration files for both types
- Advanced rewriting possible via multiple wildcard rules
- Fast redirects can be implemented via rules
Cookie filter
- Two modes of operation: incoming or outgoing
- Auto detection of changes and reloading of blocklist
- Can turn persistent cookies into non persistent
Quotes
- Entire Sri Isopanishad included
- Selected Bhagavad-Gita verses included
- Random quote feature
- Prev. / Next. quote
User interface
- runtime change of console loglevel
- runtime change of internal server tracing
- cacheable searches for directory in cache
- browse your cache content
- on-line deleting files from cache
Garbage collection
- Never runs auto-magically
- Configurable with MANY options
- LRU based
- LRU value can be fine-tuned based on object type or URL mask
- low/high mark diskspace support
- configurable loglevel
Download manager hook
- No special requirements for download manager. Any program which can read queue from plain text file can be used.
- My other project Download Machine can be used as download manager.
- Can hook into specific URL masks.
- URL Masks can have several types: online masks, offline masks, ignore masks.
- Can hook into specific Content-Type.
- Content-Type masks can have minimum filesize specified (do not download short files) and Content-type-URL-ignore mask.