]> git.mxchange.org Git - hub.git/blobdiff - application/hub/config.php
Fixed a lot stuff for cruncher (missing methods, etc.)
[hub.git] / application / hub / config.php
index 6f88c44399693f2bf34375aa214f0ac4bfabeb0d..8c9d47e7b7247c340746aa7ed6a909304ac157ba 100644 (file)
@@ -2,9 +2,9 @@
 /**
  * Configuration entries for this application only
  *
- * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0
- * @copyright  Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2012 Hub Developer Team
+ * @copyright  Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
  * @license            GNU GPL 3.0 or any newer version
  *
  * This program is free software: you can redistribute it and/or modify
@@ -102,24 +102,15 @@ $cfg->setConfigEntry('udp_raw_data_handler_class', 'UdpRawDataHandler');
 // CFG: SHUTDOWN-LISTENER-POOL-VISITOR-CLASS
 $cfg->setConfigEntry('shutdown_listener_pool_visitor_class', 'ShutdownListenerPoolVisitor');
 
-// CFG: SHUTDOWN-TASK-VISITOR-CLASS
-$cfg->setConfigEntry('shutdown_task_visitor_class', 'ShutdownTaskVisitor');
-
 // CFG: SHUTDOWN-SOCKET-VISITOR-CLASS
 $cfg->setConfigEntry('shutdown_socket_visitor_class', 'ShutdownSocketVisitor');
 
 // CFG: HALF-SHUTDOWN-SOCKET-VISITOR-CLASS
 $cfg->setConfigEntry('half_shutdown_socket_visitor_class', 'HalfShutdownSocketVisitor');
 
-// CFG: ACTIVE-TASK-VISITOR-CLASS
-$cfg->setConfigEntry('active_task_visitor_class', 'ActiveTaskVisitor');
-
 // CFG: NODE-RAW-DATA-MONITOR-VISITOR-CLASS
 $cfg->setConfigEntry('node_raw_data_monitor_visitor_class', 'RawDataPoolMonitorVisitor');
 
-// CFG: LIST-GROUP-CLASS
-$cfg->setConfigEntry('list_group_class', 'ListGroupList');
-
 // CFG: NODE-ANNOUNCEMENT-HELPER-CLASS
 $cfg->setConfigEntry('node_announcement_helper_class', 'NodeAnnouncementHelper');
 
@@ -129,14 +120,17 @@ $cfg->setConfigEntry('node_self_connect_helper_class', 'NodeSelfConnectHelper');
 // CFG: DHT-BOOTSTRAP-HELPER-CLASS
 $cfg->setConfigEntry('dht_bootstrap_helper_class', 'DhtBootstrapHelper');
 
+// CFG: DHT-PUBLISH-ENTRY-HELPER-CLASS
+$cfg->setConfigEntry('dht_publish_entry_helper_class', 'DhtPublishEntryHelper');
+
 // CFG: DEFAULT-CONSOLE-COMMAND
 $cfg->setConfigEntry('default_console_command', 'main');
 
-// CFG: DEFAULT-HUBCONSOLE-COMMAND
-$cfg->setConfigEntry('default_hubconsole_command', 'main');
+// CFG: DEFAULT-HUB-CONSOLE-COMMAND
+$cfg->setConfigEntry('default_hub_console_command', 'main');
 
-// CFG: HUBCONSOLE-CMD-MAIN-RESOLVER-CLASS
-$cfg->setConfigEntry('hubconsole_cmd_main_resolver_class', 'HubConsoleCommandResolver');
+// CFG: HUB-CONSOLE-CMD-MAIN-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_main_resolver_class', 'HubConsoleCommandResolver');
 
 // CFG: NETWORK-STATE-RESOLVER-CLASS
 $cfg->setConfigEntry('network_state_resolver_class', 'NetworkStateResolver');
@@ -195,6 +189,9 @@ $cfg->setConfigEntry('package_tag_announcement_filter', 'PackageAnnouncementTagF
 // CFG: PACKAGE-TAG-ANNOUNCEMENT-ANSWER-FILTER
 $cfg->setConfigEntry('package_tag_announcement_answer_filter', 'PackageAnnouncementAnswerTagFilter');
 
+// CFG: PACKAGE-TAG-DHT-BOOTSTRAP-ANSWER-FILTER
+$cfg->setConfigEntry('package_tag_dht_bootstrap_answer_filter', 'PackageDhtBootstrapAnswerTagFilter');
+
 // CFG: PACKAGE-TAG-SELF-CONNECT-FILTER
 $cfg->setConfigEntry('package_tag_self_connect_filter', 'PackageSelfConnectTagFilter');
 
@@ -204,12 +201,18 @@ $cfg->setConfigEntry('package_tag_request_node_list_filter', 'PackageRequestNode
 // CFG: PACKAGE-TAG-REQUEST-NODE-LIST-ANSWER-FILTER
 $cfg->setConfigEntry('package_tag_request_node_list_answer_filter', 'PackageRequestNodeListAnswerTagFilter');
 
+// CFG: PACKAGE-TAG-DHT-BOOTSTRAP-FILTER
+$cfg->setConfigEntry('package_tag_dht_bootstrap_filter', 'PackageDhtBootstrapTagFilter');
+
 // CFG: MESSAGE-TYPE-ANNOUNCEMENT-HANDLER-CLASS
 $cfg->setConfigEntry('message_type_announcement_handler_class', 'NodeMessageAnnouncementHandler');
 
 // CFG: MESSAGE-TYPE-ANNOUNCEMENT-ANSWER-HANDLER-CLASS
 $cfg->setConfigEntry('message_type_announcement_answer_handler_class', 'NodeMessageAnnouncementAnswerHandler');
 
+// CFG: MESSAGE-TYPE-DHT-BOOTSTRAP-ANSWER-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_dht_bootstrap_answer_handler_class', 'NodeMessageDhtBootstrapAnswerHandler');
+
 // CFG: MESSAGE-TYPE-SELF-CONNECT-HANDLER-CLASS
 $cfg->setConfigEntry('message_type_self_connect_handler_class', 'NodeMessageSelfConnectHandler');
 
@@ -219,17 +222,23 @@ $cfg->setConfigEntry('message_type_request_node_list_handler_class', 'NodeMessag
 // CFG: MESSAGE-TYPE-REQUEST-NODE-LIST-ANSWER-HANDLER-CLASS
 $cfg->setConfigEntry('message_type_request_node_list_answer_handler_class', 'NodeMessageRequestNodeListAnswerHandler');
 
+// CFG: MESSAGE-TYPE-DHT-BOOTSTRAP-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_dht_bootstrap_handler_class', 'NodeMessageDhtBootstrapHandler');
+
 // CFG: NODE-ANSWER-MESSAGE-ANNOUNCEMENT-HELPER-CLASS
 $cfg->setConfigEntry('node_answer_message_announcement_helper_class', 'NodeAnnouncementMessageAnswerHelper');
 
 // CFG: NODE-ANSWER-MESSAGE-REQUEST-NODE-LIST-HELPER-CLASS
 $cfg->setConfigEntry('node_answer_message_request_node_list_helper_class', 'NodeRequestNodeListMessageAnswerHelper');
 
+// CFG: NODE-ANSWER-MESSAGE-ANNOUNCEMENT-HELPER-CLASS
+$cfg->setConfigEntry('node_answer_message_dht_bootstrap_helper_class', 'NodeDhtBootstrapMessageAnswerHelper');
+
 // CFG: NODE-NEXT-ANNOUNCEMENT-ANSWER-OKAY-HELPER-CLASS
 $cfg->setConfigEntry('node_next_announcement_answer_okay_helper_class', 'NodeRequestNodeListHelper');
 
-// CFG: NEWS-READER-CLASS
-$cfg->setConfigEntry('news_reader_class', 'ConsoleNewsReader');
+// CFG: NEWS-READER-MAIN-CLASS
+$cfg->setConfigEntry('news_reader_main_class', 'ConsoleNewsReader');
 
 // CFG: NODE-ANNOUNCEMENT-TEMPLATE-CLASS
 $cfg->setConfigEntry('node_announcement_template_class', 'XmlAnnouncementTemplateEngine');
@@ -240,6 +249,12 @@ $cfg->setConfigEntry('node_announcement_answer_template_class', 'XmlAnnouncement
 // CFG: NODE-REQUEST-NODE-LIST-TEMPLATE-CLASS
 $cfg->setConfigEntry('node_request_node_list_template_class', 'XmlRequestNodeListTemplateEngine');
 
+// CFG: NODE-DHT-BOOTSTRAP-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_dht_bootstrap_template_class', 'XmlDhtBootstrapTemplateEngine');
+
+// CFG: NODE-DHT-BOOTSTRAP-ANSWER-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_dht_bootstrap_answer_template_class', 'XmlDhtBootstrapAnswerTemplateEngine');
+
 // CFG: NODE-REQUEST-NODE-LIST-ANSWER-TEMPLATE-CLASS
 $cfg->setConfigEntry('node_request_node_list_answer_template_class', 'XmlRequestNodeListAnswerTemplateEngine');
 
@@ -249,6 +264,9 @@ $cfg->setConfigEntry('node_request_node_list_entries_template_class', 'XmlReques
 // CFG: DHT-BOOTSTRAP-TEMPLATE-CLASS
 $cfg->setConfigEntry('dht_bootstrap_template_class', 'XmlDhtBootstrapTemplateEngine');
 
+// CFG: DHT-PUBLISH-ENTRY-TEMPLATE-CLASS
+$cfg->setConfigEntry('dht_publish_entry_template_class', 'XmlDhtPublishEntryTemplateEngine');
+
 // CFG: NODE-MESSAGE-TEMPLATE-EXTENSION
 $cfg->setConfigEntry('node_message_template_extension', '.xml');
 
@@ -267,15 +285,33 @@ $cfg->setConfigEntry('node_announcement_stacker_class', 'FiLoStacker');
 // CFG: NODE-ANNOUNCEMENT-ANSWER-STACKER-CLASS
 $cfg->setConfigEntry('node_announcement_answer_stacker_class', 'FiLoStacker');
 
+// CFG: NODE-DHT-BOOTSTRAP-STACKER-CLASS
+$cfg->setConfigEntry('node_dht_bootstrap_stacker_class', 'FiLoStacker');
+
+// CFG: NODE-DHT-BOOTSTRAP-ANSWER-STACKER-CLASS
+$cfg->setConfigEntry('node_dht_bootstrap_answer_stacker_class', 'FiLoStacker');
+
 // CFG: NODE-REQUEST-NODE-LIST-ANSWER-STACKER-CLASS
 $cfg->setConfigEntry('node_request_node_list_answer_stacker_class', 'FiLoStacker');
 
 // CFG: NODE-REQUEST-NODE-LIST-ENTRY-STACKER-CLASS
 $cfg->setConfigEntry('node_request_node_list_entry_stacker_class', 'FiLoStacker');
 
+// CFG: DHT-STACKER-CLASS
+$cfg->setConfigEntry('dht_stacker_class', 'FiLoStacker');
+
+// CFG: RAW-DATA-STACKER-CLASS
+$cfg->setConfigEntry('raw_data_stacker_class', 'FiLoStacker');
+
+// CFG: MULTIPLE-MESSAGE-STACKER-CLASS
+$cfg->setConfigEntry('multiple_message_stacker_class', 'FiFoStacker');
+
 // CFG: NODE-ANNOUNCEMENT-ANSWER-TEMPLATE-TYPE
 $cfg->setConfigEntry('node_announcement_answer_template_type', 'xml/answer/announcement');
 
+// CFG: NODE-DHT-BOOTSTRAP-ANSWER-TEMPLATE-TYPE
+$cfg->setConfigEntry('node_dht_bootstrap_answer_template_type', 'xml/answer/dht_bootstrap');
+
 // CFG: NODE-REQUEST-NODE-LIST-ANSWER-TEMPLATE-TYPE
 $cfg->setConfigEntry('node_request_node_list_answer_template_type', 'xml/answer/requests');
 
@@ -310,7 +346,10 @@ $cfg->setConfigEntry('node_object_registry_stacker_class', 'FiLoStacker');
 $cfg->setConfigEntry('node_object_type_registry_class', 'ObjectTypeRegistry');
 
 // CFG: DHT-BOOTSTRAP-TEMPLATE-TYPE
-$cfg->setConfigEntry('dht_bootstrap_template_type', 'xml/dht_bootstrap');
+$cfg->setConfigEntry('node_dht_bootstrap_template_type', 'xml/dht_bootstrap');
+
+// CFG: DHT-PUBLISH-TEMPLATE-TYPE
+$cfg->setConfigEntry('node_dht_publish_template_type', 'xml/dht_publish');
 
 // CFG: CODE-TEMPLATE-TYPE
 $cfg->setConfigEntry('code_template_type', 'xml');
@@ -330,6 +369,9 @@ $cfg->setConfigEntry('chunk_handler_stacker_class', 'FiFoStacker');
 // CFG: DHT-BOOTSTRAP-STACKER-CLASS
 $cfg->setConfigEntry('dht_bootstrap_stacker_class', 'FiFoStacker');
 
+// CFG: DHT-PUBLISH-STACKER-CLASS
+$cfg->setConfigEntry('dht_publish_stacker_class', 'FiFoStacker');
+
 // CFG: PRODUCER-OUTGOING-QUEUE
 $cfg->setConfigEntry('producer_outgoing_queue', 'FiFoStacker');
 
@@ -342,6 +384,12 @@ $cfg->setConfigEntry('stacker_node_announcement_max_size', 20);
 // CFG: STACKER-NODE-ANNOUNCEMENT-ANSWER-MAX-SIZE
 $cfg->setConfigEntry('stacker_node_announcement_answer_max_size', 20);
 
+// CFG: STACKER-NODE-DHT-BOOTSTRAP-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_dht_bootstrap_max_size', 10);
+
+// CFG: STACKER-NODE-DHT-BOOTSTRAP-ANSWER-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_dht_bootstrap_answer_max_size', 20);
+
 // CFG: STACKER-NODE-SELF-CONNECT-MAX-SIZE
 $cfg->setConfigEntry('stacker_node_self_connect_max_size', 10);
 
@@ -381,24 +429,15 @@ $cfg->setConfigEntry('stacker_package_processed_message_max_size', 400);
 // CFG: STACKER-PACKAGE-BACKBUFFER-MAX-SIZE
 $cfg->setConfigEntry('stacker_package_backbuffer_max_size', 1000);
 
-// CFG: STACKER-IN-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_in_queue_max_size', 10000);
-
-// CFG: STACKER-OUT-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_out_queue_max_size', 10000);
-
 // CFG: STACKER-NODE-OBJECT-REGISTRY-MAX-SIZE
 $cfg->setConfigEntry('stacker_node_object_registry_max_size', 100);
 
-// CFG: STACKER-OUTGOING-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_outgoing_queue_max_size', 100000);
-
-// CFG: STACKER-INCOMING-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_incoming_queue_max_size', 100000);
-
 // CFG: STACKER-RAW-DATA-MAX-SIZE
 $cfg->setConfigEntry('stacker_raw_data_max_size', 100);
 
+// CFG: STACKER-OUTGOING-STREAM-MAX-SIZE
+$cfg->setConfigEntry('stacker_outgoing_stream_max_size', 100);
+
 // CFG: STACKER-FINAL-CHUNKS-MAX-SIZE
 $cfg->setConfigEntry('stacker_final_chunks_max_size', 100);
 
@@ -414,38 +453,29 @@ $cfg->setConfigEntry('stacker_decoded_package_max_size', 100);
 // CFG: STACKER-DHT-BOOTSTRAP-MAX-SIZE
 $cfg->setConfigEntry('stacker_dht_bootstrap_max_size', 10);
 
-// CFG: NEWS-MAIN-LIMIT
-$cfg->setConfigEntry('news_main_limit', 5);
-
-// CFG: TASK-HANDLER-CLASS
-$cfg->setConfigEntry('task_handler_class', 'TaskHandler');
-
-// CFG: TASK-QUERY-HANDLER-STARTUP-DELAY
-$cfg->setConfigEntry('task_query_handler_startup_delay', 1000);
+// CFG: STACKER-DHT-PUBLISH-MAX-SIZE
+$cfg->setConfigEntry('stacker_dht_publish_max_size', 10);
 
-// CFG: TASK-QUERY-HANDLER-INTERVAL-DELAY
-$cfg->setConfigEntry('task_query_handler_interval_delay', 10);
+// CFG: STACKER-DHT-INSERT-NODE-MAX-SIZE
+$cfg->setConfigEntry('stacker_dht_insert_node_max_size', 100);
 
-// CFG: TASK-QUERY-HANDLER-MAX-RUNS
-$cfg->setConfigEntry('task_query_handler_max_runs', 0);
+// CFG: STACKER-DHT-PENDING_PUBLISH-MAX-SIZE
+$cfg->setConfigEntry('stacker_dht_pending_publish_max_size', 100);
 
-// CFG: TASK-QUEUE-HANDLER-STARTUP-DELAY
-$cfg->setConfigEntry('task_queue_handler_startup_delay', 1000);
+// CFG: STACKER-MULTIPLE-MESSAGE-MAX-SIZE
+$cfg->setConfigEntry('stacker_multiple_message_max_size', 10);
 
-// CFG: TASK-QUEUE-HANDLER-INTERVAL-DELAY
-$cfg->setConfigEntry('task_queue_handler_interval_delay', 10);
-
-// CFG: TASK-QUEUE-HANDLER-MAX-RUNS
-$cfg->setConfigEntry('task_queue_handler_max_runs', 0);
+// CFG: NEWS-MAIN-LIMIT
+$cfg->setConfigEntry('news_main_limit', 5);
 
-// CFG: TASK-IDLE-LOOP-STARTUP-DELAY
-$cfg->setConfigEntry('task_idle_loop_startup_delay', 0);
+// CFG: TASK-PACKAGE-TAGS-INIT-STARTUP-DELAY
+$cfg->setConfigEntry('task_package_tags_init_startup_delay', 50);
 
-// CFG: TASK-IDLE-LOOP-INTERVAL-DELAY
-$cfg->setConfigEntry('task_idle_loop_interval_delay', 0);
+// CFG: TASK-PACKAGE-TAGS-INIT-INTERVAL-DELAY
+$cfg->setConfigEntry('task_package_tags_init_interval_delay', 1000*60*60*24*7);
 
-// CFG: TASK-IDLE-LOOP-MAX-RUNS
-$cfg->setConfigEntry('task_idle_loop_max_runs', 0);
+// CFG: TASK-PACKAGE-TAGS-INIT-MAX-RUNS
+$cfg->setConfigEntry('task_package_tags_init_max_runs', 1);
 
 // CFG: TASK-SELF-CONNECT-STARTUP-DELAY
 $cfg->setConfigEntry('task_self_connect_startup_delay', 4000);
@@ -483,8 +513,8 @@ $cfg->setConfigEntry('task_ping_interval_delay', 1000*60*60);
 // CFG: TASK-PING-MAX-RUNS
 $cfg->setConfigEntry('task_ping_max_runs', 0);
 
-// CFG: IDLE-TASK-CLASS
-$cfg->setConfigEntry('idle_task_class', 'IdleLoopTask');
+// CFG: NODE-PACKAGE-TAGS-INIT-TASK-CLASS
+$cfg->setConfigEntry('node_package_tags_init_task_class', 'NodePackageTagsInitTask');
 
 // CFG: NODE-SELFCONNECT-TASK-CLASS
 $cfg->setConfigEntry('node_selfconnect_task_class', 'NodeSelfConnectTask');
@@ -519,9 +549,18 @@ $cfg->setConfigEntry('node_dht_init_task_class', 'NodeDhtInitializationTask');
 // CFG: NODE-DHT-BOOTSTRAP-TASK-CLASS
 $cfg->setConfigEntry('node_dht_bootstrap_task_class', 'NodeDhtBootstrapTask');
 
+// CFG: NODE-DHT-LATE-BOOTSTRAP-TASK-CLASS
+$cfg->setConfigEntry('node_dht_late_bootstrap_task_class', 'NodeDhtLateBootstrapTask');
+
 // CFG: NODE-DHT-QUERY-TASK-CLASS
 $cfg->setConfigEntry('node_dht_query_task_class', 'NodeDhtQueryTask');
 
+// CFG: NODE-DHT-PUBLICATION-CHECK-TASK-CLASS
+$cfg->setConfigEntry('node_dht_publication_check_task_class', 'NodeDhtPublicationCheckTask');
+
+// CFG: NODE-DHT-PUBLICATION-TASK-CLASS
+$cfg->setConfigEntry('node_dht_publication_task_class', 'NodeDhtPublicationTask');
+
 // CFG: TASK-NETWORK-PACKAGE-WRITER-STARTUP-DELAY
 $cfg->setConfigEntry('task_network_package_writer_startup_delay', 2500);
 
@@ -568,7 +607,7 @@ $cfg->setConfigEntry('task_chunk_assembler_interval_delay', 50);
 $cfg->setConfigEntry('task_chunk_assembler_max_runs', 0);
 
 // CFG: TASK-DHT-INIT-STATUP-DELAY
-$cfg->setConfigEntry('task_dht_init_startup_delay', 100);
+$cfg->setConfigEntry('task_dht_init_startup_delay', 200);
 
 // CFG: TASK-DHT-INIT-INTERVAL-DELAY
 $cfg->setConfigEntry('task_dht_init_interval_delay', 86400000); // = 1 day (won't matter anyway)
@@ -577,7 +616,7 @@ $cfg->setConfigEntry('task_dht_init_interval_delay', 86400000); // = 1 day (won'
 $cfg->setConfigEntry('task_dht_init_max_runs', 1);
 
 // CFG: TASK-DHT-BOOTSTRAP-STATUP-DELAY
-$cfg->setConfigEntry('task_dht_bootstrap_startup_delay', 100);
+$cfg->setConfigEntry('task_dht_bootstrap_startup_delay', 500);
 
 // CFG: TASK-DHT-BOOTSTRAP-INTERVAL-DELAY
 $cfg->setConfigEntry('task_dht_bootstrap_interval_delay', 3600000); // = 1 hour (won't matter anyway)
@@ -585,6 +624,15 @@ $cfg->setConfigEntry('task_dht_bootstrap_interval_delay', 3600000); // = 1 hour
 // CFG: TASK-DHT-BOOTSTRAP-MAX-RUNS
 $cfg->setConfigEntry('task_dht_bootstrap_max_runs', 1);
 
+// CFG: TASK-DHT-LATE-BOOTSTRAP-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_late_bootstrap_startup_delay', 100);
+
+// CFG: TASK-DHT-LATE-BOOTSTRAP-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_late_bootstrap_interval_delay', 3600000); // = 1 hour (won't matter anyway)
+
+// CFG: TASK-DHT-LATE-BOOTSTRAP-MAX-RUNS
+$cfg->setConfigEntry('task_dht_late_bootstrap_max_runs', 1);
+
 // CFG: TASK-DHT-QUERY-STATUP-DELAY
 $cfg->setConfigEntry('task_dht_query_startup_delay', 1400);
 
@@ -594,8 +642,23 @@ $cfg->setConfigEntry('task_dht_query_interval_delay', 50);
 // CFG: TASK-DHT-QUERY-MAX-RUNS
 $cfg->setConfigEntry('task_dht_query_max_runs', 0);
 
-// CFG: TASK-LIST-CLASS
-$cfg->setConfigEntry('task_list_class', 'TaskList');
+// CFG: TASK-DHT-CHECK-PUBLICATION-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_check_publication_startup_delay', 10000);
+
+// CFG: TASK-DHT-CHECK-PUBLICATION-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_check_publication_interval_delay', 1800000); // = 1/2 hour
+
+// CFG: TASK-DHT-CHECK-PUBLICATION-MAX-RUNS
+$cfg->setConfigEntry('task_dht_check_publication_max_runs', 0);
+
+// CFG: TASK-DHT-PUBLICATION-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_publication_startup_delay', 8000);
+
+// CFG: TASK-DHT-PUBLICATION-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_publication_interval_delay', 5000);
+
+// CFG: TASK-DHT-PUBLICATION-MAX-RUNS
+$cfg->setConfigEntry('task_dht_publication_max_runs', 0);
 
 // CFG: TASK-POOL-ITERATOR-CLASS
 $cfg->setConfigEntry('task_pool_iterator_class', 'TaskPoolIterator');
@@ -603,51 +666,15 @@ $cfg->setConfigEntry('task_pool_iterator_class', 'TaskPoolIterator');
 // CFG: MONITOR-POOL-ITERATOR-CLASS
 $cfg->setConfigEntry('monitor_pool_iterator_class', 'MonitorPoolIterator');
 
-// CFG: DEFAULT-ITERATOR-CLASS
-$cfg->setConfigEntry('default_iterator_class', 'DefaultIterator');
-
 // CFG: QUERY-ITERATOR-CLASS
 $cfg->setConfigEntry('query_iterator_class', 'DefaultIterator');
 
 // CFG: NODE-PING-ITERATOR-CLASS
 $cfg->setConfigEntry('node_ping_iterator_class', 'HubPingIterator');
 
-// CFG: LOCAL-QUERY-LIST-CLASS
-$cfg->setConfigEntry('local_query_list_class', 'LocalQueryList');
-
-// CFG: LOCAL-QUERY-CLASS
-$cfg->setConfigEntry('local_query_class', 'LocalQuery');
-
 // CFG: WEB-TEMPLATE-CLASS @OVERRIDE
 $cfg->setConfigEntry('web_template_class', 'ConsoleTemplateEngine');
 
-// CFG: NODE-INIT-STATE-CLASS
-$cfg->setConfigEntry('node_init_state_class', 'NodeInitState');
-
-// CFG: NODE-VIRGIN-STATE-CLASS
-$cfg->setConfigEntry('node_virgin_state_class', 'NodeVirginState');
-
-// CFG: NODE-ACTIVE-STATE-CLASS
-$cfg->setConfigEntry('node_active_state_class', 'NodeActiveState');
-
-// CFG: NODE-ANNOUNCED-STATE-CLASS
-$cfg->setConfigEntry('node_announced_state_class', 'NodeAnnouncedState');
-
-// CFG: NODE-REACHABLE-STATE-CLASS
-$cfg->setConfigEntry('node_reachable_state_class', 'NodeReachableState');
-
-// CFG: NODE-ANNOUNCEMENT-COMPLETED-STATE-CLASS
-$cfg->setConfigEntry('node_announcement_completed_state_class', 'NodeAnnouncementCompletedState');
-
-// CFG: DHT-INIT-STATE-CLASS
-$cfg->setConfigEntry('dht_init_state_class', 'DhtInitState');
-
-// CFG: DHT-VIRGIN-STATE-CLASS
-$cfg->setConfigEntry('dht_virgin_state_class', 'DhtVirginState');
-
-// CFG: DHT-ACTIVE-STATE-CLASS
-$cfg->setConfigEntry('dht_active_state_class', 'DhtActiveState');
-
 // CFG: NETWORK-PACKAGE-CLASS
 $cfg->setConfigEntry('network_package_class', 'NetworkPackage');
 
@@ -663,12 +690,24 @@ $cfg->setConfigEntry('socket_registry_class', 'SocketRegistry');
 // CFG: SOCKET-CONTAINER-CLASS
 $cfg->setConfigEntry('socket_container_class', 'SocketContainer');
 
-// CFG: PACKAGE-RECIPIENT-DISCOVERY
+// CFG: PACKAGE-RECIPIENT-DISCOVERY-CLASS
 $cfg->setConfigEntry('package_recipient_discovery_class', 'PackageRecipientDiscovery');
 
-// CFG: SOCKET-DISCOVERY
+// CFG: SOCKET-DISCOVERY-CLASS
 $cfg->setConfigEntry('socket_discovery_class', 'PackageSocketDiscovery');
 
+// CFG: DHT-RECIPIENT-DISCOVERY-CLASS
+$cfg->setConfigEntry('dht_recipient_discovery_class', 'DhtRecipientDiscovery');
+
+// CFG: UNL-DISCOVERY-CLASS
+$cfg->setConfigEntry('unl_discovery_class', 'UniversalNodeLocatorDiscovery');
+
+// CFG: TCP-PROTOCOL-HANDLER-CLASS
+$cfg->setConfigEntry('tcp_protocol_handler_class', 'TcpProtocolHandler');
+
+// CFG: UNIVERSAL-NODE-LOCATOR-CLASS
+$cfg->setConfigEntry('universal_node_locator_class', 'UniversalNodeLocator');
+
 // CFG: RECIPIENT-LIST-CLASS
 $cfg->setConfigEntry('recipient_list_class', 'RecipientList');
 
@@ -681,6 +720,12 @@ $cfg->setConfigEntry('tcp_connection_helper_class', 'TcpConnectionHelper');
 // CFG: UDP-CONNECTION-HELPER-CLASS
 $cfg->setConfigEntry('udp_connection_helper_class', 'UdpConnectionHelper');
 
+// CFG: HUB-COMMUNICATION-PROTOCOL-TYPE
+$cfg->setConfigEntry('hub_communication_protocol_type', 'tcp');
+
+// CFG: TCP-PROTOCOL-RESOLVER-CLASS
+$cfg->setConfigEntry('tcp_protocol_resolver_class', 'TcpProtocolResolver');
+
 // CFG: TCP-BUFFER-LENGTH
 $cfg->setConfigEntry('tcp_buffer_length', 1024);
 
@@ -715,14 +760,14 @@ $cfg->setConfigEntry('private_key', '');
 // CFG: PRIVATE-KEY-HASH
 $cfg->setConfigEntry('private_key_hash', '');
 
-// CFG: INTERNAL-IP
-$cfg->setConfigEntry('internal_ip', ConsoleTools::acquireSelfIPAddress());
+// CFG: EXTERNAL-ADDRESS
+$cfg->setConfigEntry('external_address', '');
 
-// CFG: EXTERNAL-IP
-$cfg->setConfigEntry('external_ip', '');
+// CFG: INTERNAL-ADDRESS
+$cfg->setConfigEntry('internal_address', '');
 
-// CFG: ALLOW-PUBLISH-INTERNAL-IP
-$cfg->setConfigEntry('allow_publish_internal_ip', 'N');
+// CFG: ALLOW-PUBLISH-INTERNAL-ADDRESS
+$cfg->setConfigEntry('allow_publish_internal_address', 'N');
 
 // CFG: NODE-STATUS
 $cfg->setConfigEntry('node_status', 'invalid');
@@ -764,6 +809,37 @@ $cfg->setConfigEntry('package_recipient_max_count', 3);
 // CFG: NODE-DHT-CLASS
 $cfg->setConfigEntry('node_dht_class', 'NodeDhtFacade');
 
+// CFG: MAX-DHT-RECIPIENTS
+$cfg->setConfigEntry('max_dht_recipients', 10);
+
+// CFG: CONNECTION-INFO-CLASS
+$cfg->setConfigEntry('connection_info_class', 'ConnectionInfo');
+
+// CFG: DEFAULT-HUB-CONSOLE-CONTROLLER
+$cfg->setConfigEntry('default_hub_console_controller', 'main');
+
+///////////////////////////////////////////////////////////////////////////////
+//                              Node states
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: NODE-INIT-STATE-CLASS
+$cfg->setConfigEntry('node_init_state_class', 'NodeInitState');
+
+// CFG: NODE-VIRGIN-STATE-CLASS
+$cfg->setConfigEntry('node_virgin_state_class', 'NodeVirginState');
+
+// CFG: NODE-ACTIVE-STATE-CLASS
+$cfg->setConfigEntry('node_active_state_class', 'NodeActiveState');
+
+// CFG: NODE-ANNOUNCING-STATE-CLASS
+$cfg->setConfigEntry('node_announcing_state_class', 'NodeAnnouncingState');
+
+// CFG: NODE-REACHABLE-STATE-CLASS
+$cfg->setConfigEntry('node_reachable_state_class', 'NodeReachableState');
+
+// CFG: NODE-ANNOUNCEMENT-COMPLETED-STATE-CLASS
+$cfg->setConfigEntry('node_announcement_completed_state_class', 'NodeAnnouncementCompletedState');
+
 ///////////////////////////////////////////////////////////////////////////////
 //                              Peer states
 ///////////////////////////////////////////////////////////////////////////////
@@ -792,6 +868,22 @@ $cfg->setConfigEntry('peer_operation_already_progress_state_class', 'OperationAl
 // CFG: PEER-NO-ROUTE-TO-HOST-STATE-CLASS
 $cfg->setConfigEntry('peer_no_route_to_host_state_class', 'NoRouteToHostPeerState');
 
+///////////////////////////////////////////////////////////////////////////////
+//                               DHT states
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: DHT-INIT-STATE-CLASS
+$cfg->setConfigEntry('dht_init_state_class', 'DhtInitState');
+
+// CFG: DHT-VIRGIN-STATE-CLASS
+$cfg->setConfigEntry('dht_virgin_state_class', 'DhtVirginState');
+
+// CFG: DHT-BOOTING-STATE-CLASS
+$cfg->setConfigEntry('dht_booting_state_class', 'DhtBootingState');
+
+// CFG: DHT-ACTIVE-STATE-CLASS
+$cfg->setConfigEntry('dht_active_state_class', 'DhtActiveState');
+
 ///////////////////////////////////////////////////////////////////////////////
 //                       Message answer-status handler
 ///////////////////////////////////////////////////////////////////////////////
@@ -802,6 +894,110 @@ $cfg->setConfigEntry('announcement_answer_status_okay_handler_class', 'Announcem
 // CFG: REQUEST-NODE-LIST-ANSWER-STATUS-OKAY-HANDLER-CLASS
 $cfg->setConfigEntry('request_node_list_answer_status_okay_handler_class', 'RequestNodeListAnswerOkayHandler');
 
+///////////////////////////////////////////////////////////////////////////////
+//                          Recipient resolver
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: DIRECT-RECIPIENT-CLASS
+$cfg->setConfigEntry('direct_recipient_class', 'DirectRecipient');
+
+// CFG: DHT-RECIPIENT-CLASS
+$cfg->setConfigEntry('dht_recipient_class', 'DhtRecipient');
+
+// CFG: SELF-RECIPIENT-CLASS
+$cfg->setConfigEntry('self_recipient_class', 'SelfRecipient');
+
+// CFG: UPPER-RECIPIENT-CLASS
+$cfg->setConfigEntry('upper_recipient_class', 'UpperRecipient');
+
+///////////////////////////////////////////////////////////////////////////////
+//                         Miner configuration
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: MINER-DEFAULT-MODE (can be only 'chash' at the moment)
+$cfg->setConfigEntry('miner_default_mode', 'chash');
+
+// CFG: MINER-BUFFER-STACKER-CLASS
+$cfg->setConfigEntry('miner_buffer_stacker_class', 'FiFoStacker');
+
+// CFG: HUB-CONSOLE-CMD-CRUNCHER-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_miner_resolver_class', 'HubConsoleCommandResolver');
+
+// CFG: MINER-PHP-REQUIREMENTS-FILTER
+$cfg->setConfigEntry('miner_php_requirements_filter', 'MinerPhpRequirementsFilter');
+
+// CFG: MINER-INITIALIZER-FILTER
+$cfg->setConfigEntry('miner_initializer_filter', 'MinerInitializationFilter');
+
+// CFG: MINER-WELCOME-TEASER-FILTER
+$cfg->setConfigEntry('miner_welcome_teaser_filter', 'MinerWelcomeTeaserFilter');
+
+// CFG: MINER-BOOTSTRAP-TASK-HANDLER-INITIALIZER-FILTER
+$cfg->setConfigEntry('miner_bootstrap_task_handler_initializer_filter', 'MinerTaskHandlerInitializerFilter');
+
+// CFG: CRUNCHER-BOOTSTRAP-EXTRA-BOOTSTRAPPING-FILTER
+$cfg->setConfigEntry('miner_bootstrap_extra_bootstrapping_filter', 'MinerBootstrapExtraBootstrappingFilter');
+
+// CFG: MINHER-BOOTSTRAP-BUFFER-QUEUE-INITIALIZER-FILTER
+$cfg->setConfigEntry('miner_bootstrap_buffer_queue_initializer_filter', 'MinerBootstrapBufferQueueInitializerFilter');
+
+// CFG: MINER-BOOTSTRAP-GENERIC-ACTIVATION-FILTER
+$cfg->setConfigEntry('miner_bootstrap_generic_activation_filter', 'MinerBootstrapGenericActivationFilter');
+
+// CFG: MINER-SHUTDOWN-FILTER
+$cfg->setConfigEntry('miner_shutdown_filter', 'MinerShutdownFilter');
+
+// CFG: MINER-INIT-STATE-CLASS
+$cfg->setConfigEntry('miner_init_state_class', 'MinerInitState');
+
+// CFG: MINER-BOOTING-STATE-CLASS
+$cfg->setConfigEntry('miner_booting_state_class', 'MinerBootingState');
+
+// CFG: MINER-BLOCK-FETCHER-TASK-CLASS
+$cfg->setConfigEntry('miner_block_fetcher_task_class', 'MinerBlockFetcherTask');
+
+// CFG: TASK-MINER-BLOCK-FETCHER-STARTUP-DELAY
+$cfg->setConfigEntry('task_miner_block_fetcher_startup_delay', 1000);
+
+// CFG: TASK-MINER-BLOCK-FETCHER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_miner_block_fetcher_interval_delay', 1000);
+
+// CFG: TASK--FETCHER-MAX-RUNS
+$cfg->setConfigEntry('task_miner_block_fetcher_max_runs', 0);
+
+// CFG: MINER-TEST-GENESIS-BLOCK-PRODUCER-TASK-CLASS
+$cfg->setConfigEntry('miner_test_genesis_block_producer_task_class', 'MinerTestGenesisBlockProducerTask');
+
+// CFG: TASK-MINER-TEST-GENESIS-BLOCK-PRODUCER-STARTUP-DELAY
+$cfg->setConfigEntry('task_miner_test_genesis_block_producer_startup_delay', 500);
+
+// CFG: TASK-MINER-TEST-GENESIS-BLOCK-PRODUCER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_miner_test_genesis_block_producer_interval_delay', 1000*60*60);
+
+// CFG: TASK-MINER-TEST-GENESIC-BLOCK-PRODUCER-MAX-RUNS
+$cfg->setConfigEntry('task_miner_test_genesis_block_producer_max_runs', 1);
+
+// CFG: MINER_NODE-COMMUNICATOR-TASK-CLASS
+$cfg->setConfigEntry('miner_node_communicator_task_class', 'MinerNodeCommunicatorTask');
+
+// CFG: TASK-MINER_NODE-COMMUNICATOR-STARTUP-DELAY
+$cfg->setConfigEntry('task_miner_node_communicator_startup_delay', 500);
+
+// CFG: TASK-MINER_NODE-COMMUNICATOR-INTERVAL-DELAY
+$cfg->setConfigEntry('task_miner_node_communicator_interval_delay', 250);
+
+// CFG: TASK-MINER_NODE-COMMUNICATOR-MAX-RUNS
+$cfg->setConfigEntry('task_miner_node_communicator_max_runs', 0);
+
+// CFG: MINER-TEST-GENESIS-BLOCK-PRODUCER-CLASS
+$cfg->setConfigEntry('miner_test_genesis_block_producer_class', 'MinerTestGenesisBlockProducer');
+
+// CFG: MINER-NODE-COMMUNICATOR-CLASS
+$cfg->setConfigEntry('miner_node_communicator_class', 'MinerNodeCommunicator');
+
+// CFG: MINER-TEST-HASH-BLOCK-CLASS
+$cfg->setConfigEntry('miner_test_hash_block_class', 'HashBlock');
+
 ///////////////////////////////////////////////////////////////////////////////
 //                        Cruncher configuration
 ///////////////////////////////////////////////////////////////////////////////
@@ -812,8 +1008,8 @@ $cfg->setConfigEntry('cruncher_default_mode', 'mcrypt');
 // CFG: CRUNCHER-BUFFER-STACKER-CLASS
 $cfg->setConfigEntry('cruncher_buffer_stacker_class', 'FiFoStacker');
 
-// CFG: HUBCONSOLE-CMD-CRUNCHER-RESOLVER-CLASS
-$cfg->setConfigEntry('hubconsole_cmd_cruncher_resolver_class', 'HubConsoleCommandResolver');
+// CFG: HUB-CONSOLE-CMD-CRUNCHER-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_cruncher_resolver_class', 'HubConsoleCommandResolver');
 
 // CFG: CRUNCHER-PHP-REQUIREMENTS-FILTER
 $cfg->setConfigEntry('cruncher_php_requirements_filter', 'CruncherPhpRequirementsFilter');
@@ -842,12 +1038,6 @@ $cfg->setConfigEntry('cruncher_shutdown_filter', 'CruncherShutdownFilter');
 // CFG: CRUNCHER-WORK-UNIT-FETCHER-TASK-CLASS
 $cfg->setConfigEntry('cruncher_work_unit_fetcher_task_class', 'CruncherWorkUnitFetcherTask');
 
-// CFG: CRUNCHER-TEST-UNIT-PRODUCER-TASK-CLASS
-$cfg->setConfigEntry('cruncher_test_unit_producer_task_class', 'CruncherTestUnitProducerTask');
-
-// CFG: CRUNCHER-KEY-PRODUCER-TASK-CLASS
-$cfg->setConfigEntry('cruncher_key_producer_task_class', 'CruncherKeyProducerTask');
-
 // CFG: TASK-CRUNCHER-WORK-UNIT-FETCHER-STARTUP-DELAY
 $cfg->setConfigEntry('task_cruncher_work_unit_fetcher_startup_delay', 1000);
 
@@ -857,6 +1047,9 @@ $cfg->setConfigEntry('task_cruncher_work_unit_fetcher_interval_delay', 10);
 // CFG: TASK-CRUNCHER-WORK-UNIT-FETCHER-MAX-RUNS
 $cfg->setConfigEntry('task_cruncher_work_unit_fetcher_max_runs', 0);
 
+// CFG: CRUNCHER-TEST-UNIT-PRODUCER-TASK-CLASS
+$cfg->setConfigEntry('cruncher_test_unit_producer_task_class', 'CruncherTestUnitProducerTask');
+
 // CFG: TASK-CRUNCHER-TEST-UNIT-PRODUCER-STARTUP-DELAY
 $cfg->setConfigEntry('task_cruncher_test_unit_producer_startup_delay', 500);
 
@@ -866,6 +1059,9 @@ $cfg->setConfigEntry('task_cruncher_test_unit_producer_interval_delay', 1000*60*
 // CFG: TASK-CRUNCHER-TEST-UNIT-PRODUCER-MAX-RUNS
 $cfg->setConfigEntry('task_cruncher_test_unit_producer_max_runs', 0);
 
+// CFG: CRUNCHER-KEY-PRODUCER-TASK-CLASS
+$cfg->setConfigEntry('cruncher_key_producer_task_class', 'CruncherKeyProducerTask');
+
 // CFG: TASK-CRUNCHER-KEY-PRODUCER-STARTUP-DELAY
 $cfg->setConfigEntry('task_cruncher_key_producer_startup_delay', 750);
 
@@ -911,6 +1107,9 @@ $cfg->setConfigEntry('cruncher_test_unit_template_type', 'xml/cruncher/producer'
 // CFG: STACKER-CRUNCHER-TEST-UNIT-MAX-SIZE
 $cfg->setConfigEntry('stacker_cruncher_test_unit_max_size', 20);
 
+// CFG: STACKER-OUTGOING-QUEUE-MAX-SIZE
+$cfg->setConfigEntry('stacker_outgoing_queue_max_size', 2000);
+
 // CFG: CRUNCHER-TEST-UNIT-MAX-COUNT
 $cfg->setConfigEntry('cruncher_test_unit_max_count', 1000);
 
@@ -927,7 +1126,7 @@ $cfg->setConfigEntry('test_unit_producer_key_iterator_class', 'TestUnitKeyProduc
 $cfg->setConfigEntry('work_unit_producer_key_iterator_class', 'WorkUnitKeyProducerIterator');
 
 // CFG: TEST-UNIT-RANDOM-SECRET-KEY-LENGTH
-$cfg->setConfigEntry('test_unit_random_secret_key_length', 8*4);
+$cfg->setConfigEntry('test_unit_random_secret_key_length', 8 * 32);
 
 // CFG: TEST-UNIT-SOURCE-CLASS
 $cfg->setConfigEntry('test_unit_source_class', 'TestUnitSource');
@@ -942,14 +1141,14 @@ $cfg->setConfigEntry('cruncher_init_state_class', 'CruncherInitState');
 $cfg->setConfigEntry('cruncher_virgin_state_class', 'CruncherVirginState');
 
 // CFG: CRUNCHER-PER-UNIT-KEY-LIMIT
-$cfg->setConfigEntry('cruncher_per_unit_key_limit', 10000);
+$cfg->setConfigEntry('cruncher_per_unit_key_limit', 1000);
 
 ///////////////////////////////////////////////////////////////////////////////
 //                            Chat Configuration
 ///////////////////////////////////////////////////////////////////////////////
 
-// CFG: HUBCONSOLE-CMD-CHAT-RESOLVER-CLASS
-$cfg->setConfigEntry('hubconsole_cmd_chat_resolver_class', 'HubConsoleCommandResolver');
+// CFG: HUB-CONSOLE-CMD-CHAT-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_chat_resolver_class', 'HubConsoleCommandResolver');
 
 // CFG: CHAT-PHP-REQUIREMENTS-FILTER
 $cfg->setConfigEntry('chat_php_requirements_filter', 'ChatPhpRequirementsFilter');
@@ -987,6 +1186,283 @@ $cfg->setConfigEntry('task_chat_telnet_listener_interval_delay', 10);
 // CFG: TASK-CHAT-TELNET-LISTENER-MAX-RUNS
 $cfg->setConfigEntry('task_chat_telnet_listener_max_runs', 0);
 
+///////////////////////////////////////////////////////////////////////////////
+//                            Crawler Configuration
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: BASE-FILE-STACKS-PATH
+$cfg->setConfigEntry('base_file_stacks_path', 'data/stacks');
+
+// CFG: FILE-STACKS-EXTENSION
+$cfg->setConfigEntry('file_stacks_extension', 'stack');
+
+// CFG: INDEX-EXTENSION
+$cfg->setConfigEntry('index_extension', '.idx');
+
+// CFG: HUB-CONSOLE-CMD-CHAT-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_crawler_resolver_class', 'HubConsoleCommandResolver');
+
+// CFG: CRAWLER-PHP-REQUIREMENTS-FILTER
+$cfg->setConfigEntry('crawler_php_requirements_filter', 'CrawlerPhpRequirementsFilter');
+
+// CFG: CRAWLER-INITIALIZER-FILTER
+$cfg->setConfigEntry('crawler_initializer_filter', 'CrawlerInitializationFilter');
+
+// CFG: NODE-CONSOLE-CRAWLER
+$cfg->setConfigEntry('node_console_crawler_class', 'NodeConsoleCrawler');
+
+// CFG: CRAWLER-WELCOME-TEASER-FILTER
+$cfg->setConfigEntry('crawler_welcome_teaser_filter', 'CrawlerWelcomeTeaserFilter');
+
+// CFG: CRAWLER-BOOTSTRAP-TASK-HANDLER-INITIALIZER-FILTER
+$cfg->setConfigEntry('crawler_bootstrap_task_handler_initializer_filter', 'CrawlerTaskHandlerInitializerFilter');
+
+// CFG: CRAWLER-BOOTSTRAP-EXTRA-BOOTSTRAPPING-FILTER
+$cfg->setConfigEntry('crawler_bootstrap_extra_bootstrapping_filter', 'CrawlerBootstrapExtraBootstrappingFilter');
+
+// CFG: CRAWLER-BOOTSTRAP-GENERIC-ACTIVATION-FILTER
+$cfg->setConfigEntry('crawler_bootstrap_generic_activation_filter', 'CrawlerBootstrapGenericActivationFilter');
+
+// CFG: CRAWLER-SHUTDOWN-FILTER
+$cfg->setConfigEntry('crawler_shutdown_filter', 'CrawlerShutdownFilter');
+
+// CFG: CRAWLER-NODE-COMMUNICATOR-CLASS
+$cfg->setConfigEntry('crawler_node_communicator_class', 'CrawlerNodeCommunicator');
+
+// CFG: CRAWLER-INIT-STATE-CLASS
+$cfg->setConfigEntry('crawler_init_state_class', 'CrawlerInitState');
+
+// CFG: CRAWLER-BOOTING-STATE-CLASS
+$cfg->setConfigEntry('crawler_booting_state_class', 'CrawlerBootingState');
+
+// CFG: COMMUNICATOR-INIT-STATE-CLASS
+$cfg->setConfigEntry('communicator_init_state_class', 'CommunicatorInitState');
+
+// CFG: CRAWLER-UPLOADED-LIST-SCANNER
+$cfg->setConfigEntry('crawler_uploaded_list_scanner', 'CrawlerUploadedListScanner');
+
+// CFG: CRAWLER-URL-SOURCE-LOCAL-START-CLASS
+$cfg->setConfigEntry('crawler_url_source_local_start_class', 'CrawlerLocalStartUrlSource');
+
+// CFG: CRAWLER-URL-SOURCE-UPLOADED-LIST-CLASS
+$cfg->setConfigEntry('crawler_url_source_uploaded_list_class', 'CrawlerUploadedListUrlSource');
+
+// CFG: CRAWLER-URL-SOURCE-RSS-START-CLASS
+$cfg->setConfigEntry('crawler_url_source_rss_start_class', 'CrawlerRssStartUrlSource');
+
+// CFG: CRAWLER-URL-SOURCE-FOUND-RSS-CLASS
+$cfg->setConfigEntry('crawler_url_source_found_rss_class', 'CrawlerFoundRssUrlSource');
+
+// CFG: CRAWLER-URL-STACKS
+$cfg->setConfigEntry('crawler_url_stacks', 'local_start:uploaded_list:rss_start:found_rss');
+
+// CFG: CRAWLER-NODE-COMMUNICATOR-TASK-CLASS
+$cfg->setConfigEntry('crawler_node_communicator_task_class', 'CrawlerNodeCommunicatorTask');
+
+// CFG: CRAWLER-URL-LOCAL-START-STACK-CLASS
+$cfg->setConfigEntry('crawler_url_local_start_stack_class', 'FiFoFileStack');
+
+// CFG: CRAWLER-URL-UPLOADED-LIST-STACK-CLASS
+$cfg->setConfigEntry('crawler_url_uploaded_list_stack_class', 'FiFoFileStack');
+
+// CFG: CRAWLER-URL-RSS-START-STACK-CLASS
+$cfg->setConfigEntry('crawler_url_rss_start_stack_class', 'FiFoFileStack');
+
+// CFG: CRAWLER-URL-FOUND-RSS-STACK-CLASS
+$cfg->setConfigEntry('crawler_url_found_rss_stack_class', 'FiFoFileStack');
+
+// CFG: CRAWLER-URL-LOCAL-START-FILE-STACK-INDEX-CLASS
+$cfg->setConfigEntry('crawler_url_local_start_file_stack_index_class', 'FileStackIndex');
+
+// CFG: CRAWLER-URL-UPLOADED-LIST-FILE-STACK-INDEX-CLASS
+$cfg->setConfigEntry('crawler_url_uploaded_list_file_stack_index_class', 'FileStackIndex');
+
+// CFG: CRAWLER-URL-RSS-START-FILE-STACK-INDEX-CLASS
+$cfg->setConfigEntry('crawler_url_rss_start_file_stack_index_class', 'FileStackIndex');
+
+// CFG: CRAWLER-URL-FOUND-RSS-FILE-STACK-INDEX-CLASS
+$cfg->setConfigEntry('crawler_url_found_rss_file_stack_index_class', 'FileStackIndex');
+
+// CFG: CRAWLER-URL-UPLOADED-LIST-URL-SOURCE-STACK-CLASS
+$cfg->setConfigEntry('crawler_uploaded_list_url_source_stack_class', 'FiFoStacker');
+
+// CFG: STACKER-CSV-FILE-MAX-SIZE
+$cfg->setConfigEntry('stacker_csv_file_max_size', 10);
+
+// CFG: STACKER-CSV-ENTRY-MAX-SIZE
+$cfg->setConfigEntry('stacker_csv_entry_max_size', 100);
+
+// CFG: TASK-CRAWLER-NODE-COMMUNICATOR-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_node_communicator_startup_delay', 500);
+
+// CFG: TASK-CRAWLER-NODE-COMMUNICATOR-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_node_communicator_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-NODE-COMMUNICATOR-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_node_communicator_max_runs', 0);
+
+// CFG: CRAWLER-LOCAL-URL-CRAWLER-TASK-CLASS
+$cfg->setConfigEntry('crawler_local_url_crawler_task_class', 'CrawlerLocalUrlCrawlerTask');
+
+// CFG: TASK-CRAWLER-LOCAL-URL-CRAWLER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_local_url_crawler_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-LOCAL-URL-CRAWLER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_local_url_crawler_interval_delay', 200);
+
+// CFG: TASK-CRAWLER-LOCAL-URL-CRAWLER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_local_url_crawler_max_runs', 0);
+
+// CFG: CRAWLER-REMOTE-URL-CRAWLER-TASK-CLASS
+$cfg->setConfigEntry('crawler_remote_url_crawler_task_class', 'CrawlerRemoteUrlCrawlerTask');
+
+// CFG: TASK-CRAWLER-REMOTE-URL-CRAWLER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_remote_url_crawler_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-REMOTE-URL-CRAWLER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_remote_url_crawler_interval_delay', 200);
+
+// CFG: TASK-CRAWLER-REMOTE-URL-CRAWLER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_remote_url_crawler_max_runs', 0);
+
+// CFG: CRAWLER-REMOTE-JOB-PUBLISHER-TASK-CLASS
+$cfg->setConfigEntry('crawler_remote_job_publisher_task_class', 'CrawlerRemoteJobPublisherTask');
+
+// CFG: TASK-CRAWLER-REMOTE-JOB-PUBLISHER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_remote_job_publisher_startup_delay', 2000);
+
+// CFG: TASK-CRAWLER-REMOTE-JOB-PUBLISHER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_remote_job_publisher_interval_delay', 200);
+
+// CFG: TASK-CRAWLER-REMOTE-JOB-PUBLISHER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_remote_job_publisher_max_runs', 0);
+
+// CFG: CRAWLER-MIME-SNIFFER-TASK-CLASS
+$cfg->setConfigEntry('crawler_mime_sniffer_task_class', 'CrawlerMimeSnifferTask');
+
+// CFG: TASK-CRAWLER-MIME-SNIFFER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_mime_sniffer_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-MIME-SNIFFER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_mime_sniffer_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-MIME-SNIFFER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_mime_sniffer_max_runs', 0);
+
+// CFG: CRAWLER-DOCUMENT-PARSER-TASK-CLASS
+$cfg->setConfigEntry('crawler_document_parser_task_class', 'CrawlerDocumentParserTask');
+
+// CFG: TASK-CRAWLER-DOCUMENT-PARSER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_document_parser_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-DOCUMENT-PARSER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_document_parser_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-DOCUMENT-PARSER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_document_parser_max_runs', 0);
+
+// CFG: CRAWLER-STRUCTURE-ANALYZER-TASK-CLASS
+$cfg->setConfigEntry('crawler_structure_analyzer_task_class', 'CrawlerStructureAnalyzerTask');
+
+// CFG: TASK-CRAWLER-STRUCTURE-ANALYZER-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_structure_analyzer_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-STRUCTURE-ANALYZER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_structure_analyzer_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-STRUCTURE-ANALYZER-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_structure_analyzer_max_runs', 0);
+
+// CFG: CRAWLER-SNIPPET-EXTRACTOR-TASK-CLASS
+$cfg->setConfigEntry('crawler_snippet_extractor_task_class', 'CrawlerSnippetExtractorTask');
+
+// CFG: TASK-CRAWLER-SNIPPET-EXTRACTOR-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_snippet_extractor_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-SNIPPET-EXTRACTOR-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_snippet_extractor_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-SNIPPET-EXTRACTOR-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_snippet_extractor_max_runs', 0);
+
+// CFG: CRAWLER-PING-TASK-CLASS
+$cfg->setConfigEntry('crawler_ping_task_class', 'CrawlerPingTask');
+
+// CFG: TASK-CRAWLER-PING-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_ping_startup_delay', 1500);
+
+// CFG: TASK-CRAWLER-PING-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_ping_interval_delay', 250);
+
+// CFG: TASK-CRAWLER-PING-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_ping_max_runs', 0);
+
+// CFG: CRAWLER-URL-SOURCE-LOCAL-START-TASK-CLASS
+$cfg->setConfigEntry('crawler_url_source_local_start_task_class', 'CrawlerUrlSourceLocalStartTask');
+
+// CFG: TASK-CRAWLER-URL-SOURCE-LOCAL-START-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_local_start_startup_delay', 3000);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-LOCAL-START-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_local_start_interval_delay', 150);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-LOCAL-START-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_url_source_local_start_max_runs', 0);
+
+// CFG: CRAWLER-URL-SOURCE-UPLOADED-LIST-TASK-CLASS
+$cfg->setConfigEntry('crawler_url_source_uploaded_list_task_class', 'CrawlerUrlSourceUploadedListTask');
+
+// CFG: TASK-CRAWLER-URL-SOURCE-UPLOADED-LIST-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_uploaded_list_startup_delay', 3000);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-UPLOADED-LIST-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_uploaded_list_interval_delay', 150);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-UPLOADED-LIST-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_url_source_uploaded_list_max_runs', 0);
+
+// CFG: CRAWLER-URL-SOURCE-RSS-START-TASK-CLASS
+$cfg->setConfigEntry('crawler_url_source_rss_start_task_class', 'CrawlerUrlSourceRssStartTask');
+
+// CFG: TASK-CRAWLER-URL-SOURCE-RSS-START-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_rss_start_startup_delay', 3000);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-RSS-START-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_rss_start_interval_delay', 150);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-RSS-START-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_url_source_rss_start_max_runs', 0);
+
+// CFG: CRAWLER-URL-SOURCE-FOUND-RSS-TASK-CLASS
+$cfg->setConfigEntry('crawler_url_source_found_rss_task_class', 'CrawlerUrlSourceFoundRssTask');
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_found_rss_startup_delay', 3000);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_url_source_found_rss_interval_delay', 150);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_url_source_found_rss_max_runs', 0);
+
+// CFG: CRAWLER-URL-SOURCE-FOUND-RSS-TASK-CLASS
+$cfg->setConfigEntry('crawler_uploaded_list_scanner_task_class', 'CrawlerUploadedListScannerTask');
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-STARTUP-DELAY
+$cfg->setConfigEntry('task_crawler_uploaded_list_scanner_startup_delay', 500);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-INTERVAL-DELAY
+$cfg->setConfigEntry('task_crawler_uploaded_list_scanner_interval_delay', 1000);
+
+// CFG: TASK-CRAWLER-URL-SOURCE-FOUND-RSS-MAX-RUNS
+$cfg->setConfigEntry('task_crawler_uploaded_list_scanner_max_runs', 0);
+
+// CFG: CRAWLER-CSV-FILE-PATH
+$cfg->setConfigEntry('crawler_csv_file_path', 'data/url_lists');
+
+// CFG: CRAWLER-URL-LIST-COLUMN-SEPARATOR
+$cfg->setConfigEntry('crawler_url_list_column_separator', ',');
+
 ///////////////////////////////////////////////////////////////////////////////
 //                            HTTP Configuration
 ///////////////////////////////////////////////////////////////////////////////
@@ -1004,8 +1480,8 @@ $cfg->setConfigEntry('news_home_limit', 10);
 //                         Apt-Proxy Configuration
 ///////////////////////////////////////////////////////////////////////////////
 
-// CFG: HUBCONSOLE-CMD-APT-PROXY-RESOLVER-CLASS
-$cfg->setConfigEntry('hubconsole_cmd_apt_proxy_resolver_class', 'HubConsoleCommandResolver');
+// CFG: HUB-CONSOLE-CMD-APT-PROXY-RESOLVER-CLASS
+$cfg->setConfigEntry('hub_console_cmd_apt_proxy_resolver_class', 'HubConsoleCommandResolver');
 
 // CFG: APT-PROXY-PHP-REQUIREMENTS-FILTER
 $cfg->setConfigEntry('apt_proxy_php_requirements_filter', 'AptProxyPhpRequirementsFilter');