diff --git a/config.ini.sample b/config.ini.sample index 25c6016..0b23d50 100644 --- a/config.ini.sample +++ b/config.ini.sample @@ -1,35 +1,146 @@ +# PPF Configuration +# Copy this file to config.ini and adjust as needed. + [common] +# Comma-separated list of Tor SOCKS5 proxy addresses tor_hosts = 127.0.0.1:9050 +# Network timeouts (seconds) +timeout_connect = 10 +timeout_read = 15 + +# Enable cProfile profiling (writes to data/profile.stats) +profiling = 0 + [watchd] -max_fail = 5 -threads = 10 -min_threads = 5 -timeout = 9 -submit_after = 200 -use_ssl = 0 -debug = 0 -checktime = 1200 -perfail_checktime = 300 +# Proxy validation daemon settings + +# Database file for proxy storage database = proxies.sqlite -outage_threshold = 4 -tor_safeguard = 0 + +# Check type: judges (recommended), ssl, irc, or head +# judges - HTTP judge servers that echo back request headers +# ssl - TLS handshake test (fast, no payload, verifies MITM) +# irc - IRC server connection test +# head - HTTP HEAD request test +checktype = judges + +# SSL verification mode (1=always, 0=never, 2=random) +# When enabled, tests TLS handshake with certificate verification. +# Benefits: +# - Fast: TLS handshake completes quickly, no payload transfer +# - Meaningful: Verifies proxy supports encrypted connections +# - MITM detection: Certificate validation catches interception +# - Fallback: Works when judge servers are blocked/rate-limited +use_ssl = 1 + +# Thread configuration +threads = 50 +min_threads = 5 + +# Timeout for proxy test connections (seconds) +timeout = 15 + +# Number of failures before proxy marked dead +max_fail = 5 + +# Check intervals (seconds) +checktime = 1800 +perfail_checktime = 3600 + +# Minimum success rate to accept results (percentage) +outage_threshold = 4.0 + +# Batch size for database writes +submit_after = 200 + +# Days before removing dead proxies +stale_days = 30 + +# Seconds between stats reports (0 = disabled) +stats_interval = 300 + +# Re-test old (previously dead) proxies +oldies = 0 +oldies_checktime = 43200 +oldies_multi = 10 + +# Server list file for IRC/head checks +source_file = servers.txt + +# Enable Tor circuit health monitoring +tor_safeguard = 1 + +# Debug output +debug = 0 [ppf] -max_fail = 5 -search = 1 -timeout = 30 -http_retries = 1 -checktime = 3600 -perfail_checktime = 16000 -database = websites.sqlite +# URL harvester settings + +# Database file (usually same as watchd) +database = proxies.sqlite + +# Number of URL fetcher threads threads = 3 -tor_safeguard = 0 + +# Timeout for URL fetches (seconds) +timeout = 15 + +# HTTP connection retries +http_retries = 1 + +# Check intervals for URLs (seconds) +checktime = 3600 +perfail_checktime = 3600 + +# Number of failures before URL marked dead +max_fail = 5 + +# Only extract URLs from same domain +extract_samedomain = 0 + +# Debug output +debug = 0 [scraper] +# Search engine scraper settings + +# Enable scraper enabled = 1 +# Number of scraper threads +threads = 3 + +# Search engines: searx, duckduckgo, startpage, brave, ecosia, +# mojeek, qwant, yandex, github, gitlab, codeberg, gitea +engines = searx,duckduckgo,github + +# Query mode: p=proxies, s=search, w=websites (combine: psw) +query = psw + +# Max pages to fetch per query +max_pages = 5 + +# Rate limiting: backoff delays (seconds) +backoff_base = 30 +backoff_max = 3600 +fail_threshold = 2 + +# LibreTranslate for multilingual queries (optional) +libretranslate_enabled = 0 +libretranslate_url = https://lt.mymx.me/translate + +# Debug output +debug = 0 + [httpd] +# Web dashboard settings + +# Enable web dashboard +enabled = 1 + +# Listen address (use 0.0.0.0 for all interfaces) listenip = 127.0.0.1 + +# Listen port port = 8081 -enabled = 0 diff --git a/requirements.txt b/requirements.txt index 3e9e9f3..a3f02f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,6 @@ beautifulsoup4 pyasn IP2Location gevent +objgraph +pympler +pyOpenSSL diff --git a/searx.instances b/searx.instances index 6862258..8c773ac 100644 --- a/searx.instances +++ b/searx.instances @@ -81,6 +81,13 @@ https://search.projectsegfau.lt https://search.zzls.xyz https://searx.thefloatinglab.world +# --- Tor Hidden Services (.onion) --- +# V3 onion addresses (56 chars) - requires Tor proxy +http://searxspbitokayvkhzhsnljde7rqmn7rvoga6e4waeub3h7ug3nghoad.onion +http://fpamcnxokg4lzz6b2y7jdwoujmnixfxrh7ptddehctqzoptn4wpdvjid.onion +http://kantanrucloofzrfn7vqlsxbhipkqv55qygn4oxogbnjpfex54bw4gad.onion +http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion + # --- Backup/Alternative --- # These may have higher latency or occasional downtime https://searx.info