<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Settings on Documentation</title><link>https://MohsenBg.github.io/bgscan/docs/settings/</link><description>Recent content in Settings on Documentation</description><generator>Hugo</generator><language>en</language><copyright>© 2026 MohsenBg. All rights reserved.</copyright><atom:link href="https://MohsenBg.github.io/bgscan/docs/settings/index.xml" rel="self" type="application/rss+xml"/><item><title>Settings Overview</title><link>https://MohsenBg.github.io/bgscan/docs/settings/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/overview/</guid><description>&lt;h1 id="settings-overview"&gt;Settings Overview&lt;a class="anchor" href="#settings-overview"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;bgscan keeps all configuration in plain TOML files inside &lt;code&gt;settings/&lt;/code&gt;. The app also exposes these same options through the in-app Settings inspector, which writes changes back to disk automatically.&lt;/p&gt;&#10;&lt;h2 id="setting-files"&gt;Setting files&lt;a class="anchor" href="#setting-files"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;File&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/general_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Global scan control and pipeline mode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/writer_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Result buffering and disk writes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/icmp_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ICMP probe tuning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/tcp_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;TCP connect tuning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/http_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HTTP/HTTPS/HTTP3 probe tuning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/xray_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Xray test tuning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;settings/dns_settings.toml&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DNS resolver and tunnel scan orchestration&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="two-ways-to-edit-settings"&gt;Two ways to edit settings&lt;a class="anchor" href="#two-ways-to-edit-settings"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;TOML files&lt;/strong&gt; — open any &lt;code&gt;settings/*.toml&lt;/code&gt; file in a text editor, change values, save, and restart bgscan. This works well under version control.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;In-app inspector&lt;/strong&gt; — open bgscan, navigate to &lt;strong&gt;Settings&lt;/strong&gt; in the main menu, pick a category, press &lt;code&gt;Enter&lt;/code&gt; on any field to edit it. Changes are saved immediately to disk.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Some fields are dynamic. For example, TLS-related options only show when HTTPS is selected, and DNSTT/Slipstream fields only show when those probes are enabled.&lt;/p&gt;</description></item><item><title>Settings Inspector</title><link>https://MohsenBg.github.io/bgscan/docs/settings/inspector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/inspector/</guid><description>&lt;h1 id="settings-inspector"&gt;Settings Inspector&lt;a class="anchor" href="#settings-inspector"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;When you open any settings section from the in-app Settings menu, you see the inspector. It is a tabbed field list with labels, current values, and edit affordances.&lt;/p&gt;&#10;&#10;&lt;img src="https://MohsenBg.github.io/bgscan/bgscan-settings.webp" alt="settings menu"&gt;&#10;&#10;&lt;ul&gt;&#10;&lt;li&gt;select fields and press &lt;code&gt;Enter&lt;/code&gt; to change them&lt;/li&gt;&#10;&lt;li&gt;press &lt;code&gt;d&lt;/code&gt; to view the description/help text for the selected field&lt;/li&gt;&#10;&lt;li&gt;booleans show as toggles&lt;/li&gt;&#10;&lt;li&gt;some protocols expose extra fields only when the mode is selected&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Changes are saved immediately to disk without restarting the scanner.&lt;/p&gt;</description></item><item><title>General Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/general/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/general/</guid><description>&lt;h1 id="general-settings"&gt;General Settings&lt;a class="anchor" href="#general-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;General Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/general_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Global scan limits, probe rate limiting, pipeline execution mode, and buffer sizing.&lt;/p&gt;&#10;&lt;h2 id="quick-reference"&gt;Quick Reference&lt;a class="anchor" href="#quick-reference"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Setting&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;status_interval&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;1000&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Progress update interval in milliseconds&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;max_successful_ips&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Stop after N successful results (0 = scan all)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;max_ips_to_test&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Cap on IPs read from the input source&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;pipeline_mode&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;streaming&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Execution mode for multi-stage scans&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;max_ips_per_stage&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Channel buffer size between streaming stages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;batch_size&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Batch size for batch mode&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;shuffled&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Randomize target order&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;min_probe_duration&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Minimum time spent per probe (ms)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;probe_per_sec&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Sustained probe rate ceiling (token-bucket refill)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;probe_burst&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Max probes in a burst (token-bucket capacity)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="status-interval"&gt;Status Interval&lt;a class="anchor" href="#status-interval"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;status_interval = &lt;span style="color:#ff9f43"&gt;1000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;How often each stage emits a progress snapshot to the UI, in milliseconds. Valid range is 100 ms to 60 s. Lower values give smoother feedback and cost more CPU on very large scans.&lt;/p&gt;</description></item><item><title>Result Writer Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/writer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/writer/</guid><description>&lt;h1 id="result-writer-settings"&gt;Result Writer Settings&lt;a class="anchor" href="#result-writer-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;General Settings&lt;/strong&gt; tab 2 in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/writer_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Buffering and flush behavior of the result writer, plus where result files are stored.&lt;/p&gt;&#10;&lt;p&gt;Each scan stage owns one writer. Workers push results into a channel, the writer accumulates them into a batch, and each flush merge-sorts that batch into the stage&amp;rsquo;s CSV file.&lt;/p&gt;</description></item><item><title>ICMP Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/icmp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/icmp/</guid><description>&lt;h1 id="icmp-settings"&gt;ICMP Settings&lt;a class="anchor" href="#icmp-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;ICMP Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/icmp_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;The ICMP probe sends echo requests and records the round-trip time. It opens one shared IPv4 socket and, when the system allows it, one shared IPv6 socket, then demultiplexes replies to the waiting workers.&lt;/p&gt;</description></item><item><title>TCP Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/tcp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/tcp/</guid><description>&lt;h1 id="tcp-settings"&gt;TCP Settings&lt;a class="anchor" href="#tcp-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;TCP Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/tcp_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;The TCP probe opens a connection to one port on each target and records the handshake latency. It does not speak any application protocol.&lt;/p&gt;&#10;&lt;h2 id="quick-reference"&gt;Quick Reference&lt;a class="anchor" href="#quick-reference"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Setting&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;443&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1-65535&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Target TCP port&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;timeout&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;2000&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;100-30000&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Connection timeout in milliseconds&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;workers&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1-5000&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Concurrent connection attempts&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;tries&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1-10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Connection attempts per target&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;output_prefix&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;tcp_&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Result filename prefix&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="port"&gt;Port&lt;a class="anchor" href="#port"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;port = &lt;span style="color:#ff9f43"&gt;80&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The TCP port probed on every target. Common choices are 80, 443, and 22.&lt;/p&gt;</description></item><item><title>HTTP Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/http/</guid><description>&lt;h1 id="http-settings"&gt;HTTP Settings&lt;a class="anchor" href="#http-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;HTTP Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/http_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;The HTTP probe sends one request per target and records status code, negotiated protocol version, and whether TLS was used. HTTP/1.1 and HTTP/2 go over TCP, HTTP/3 over QUIC.&lt;/p&gt;</description></item><item><title>DNS Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/dns/</guid><description>&lt;h1 id="dns-settings"&gt;DNS Settings&lt;a class="anchor" href="#dns-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;DNS Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/dns_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;This file has two sections. The &lt;strong&gt;resolver&lt;/strong&gt; section controls plain DNS resolver testing. The &lt;strong&gt;dns_tunneling&lt;/strong&gt; section controls how DNS tunnel scans are orchestrated — tunnel protocol-specific settings (DNSTT, VayDNS, Slipstream, MasterDNS, StormDNS, TheFeed) are stored in separate config files under &lt;code&gt;assets/dns-tunneling/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Xray Settings</title><link>https://MohsenBg.github.io/bgscan/docs/settings/xray/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/docs/settings/xray/</guid><description>&lt;h1 id="xray-settings"&gt;Xray Settings&lt;a class="anchor" href="#xray-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class='book-hint '&gt;&#10;&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can change these settings directly in the bgscan application instead of editing the TOML file manually.&lt;/p&gt;&#10;&lt;p&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;Xray Settings&lt;/strong&gt; in the main menu to configure these options interactively using the TUI inspector.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Configuration file: &lt;code&gt;settings/xray_settings.toml&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;This file controls the Xray outbound validation module, which tests connectivity and bandwidth to remote servers.&lt;/p&gt;&#10;&lt;h2 id="quick-reference"&gt;Quick Reference&lt;a class="anchor" href="#quick-reference"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Setting&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;timeout&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Maximum duration (in milliseconds) to wait for the Xray connectivity test to complete.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;speed_test_timeout&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Maximum duration (in milliseconds) to wait for each download/upload speed test.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;workers&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Number of concurrent workers performing Xray connectivity tests.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;connectivity_test_type&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type of connectivity test: 0 = connectivity only, 1 = download only, 2 = upload only, 3 = both download and upload.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;download_speed&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Minimum acceptable download speed in Kbps (used when the test type includes download).&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;upload_speed&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Minimum acceptable upload speed in Kbps (used when the test type includes upload).&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;output_prefix&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;xray_&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Filename prefix applied to all output files generated by this module.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;pre_scan_type&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;tcp&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Pre-scan connectivity test to perform before running Xray: &lt;code&gt;none&lt;/code&gt;, &lt;code&gt;icmp&lt;/code&gt;, &lt;code&gt;tcp&lt;/code&gt;, or &lt;code&gt;http&lt;/code&gt;.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;max_concurrent_dials&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Max concurrent outbound dials process-wide (&lt;code&gt;0&lt;/code&gt; = unlimited).&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;dial_max_attempts&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;platform-dependent&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Dial attempts per outbound dispatch.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="timeout"&gt;Timeout&lt;a class="anchor" href="#timeout"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;timeout = &lt;span style="color:#ff9f43"&gt;6000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Maximum duration (in milliseconds) to wait for an Xray connectivity test to complete. Tests failing to respond within this window are considered failed.&lt;/p&gt;</description></item></channel></rss>