All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
Redirects a packet to another port on the machine itself
Returns a packet that signals rejection of a connection attempt
 
 
 
Provides access to anonymous configuration
 
 
 
 
 
 
 
 
This class will be a container for the information needed for the App/User-Agent modules which bundle whitelistable URLs to enable using certain Apps or Software with the SSL feature.
 
 
This class handles all the configurations of which AppWhitelistModules are enabled and usable in the system.
 
 
Contains data for an ARP packet.
 
The type of an ARP packet.
 
 
 
 
 
This class is used to automatically run the system updates every day in a given time frame at a random time, so that the chance that all eBlocker devices try to request the server for updates at the same time is low.
This configuration holds the timeframe for automatic updates.
Possible improvements: * Never whitelist a domain name for which a pattern blocker URL exists ____+ prevents whitelisting when a popular tracker URL leads to random connection errors ____- if the domain of a blocker URL is rather generic (i.e. amazon.com), ATA will never whitelist it ____?
 
Defines meta-data about a backup
A BackupProvider exports/imports configuration data to/from one or more files in the configuration JAR file.
Creates backup providers at runtime.
Warnings that can occur during export or import of a backup.
Module for dependency injection of common base classes.
Since the HTTP server listens on HTTP and HTTPS ports, we have two different base URLs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sets a cache-control header if the response does not have one already.
 
 
 
Responds to captive portal check URLs if the feature "GoogleCaptivePortalRedirector" is enabled.
 
 
 
 
 
 
 
in/out from the ICAP server's point of view
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This service exports/imports configuration to/from a JAR file.
 
 
A content blocker rule containing '##' adds a content filter.
 
Filters that modify the response.
A list of content filters that supports adding (##) and removing (#@#) filters.
Responsible for loading the content filter from disk and enabling/disabling it.
Parses content filters from lists in uBlock Origin's format.
 
Finds matching content filters and creates HTML to inject into the web page
 
 
Parses the HTTP header Content-Security-Policy and inserts/edits the directives that allow the ControlBar to work.
 
 
 
 
 
 
 
 
 
 
 
Adapts a Content-Security-Policy header of the page so the ControlBar (icons, iframe, XMLHttpRequests) can be loaded.
 
 
 
 
Service for configuring custom non-parental control related black- and whitelists for pattern and dns filters.
Processor to set transactions decision to PASS if hostname belongs to a user's custom domain whitelist.
Service for managing non-parental control related whitelist filter for pattern filtered devices
 
 
 
 
This pre-processor verifies that the current dashboard user has access to routes that are flagged with VERIFY_DEVICE_ID or VERIFY_USER_ID.
Deprecated.
 
 
Deprecated.
 
 
Deprecated.
 
 
Provides access to persistent data, e.g. devices, users, ...
Logs events.
 
 
 
 
 
 
 
 
Represents a network device.
 
 
 
 
 
Service to update IP addresses of devices.
 
injectable singleton, which reads a properties file (default: /etc/eblocker-device.properties and provides these properties via getter methods.
 
Interacts with the device registration portal.
Interacts with the device registration portal.
Store registration properties for the backup.
 
 
 
Parameters users must enter to register their eBlocker.
 
 
 
 
 
 
This class listens for messages on a Redis channel, that announce a new IP address, which was assigned to networkInterfaces via DHCP.
 
 
 
 
 
 
 
Controls the local DHCP server
Contains parameters needed for configuring a DHCP server
 
 
 
 
 
 
Entity to store "enable dns by default" check has been run on this eblocker.
Provides access to nameserver configuration of the system.
 
 
 
 
 
This class checks for possible gateway names and configures them as local names in the eblocker dns server
 
 
 
 
A simple DNS resolver that can send queries to a given host and port.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A domain ending in a wildcard (*).
 
 
 
 
 
 
 
 
Logs requests to domains for devices that have the "domainRecordingEnabled" flag.
 
Records requested domains in bins of a certain duration (e.g. one hour).
 
Puts/removes the domain of the current page on/from the whitelist
 
 
 
 
 
 
 
 
 
 
 
 
This RestExpress server provides a REST JSON API for the toolbar and admin interface.
 
 
 
 
Module for dependency injection of eBlocker https + icap server.
 
 
 
Hides DOM elements via CSS selector.
Stores a name and bytes, e.g. the name of a file and its content.
 
 
 
 
 
An event is something that occurred and that might be of interest to the user
 
Allows loading of events for display
 
Stores events in a stack.
 
 
Factory methods for events
Provides access to events
The event type defines the text to display to the user.
 
 
This class is used to wrap the map of TOR exit node country names -> country codes to an object than can be used to easily generate a JSON representation.
 
 
 
 
 
 
 
 
 
 
Service interface to retrieve some simple eBlocker feature settings.
 
Service class to manage some simple eBlocker feature settings.
Service class to manage some simple eBlocker feature settings.
Listeners get notified when features have been reloaded
 
 
 
 
 
 
 
 
Provides access to filter stats and configuration
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Static utility methods to combine DomainFilters.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Writes configuration files for "iptables-restore".
 
 
 
 
 
 
 
 
 
This class will collect all the content that is about to get injected into HTML responses
 
 
Store encrypted CA and renewal CA.
Backup of HTTPS keys and certificates.
 
 
 
 
 
 
 
 
 
 
 
Class exposing static methods of InetAddress to enable unit-testing.
 
This class collects Strings which shall be injected into HTTP Responses before the last body tag
 
 
 
 
 
 
Utility functions for IPv4 addresses.
 
Tries to verify IPv6 addresses that have been detected in neighbor solicitation messages from devices that do duplicate address detection.
Runs an external IPv6 address monitor and notifies the NetworkInterfaceWrapper when IPv6 addresses are added to or deleted from the interface
 
Sends an echo request to the all-nodes multicast address ff02::1
 
Detects that an IPv6 network prefix has changed and notifies listeners.
 
 
 
Utility functions for IPv6 addresses.
 
 
 
 
 
 
 
This table stores the last time a hardware address has responded to a specific IP address (via ARP response or Neighbor Advertisement).
 
 
 
Utility functions that can deal with both IPv4 and IPv6 addresses.
Controls the isc-dhcp-server service on Debian
Writes configuration files for the DHCP server (service isc-dhcp-server)
This class provides consistency checks for data stored in redis and tries to repair them.
 
 
Persists recorded domain requests.
 
 
 
 
 
 
 
 
 
 
Simple container class for mapping the language abbrevations (= id -> e.g.
 
This class handles and controls the language settings of the frontend
 
 
 
 
Levenshtein's Distance Algorithm
 
 
 
 
 
 
 
 
 
 
 
 
A small wrapper for converting an Instant to a JSON object
 
 
A wrapper for processes that should log their stout and stderr streams.
 
 
 
Processes built-in malware patterns
 
Processes user-defined malware patterns
 
 
 
 
 
 
MessageCenterService Asynchronously add/update/delete messages by executing set of MessageFactories. Provide cache of current messages. Remember, which device saw a certain message already. Persist, which device saw a certain message already. Remember, if a certain message has been flagged as "never show again".
 
 
 
 
 
 
 
 
Migrations can update the Redis database during installation of software updates.
 
 
 
 
 
 
 
 
 
Base class for all data objects that are stored in the key-value store.
 
 
 
 
 
 
 
 
 
 
Class for holding NetworkAddressFactory customizations.
 
Defines how the eBlocker is integrated into the home network
 
 
 
Performs basic network configuration of the system (e.g.
Proxy for NetworkInterface.
This class can be used to dynamically add or remove interface aliases.
Configures ethernet (and loopback) interfaces.
Injectable factory that improves testability of classes that operate on NetworkInterface
 
Network utilities
 
 
Instances of this class should know how to configure, start and stop network services of the OS.
Base class for network services that are platform independent.
Configures and controls network services on Unix OSes
Represents a configuration state of the network
Represents the following network state: The IP address is statically configured.
 
Represents the following network state: The IP address is configured statically.
The network state machine processes events (e.g. when a new network configuration is received by the NetworkController) and changes the network state accordingly using the NetworkServices.
Represents the Plug and Play mode.
IPv4 network utilities
 
 
 
 
 
 
When a remote device connects to or disconnects from eBlocker's OpenVPN server, a script is called which triggers this class via Redis' publish/subscribe mechanism.
CA for OpenVPN
This class will be listening via PubSub to the Redis channel "vpn_profile_status:$ID:in" and expect messages in the format: [STATUS: up/down/error...]
 
 
 
Stores data for one OpenVPN client profile.
 
 
 
 
 
 
 
Version 0 of OpenVpnConfiguration, just used for upgrades
 
 
 
 
 
 
This is the REST-Controller to provide the interface between frontend and backend for handling the routing of client traffic through OpenVPN instances (user configured VPN services).
 
VpnProfile implementation for OpenVPN Client instances
 
 
Backs up and restores eBlocker Mobile settings for OpenVPN.
Used only for exporting and importing backups.
 
 
Used only for exporting and importing backups.
 
This class makes all the work which is asked for by the OpenVpnController (REST Interface).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This object is able to pause the eBlocker on a specific device for a certain amount of time.
 
 
 
 
 
 
 
 
 
 
 
 
A service for subscribing to and publishing messages in channels.
 
Records domains requested in a defined time interval
Counts requested domains with their blocked state.
Ensures that recorded domains are saved to Redis regularly (and on shutdown).
 
 
 
 
 
 
 
 
 
 
 
 
 
This processor will remove the HTTP-Referrer-Header from the Requests
 
 
 
 
 
 
 
 
 
 
Implementation of a Squid ACL external helper.
 
 
 
 
 
 
 
A wrapper class for Runnable that catches up to maxRetries exceptions (in a row), before it gives up and re-throws the exception.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Migrates eblocker-dns enabled flag from redis to file for version 1.7
Creates EblockerDnsServerState based on current config
Has been a migration to create EblockerDnsServerState based on current config but that is obsolete now.
Creates EblockerDnsServerState based on current config
Creates EblockerDnsServerState based on current config Disables TOR for Gateway nodes, in case it has been enabled in prior version.
Creates EblockerDnsServerState based on current config
 
 
 
Sets name servers enabled flag for all existing openvpn client profiles
 
 
 
 
 
 
 
 
 
 
 
 
 
This migration ensures no custom black/whitelist are shared across standard users (EB1-1826)
"piracy" has been split off from "misc" blacklist so all profiles having "misc" enabled are updated to have the same effective domain filter.
 
 
 
 
 
 
 
 
Initializes FilterStoreConfiguration and ExternalDefinition sequence.
Converts custom domain filters to domain filters usable with new blocker api.
Converts custom domain filters to domain filters usable with new blocker api.
Migrates a database that was created on eBlockerOS 2.4.
 
 
 
 
 
 
Injects a scriptlet with parameters into an HTML page
Responsible for: Finding and reading scriptlets Inserting parameters into scriptlets Wrapping scriptlets in an exception handler
Runs external scripts.
Runs a script with a sudo wrapper.
 
 
 
eBlocker self-check app.
 
 
 
 
 
 
 
 
 
 
 
This processor sets the base URL (eBlocker's own URL) of the transaction, according to the transaction's target URL.
 
 
 
 
 
 
 
This controller can just answer the question if the setup wizard was done before
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class is able to rewrite ACL files which are used in the squid config file; In addition it is able to tell squid, that the configuration changed and a reload is neccessary.
The SquidReloadingService is responsible for reloading the Squid service after a configuration change asynchronously.
 
 
 
 
 
This class handles the creation of the signed SSL certificate for the ICAP server It is able to return a SSLContext for the RestExpress server You must call the init() method, to make sure the certificates are available, before making use of other methods of this class.
 
 
Controller for SSL settings.
 
 
 
 
 
 
 
 
 
 
 
 
 
Writes a status report to an HTML file during startup
 
 
A RestExpress controller for serving static files (HTML, JS, CSS, ...)
 
 
Communicates with the service eblocker-led to control the RGB LED.
 
 
Faster string replacement for multiple replacements than using a loop and String.replace or Apache Commons StringUtils.replace
 
A class for processing messages delivered by a PubSubService.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Runs system updates.
 
 
 
 
 
 
 
 
 
 
 
Simple wrapper for writing and reading from a network Socket.
 
 
 
 
A controller that can return timestamps for the client (since the client might have an incorrect clock)
 
This class is able to set the default timezone
 
This service provides a list of sites for checking whether a Tor connection is used
Websites that provide a Tor check
 
This class is responsible for writing the Tor configuration file
This class is opening a Telnet connection to the Tor Control-Port, which should be activated in the 'torrc'-config file by including:
 
Provides a mapping from country names to country codes.
Represents some states of the Tor client
 
This controller can just answer the question if the setup wizard was done before
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The UpdateStatusObserver is notified when a system update starts.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
Provides access to user agent lists, current and outgoing user agent.
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
 
 
 
 
Container for VPN login credentials
This interface can model VPN profiles.
Base class for eBlocker Mobile services that handles common tasks, e.g. port forwarding.
 
 
This class aims to block WebRTC connections, because WebRTC leaks the IP address (the local network IP as well) to the public
 
 
 
A service that registers the HTTP admin console as a Zeroconf (AKA Bonjour) service