Interface | Description |
---|---|
CharsetExtractor |
For a specific text/-based MIME type, extracts the charset if
possible.
|
CodecPacketFilter |
Base class for specific logical bitstream filters.
|
ContentDataFilter |
Data filter for a specific MIME type.
|
FilterCallback |
Callback to be provided to a content filter.
|
FoundURICallback | |
LinkFilterExceptionProvider |
Provides link filter exceptions to the content filter.
|
TagReplacerCallback |
This callback can be registered to a HTMLContentFilter, that provides callback for all tags it processes.
|
URIProcessor |
This interface provides methods for URI transformations
|
Class | Description |
---|---|
BMPFilter | |
CharsetExtractor.BOMDetection | |
CodecPacket | |
ContentFilter |
Freenet content filter.
|
ContentFilter.FilterStatus | |
CSSReadFilter | |
ElementInfo | |
FilterMIMEType |
A MIME type, for purposes of the filter.
|
FilterUtils | |
FlacFilter |
Filters native FLAC data.
|
FlacPacket | |
FlacPacketFilter | |
GenericReadFilterCallback | |
GIFFilter |
Content filter for GIF's.
|
HTMLFilter | |
HTMLFilter.ParsedTag | |
JPEGFilter |
Content filter for JPEG's.
|
M3UFilter |
Content filter for M3Us
This one kills every comment and ensures that every file is a safe
URL.
|
MP3Filter | |
NullFilterCallback | |
OggBitstreamFilter |
Base class for specific logical bitstream filters.
|
OggFilter |
Filters Ogg container files.
|
OggPage |
Represents a single page of an Ogg bitstream
|
PNGFilter |
Content filter for PNG's.
|
PushingTagReplacerCallback |
This TagReplcaerCallback adds pushing support for freesites, and replaces their img's to pushed ones
|
TheoraBitstreamFilter | |
TheoraPacketFilter | |
VorbisBitstreamFilter |
An Ogg bitstream parser for the Ogg Vorbis codec
|
VorbisPacketFilter |
An Ogg bitstream parser for the Ogg Vorbis codec
|
Enum | Description |
---|---|
FilterOperation |
Exception | Description |
---|---|
CommentException |
Thrown when a filter operation cannot complete and the filter has produced some error output to help guide the user in
resolving the situation.
|
DataFilterException |
Exception thrown when the data cannot be filtered.
|
KnownUnsafeContentTypeException | |
UndetectableCharsetException | |
UnknownCharsetException | |
UnknownContentTypeException | |
UnsafeContentTypeException |
Thrown by the filter when it cannot guarantee the safety of the data, because it is an unknown type,
because it cannot be filtered, or because we do not know how to filter it.
|
UnsupportedCharsetInFilterException |
Freenet content filter code. The purpose of this code, which can optionally be invoked during a download (and is mainly used in fproxy), is to identify safe content, and delete or warn about any content that either we don't understand, or we can't currently make safe.
Dangerous content here mainly means content (e.g. HTML) that could cause the browser to do fetches from the non-anonymous web ("web bugs"), or more complex attacks that achieve the same result (e.g. scripting). We do not intentionally prohibit specific exploits, unless it is easy to do so, but we do operate on a "whitelist" principle as much as possible (especially in the HTML and CSS filters), where we parse the data, and if we can't understand it, we delete it, because it might be dangerous. This is much safer than e.g. looking for things that look like URLs.
We also have a registry of known MIME types, with either filters or warning messages.
Finally, we support some degree of "write filtering", i.e. stripping out potentially compromising data (e.g. EXIF tags) at insert time. And we support arbitrary transformations of HTML tags via @link TagReplacerCallback which is used by fproxy for showing loading images etc.