### Install b4 using wget Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Installs b4 by downloading and executing the installation script via wget. ```bash wget -qO- https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh ``` -------------------------------- ### Install b4 using curl Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/merlin.md Run this command to download and install b4. Ensure Entware is installed first. ```bash curl -fsSL https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh ``` -------------------------------- ### Install B4 with curl and help Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Installs B4 using curl and displays the help message for the installation script. ```bash curl -fsSL https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh -s -- --help ``` -------------------------------- ### Start B4 using systemd Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Starts the B4 service using systemd and enables it to start on system load. ```bash sudo systemctl start b4 sudo systemctl enable b4 # Start on load ``` -------------------------------- ### Extension Split Example Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/sets/tcp/splitting.md This technique splits the TLS ClientHello before the SNI extension. It requires no specific setup but can be tuned with 'Reverse order' and 'Inter-packet delay' settings. ```text [TLS Header] [Handshake] [Ciphers] [Ext1] [Ext2] | [SNI: youtube.com] [Ext...] ^ split here ``` -------------------------------- ### Install b4 Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/index.md Run this command to install b4 on your Linux system. It downloads and executes the installation script. ```bash curl -fsSL https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh -s -- --update ``` -------------------------------- ### Start Downloaded b4 Container Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Starts the b4 container after its image has been successfully pulled. ```routeros /container start [find tag~"b4"] ``` -------------------------------- ### Install latest b4 version (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Installs the latest version of B4 by executing the local install.sh script. ```bash ./install.sh ``` -------------------------------- ### Get b4 System Information Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/index.md Run this command to retrieve system information, installed version, and kernel module status for b4. ```bash curl -fsSL https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh -s -- --sysinfo ``` -------------------------------- ### Install curl and ca-certificates Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md If curl is not pre-installed on your OpenWRT system, use this command to install it along with necessary certificates. ```bash opkg update && opkg install curl ca-certificates ``` -------------------------------- ### Install iptables Userspace Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/keenetic.md Install the iptables userspace utility via opkg on Keenetic routers. This is a prerequisite for b4. ```bash opkg install iptables ``` -------------------------------- ### Curl Example with SOCKS5 Proxy Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Demonstrates how to use curl to route traffic through the local SOCKS5 proxy. ```bash # curl curl --socks5 127.0.0.1:1080 https://example.com ``` -------------------------------- ### Manage b4 service Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md Commands to enable b4 to start on boot, and to start, stop, or restart the service. ```bash /etc/init.d/b4 enable # autostart on boot /etc/init.d/b4 start /etc/init.d/b4 stop /etc/init.d/b4 restart ``` -------------------------------- ### Install specific version (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Installs a specific version of B4 using the local install.sh script. ```bash ./install.sh v1.10.0 ``` -------------------------------- ### Install kernel modules for OpenWRT 23.x and older (opkg) Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md For older OpenWRT versions using opkg, install the necessary kernel modules and related packages. ```bash opkg update opkg install kmod-nft-queue kmod-nft-conntrack nftables-json coreutils-nohup ``` -------------------------------- ### Control b4 service Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/merlin.md Use these commands to start, stop, or restart the b4 service on your router. The service is configured to start automatically on boot if Entware is installed. ```bash /opt/etc/init.d/S99b4 start ``` ```bash /opt/etc/init.d/S99b4 stop ``` ```bash /opt/etc/init.d/S99b4 restart ``` -------------------------------- ### B4 command line with custom config Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Starts B4 using a custom configuration file located at a specified path. ```bash b4 --config /path/to/config.json ``` -------------------------------- ### Create and Start b4 Container Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Creates a b4 container using a specified image, interface, mount points, and command, with options for starting on boot and logging. ```routeros /container add remote-image=lavrushin/b4:latest interface=B4 \ root-dir=/usb1/docker/b4-mikrotik mounts=b4_etc \ cmd="--config /opt/etc/b4/b4.json" start-on-boot=yes \ logging=yes dns=192.168.100.1 ``` -------------------------------- ### Install wget-ssl on OpenWRT Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md The default wget on OpenWRT may not support HTTPS. Install wget-ssl for secure downloads. ```bash opkg update && opkg install wget-ssl ca-certificates ``` -------------------------------- ### Quiet mode installation (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Installs B4 in quiet mode, suppressing output except for errors, using the local install.sh script. ```bash ./install.sh --quiet ``` -------------------------------- ### Non-interactive b4 installation with curl Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Performs a quiet installation of b4 using curl, accepting default settings without prompts. ```bash curl -fsSL https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh | sh -s -- --quiet ``` -------------------------------- ### Install kernel modules for very old OpenWRT versions Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md For very old OpenWRT versions that do not use nftables, install the iptables-based netfilter queue modules. ```bash opkg install kmod-nfnetlink-queue kmod-ipt-nfqueue iptables-mod-nfqueue iptables-mod-conntrack-extra ``` -------------------------------- ### Run B4 Docker container Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Starts a B4 Docker container with necessary capabilities and volume mounts. ```bash docker run --network host \ --cap-add NET_ADMIN --cap-add NET_RAW --cap-add SYS_MODULE \ -v /etc/b4:/etc/b4 \ lavrushin/b4:latest --config /opt/etc/b4/b4.json ``` -------------------------------- ### B4 command line with manual domains Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Starts B4 with manually specified SNI domains. ```bash b4 --sni-domains youtube.com,netflix.com ``` -------------------------------- ### LXC container configuration for kernel modules Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Example configuration snippet to allow kernel module loading within LXC containers. ```yaml lxc.cgroup2.devices.allow: c 10:200 rwm features: nesting=1,keyctl=1 ``` -------------------------------- ### Install kernel modules for OpenWRT 24.x+ (apk) Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md For newer OpenWRT versions using apk, install the required kernel modules for netfilter queue and NAT. ```bash apk add kmod-nft-queue kmod-nft-nat kmod-nft-compat kmod-nft-conntrack ``` -------------------------------- ### Install socat on VPS for DC Relay Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/mtproto.md Installs the socat utility on a Debian/Ubuntu-based VPS. This is a prerequisite for setting up a DC Relay to forward Telegram traffic through your VPS. ```bash apt install -y socat ``` -------------------------------- ### Specify geosite source and destination (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Installs B4 while specifying a custom source URL for geosite.dat and its destination path. ```bash ./install.sh --geosite-src=--geosite-src=https://example.com/geosite.dat --geosite-dst=/opt/etc/b4 ``` -------------------------------- ### Docker Compose Run Command Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/docker.md Commands to create a configuration directory and start the B4 service in detached mode using Docker Compose. ```bash mkdir -p config docker compose up -d ``` -------------------------------- ### B4 command line with geosite categories Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Starts B4 using a geosite file and specifying categories for filtering. ```bash b4 --geosite /etc/b4/geosite.dat --geosite-categories youtube,netflix ``` -------------------------------- ### Manually load kernel modules Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md After installing kernel modules, use modprobe to load them manually if they are not loaded automatically. Successful loading produces no output. ```bash modprobe nft_queue modprobe nft_ct modprobe xt_connbytes ``` -------------------------------- ### OpenRC service control for b4 Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Commands to manage the b4 service using OpenRC, including starting, stopping, restarting, and enabling autostart. ```bash rc-service b4 start rc-service b4 stop rc-service b4 restart rc-update add b4 default # autostart on boot ``` -------------------------------- ### Troubleshooting: View Mangle Rules Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Shows all configured mangle rules, useful for verifying traffic marking and redirection setup. ```routeros /ip firewall mangle print ``` -------------------------------- ### Docker Run Command Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/docker.md Starts the B4 container directly using the 'docker run' command, specifying network, capabilities, volume mounts, and restart policy. ```bash mkdir -p config docker run -d \ --name b4 \ --network host \ --cap-add NET_ADMIN \ --cap-add NET_RAW \ --cap-add SYS_MODULE \ -v ./config:/etc/b4 \ --restart unless-stopped \ lavrushin/b4:latest ``` -------------------------------- ### Systemd service control for b4 Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Commands to manage the b4 service using systemd, including starting, stopping, restarting, checking status, and enabling autostart. ```bash systemctl start b4 systemctl stop b4 systemctl restart b4 systemctl status b4 systemctl enable b4 # autostart on boot ``` -------------------------------- ### First-Byte Desync Example Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/sets/tcp/splitting.md This timing attack sends the first byte of a TLS record, pauses, then sends the rest. It relies on the 'Seg2Delay' setting for its delay, with a minimum of 100ms applied if 'Seg2Delay' is lower. ```text [0x16] ---- pause ---- [rest of the TLS ClientHello...] ``` -------------------------------- ### Check b4 Error Log Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/keenetic.md View the b4 error log file to diagnose issues after starting the service. This is useful for troubleshooting. ```bash cat /var/log/b4/errors.log ``` -------------------------------- ### Show help message (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Displays the help message for the local install.sh script. ```bash ./install.sh -h ``` -------------------------------- ### Build for all architectures Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds B4 binaries for all supported architectures from the source code. ```bash make build-all ``` -------------------------------- ### Build binary from source Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds the main binary executable for B4 from the source code. ```bash make build ``` -------------------------------- ### Build UI from source Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds the User Interface component of B4 from the source code. ```bash make build-ui ``` -------------------------------- ### Build for specific architecture (amd64) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds B4 binary for the Linux amd64 architecture from the source code. ```bash make linux-amd64 ``` -------------------------------- ### Build for specific architecture (arm64) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds B4 binary for the Linux arm64 architecture from the source code. ```bash make linux-arm64 ``` -------------------------------- ### Enable HTTPS/TLS for Web Interface Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Configure TLS certificate and key paths in the b4.json file to enable HTTPS for the web interface. ```json { "system": { "web_server": { "tls_cert": "/path/to/server.crt", "tls_key": "/path/to/server.key" } } } ``` -------------------------------- ### Build for specific architecture (armv7) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Builds B4 binary for the Linux armv7 architecture from the source code. ```bash make linux-armv7 ``` -------------------------------- ### Show system diagnostics and b4 status (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Runs system diagnostics and shows B4 status using the local install.sh script. ```bash ./install.sh --sysinfo ``` -------------------------------- ### Troubleshooting: Check Container Status Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Prints the status of all containers, useful for diagnosing startup issues. ```routeros /container print ``` -------------------------------- ### Enable Swagger API Documentation Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Enable interactive REST API documentation via Swagger UI by setting 'swagger' to true in the b4.json configuration. ```json { "system": { "web_server": { "swagger": true } } } ``` -------------------------------- ### Create Routing Table and Route Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Sets up a new routing table and adds a route that directs traffic through the b4 container. ```routeros /routing table add disabled=no fib name=to_b4 /ip route add check-gateway=ping gateway=192.168.210.10 routing-table=to_b4 ``` -------------------------------- ### Configure Geosite Categories Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Use the b4 command-line tool to specify the path to the geosite.dat file and configure categories. ```bash sudo b4 --geosite /etc/b4/geosite.dat --geosite-categories youtube,netflix,facebook ``` -------------------------------- ### Localhost Access Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/quickstart.md If b4 is running on the same computer, use localhost to access the web interface. ```text http://localhost:7000 ``` -------------------------------- ### Access Swagger UI Source: https://github.com/daniellavrushin/b4/blob/main/readme.md The URL to access the interactive API documentation after enabling Swagger. ```text http://your-device-ip:7000/swagger/ ``` -------------------------------- ### Configure SOCKS5 Proxy Server Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Enable and configure the built-in SOCKS5 proxy server, including port, bind address, and authentication. ```json { "system": { "socks5": { "enabled": true, "port": 1080, "bind_address": "0.0.0.0", "username": "", "password": "" } } } ``` -------------------------------- ### B4 command line help Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Displays the help message for the B4 command-line interface. ```bash b4 --help ``` -------------------------------- ### View b4 logs with systemd Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Displays real-time logs for the b4 service using journalctl. ```bash journalctl -u b4 -f ``` -------------------------------- ### Create and Attach Virtual Ethernet Interface Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Creates a virtual Ethernet interface and connects it to the Docker bridge network. ```routeros /interface/veth add address=192.168.210.10/24 gateway=192.168.210.1 name=B4 /interface/bridge/port add bridge=bridge-docker interface=B4 ``` -------------------------------- ### Download Geosite DAT File Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Download the geosite.dat file from a specified repository using wget. ```bash # Loyalsoldier wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat ``` ```bash # RUNET Freedom wget https://raw.githubusercontent.com/runetfreedom/russia-v2ray-rules-dat/release/geosite.dat ``` -------------------------------- ### Update B4 to latest version (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Updates B4 to the latest version using the local install.sh script. ```bash ./install.sh --update ``` -------------------------------- ### Ready-made Ad Blocker Configuration Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/sets/blocking.md This JSON configuration can be imported into a b4 set to enable network-wide ad blocking. It includes a broad list of ad and tracker domains and the 'category-ads-all' GeoSite category. ```json {"b4_version":"1.65.0","name":"adblock","fragmentation":{"strategy":"none"},"faking":{"sni":false},"targets":{"sni_domains":["ad.mail.ru","advertronic.io","vu.okcdn.ru","adkernel.com","adfox.ru","nr-data.net","rubiconproject.com","adition.com","mc.yandex.com","log.strm.yandex.ru","analytics.yahoo.com","criteo.com","taboola.com","ad4m.at","1rx.io","hbx.media.net","media.net","adform.net","analyticsengine.s3.amazonaws.com","analytics.s3.amazonaws.com","ad.doubleclick.net","analytics.google.com","api.bugsnag.com","app.bugsnag.com","browser.sentry-cdn.com","app.getsentry.com","ads-api.twitter.com","log.byteoversea.com","log.fc.yahoo.com","adtech.yahooinc.com","appmetrica.yandex.ru","metrika.yandex.ru","fingerprintjs.com","px.srvcs.tumblr.com","device-metrics-us.amazon.com","cdn.cookielaw.org","consent.cookiebot.com","sdk.privacy-center.org","cdn.privacy-mgmt.com","api.impact.com","cdn.dynamicyield.com","widget.intercom.io","bnc.lt","bingads.microsoft.com","ads.microsoft.com","snap.licdn.com","ct.pinterest.com","geolocation.onetrust.com","consent.trustarc.com","app.usercentrics.eu","advertising-eu.amazon.com","fls-na.amazon.com","advertising.yandex.ru","ironsource.mobi","is.com","pangleglobal.com","posthog.com","o0.ingest.sentry.io","lr-ingest.com","mineralt.io","pixel.quora.com","qevents.quora.com","ads.vk.com","advertising.apple.com","ads.huawei.com","ngfts.lge.com","xp.apple.com","cmp.osano.com","consentcdn.cookiebot.com","zenaps.com","clientstream.launchdarkly.com","match.adsrvr.org","smartyads.com","adcolony.com","mouseflow.com","edge.fullstory.com","stats.wp.com","adsrvr.org","c.bing.com","app-measurement.com","cdn.segment.com","quantcast.com","rudderstack.com","snowplowanalytics.com","adjust.com","singular.net","wzrkt.com","ads.pinterest.com","ads.x.com","ads-sg.tiktok.com","tracking.rus.miui.com","cookiebot.com"],"ip":["5.255.255.77/32"],"geosite_categories":["category-ads-all"]},"enabled":true,"routing":{"enabled":true,"mode":"block"}} ``` -------------------------------- ### Fake & Fragment Parameters Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/sets/udp.md Configurable parameters for the 'Fake & Fragment' mode, controlling the number, size, and timing of fake packets. ```text Parameter | Description | Range --- | --- | --- Fake packet count | How many fake packets to send before the real one | 1-20 Fake packet size | Payload size of each fake UDP packet in bytes | 32-1500 Segment delay | Delay between sending fakes and real packets. Specified as a min-max range - each connection picks a random value from the range | 0-1000 ms ``` -------------------------------- ### Restart b4 service after cleanup Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/openwrt.md After deleting any stale nftables tables, restart the b4 service to apply changes. ```bash /etc/init.d/b4 restart ``` -------------------------------- ### Add Domains for Discovery Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/quickstart.md Enter blocked site addresses in the 'Add domain or URL' field. Multiple domains can be added, separated by commas. ```text youtube.com ``` ```text googlevideo.com ``` -------------------------------- ### Docker Management Commands Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/docker.md Common commands for managing the B4 Docker container, including viewing logs, restarting, stopping, and updating the service. ```bash docker compose logs -f b4 # logs docker compose restart b4 # restart docker compose down # stop docker compose pull && docker compose up -d # update ``` -------------------------------- ### Escalation Flowchart Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/sets/escalation.md Visual representation of the b4 escalation process, showing how a site is switched to a backup set upon repeated failures and retried later. ```mermaid flowchart LR A["Light set (A)"] -->|"site keeps failing"| DETECT["b4 detects the block"] DETECT --> SWITCH["Switch this site to backup (B)"] SWITCH -->|"next request"| B["Heavy set (B)"] B -->|"after a while"| RETRY["Retry set A"] style A fill:#4a9eff,color:#fff,stroke:none style B fill:#e91e63,color:#fff,stroke:none style DETECT fill:#ff9800,color:#fff,stroke:none style SWITCH fill:#9c27b0,color:#fff,stroke:none style RETRY fill:#4caf50,color:#fff,stroke:none ``` -------------------------------- ### Troubleshooting: View Container Logs Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Displays log messages related to the container service, helpful for debugging. ```routeros /log print where topics~"container" ``` -------------------------------- ### Verify b4 kernel modules Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Checks if the required nfqueue kernel modules are loaded using lsmod. ```bash lsmod | grep nfqueue ``` -------------------------------- ### Configure Container Registry and Pull Directory Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Sets the Docker registry URL and a temporary directory for pulling container images. ```routeros /container/config set registry-url=https://registry-1.docker.io tmpdir=/usb1/docker/pull ``` -------------------------------- ### Restart B4 on OpenWRT Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Restarts the B4 service on OpenWRT systems. ```bash /etc/init.d/b4 restart # start | stop ``` -------------------------------- ### Uninstall B4 (local script) Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Uninstalls B4 from the system using the local install.sh script. ```bash ./install.sh --remove ``` -------------------------------- ### Restart B4 on Entware/MerlinWRT Source: https://github.com/daniellavrushin/b4/blob/main/readme.md Restarts the B4 service on Entware/MerlinWRT systems. ```bash /opt/etc/init.d/S99b4 restart # start | stop ``` -------------------------------- ### Troubleshooting: View Routing Table Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Lists routes associated with the 'to_b4' routing table to confirm traffic is being directed correctly. ```routeros /ip route print where routing-table=to_b4 ``` -------------------------------- ### Load b4 kernel modules manually Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/linux.md Manually loads the necessary kernel modules (nfnetlink_queue, xt_NFQUEUE, nf_conntrack) required for b4 operation. ```bash modprobe nfnetlink_queue modprobe xt_NFQUEUE modprobe nf_conntrack ``` -------------------------------- ### Configure Container Mount Point Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/install/mikrotik.md Defines a mount point for the b4 container, mapping a local directory on the external storage to a directory within the container. ```routeros /container/mounts add name=b4_etc src=/usb1/docker/b4-mounts/etc dst=/opt/etc/b4 ``` -------------------------------- ### Generate Self-Signed SSL Certificate Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/settings/security.md Use this command to generate a self-signed certificate and key for enabling HTTPS locally. This is suitable for development or local network environments. ```bash openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes -subj "/CN=b4" ``` -------------------------------- ### Access b4 Web Interface Source: https://github.com/daniellavrushin/b4/blob/main/docs/docs/quickstart.md Open the b4 web interface in your browser. Replace with the actual IP address of the device running b4. ```text http://:7000 ```