PageSourceSearch

https://xplr.dev/en/install

html xplr.dev collected 2026-09-25 21:30:49 UTC 24,199 bytes, 408 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="en" class="dark" dir="ltr">
3    <head>
4        <!-- Book generated using mdBook -->
5        <meta charset="UTF-8">
6        <title>Install - xplr book</title>
7
8
9        <!-- Custom HTML head -->
10        
11        <meta name="description" content="A hackable, minimal, fast TUI file explorer">
12        <meta name="viewport" content="width=device-width, initial-scale=1">
13        <meta name="theme-color" content="#ffffff">
14
15        <link rel="shortcut icon" href="favicon.png">
16        <link rel="stylesheet" href="css/variables.css">
17        <link rel="stylesheet" href="css/general.css">
18        <link rel="stylesheet" href="css/chrome.css">
19        <link rel="stylesheet" href="css/print.css" media="print">
20
21        <!-- Fonts -->
22        <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
23        <link rel="stylesheet" href="fonts/fonts.css">
24
25        <!-- Highlight.js Stylesheets -->
26        <link rel="stylesheet" href="highlight.css">
27        <link rel="stylesheet" href="tomorrow-night.css">
28        <link rel="stylesheet" href="ayu-highlight.css">
29
30        <!-- Custom theme stylesheets -->
31
32
33        <!-- EthicalAds -->
34        
34<script async src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script>
34
35    </head>
36    <body class="sidebar-visible no-js">
37    <div id="body-container">
38        <!-- Provide site root to javascript -->
39        
39<script>
40            var path_to_root = "";
41            var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "coal" : "dark";
42        </script>
42
43
44        <!-- Work around some values being stored in localStorage wrapped in quotes -->
45        
45<script>
46            try {
47                var theme = localStorage.getItem('mdbook-theme');
48                var sidebar = localStorage.getItem('mdbook-sidebar');
49
50                if (theme.startsWith('"') && theme.endsWith('"')) {
51                    localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
52                }
53
54                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
55                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
56                }
57            } catch (e) { }
58        </script>
58
59
60        <!-- Set the theme before any content is loaded, prevents flash -->
61        
61<script>
62            var theme;
63            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
64            if (theme === null || theme === undefined) { theme = default_theme; }
65            var html = document.querySelector('html');
66            html.classList.remove('dark')
67            html.classList.add(theme);
68            var body = document.querySelector('body');
69            body.classList.remove('no-js')
70            body.classList.add('js');
71        </script>
71
72
73        <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
74
75        <!-- Hide / unhide sidebar before it is displayed -->
76        
76<script>
77            var body = document.querySelector('body');
78            var sidebar = null;
79            var sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
80            if (document.body.clientWidth >= 1080) {
81                try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
82                sidebar = sidebar || 'visible';
83            } else {
84                sidebar = 'hidden';
85            }
86            sidebar_toggle.checked = sidebar === 'visible';
87            body.classList.remove('sidebar-visible');
88            body.classList.add("sidebar-" + sidebar);
89        </script>
89
90
91        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
92            <div class="sidebar-scrollbox">
93                <ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">2.</strong> Quickstart</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="install.html" class="active"><strong aria-hidden="true">2.1.</strong> Install</a></li><li class="chapter-item expanded "><a href="post-install.html"><strong aria-hidden="true">2.2.</strong> Post Install</a></li></ol></li><li class="chapter-item expanded "><a href="configuration.html"><strong aria-hidden="true">3.</strong> Configuration</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="general-config.html"><strong aria-hidden="true">3.1.</strong> General</a></li><li class="chapter-item expanded "><a href="node_types.html"><strong aria-hidden="true">3.2.</strong> Node Types</a></li><li class="chapter-item expanded "><a href="layouts.html"><strong aria-hidden="true">3.3.</strong> Layouts</a></li><li class="chapter-item expanded "><a href="modes.html"><strong aria-hidden="true">3.4.</strong> Modes</a></li></ol></li><li class="chapter-item expanded "><a href="concept.html"><strong aria-hidden="true">4.</strong> Concept</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="sum-type.html"><strong aria-hidden="true">4.1.</strong> Sum Type</a></li><li class="chapter-item expanded "><a href="key-bindings.html"><strong aria-hidden="true">4.2.</strong> Key Bindings</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="configure-key-bindings.html"><strong aria-hidden="true">4.2.1.</strong> Configure Key Bindings</a></li><li class="chapter-item expanded "><a href="default-key-bindings.html"><strong aria-hidden="true">4.2.2.</strong> Default Key Bindings</a></li><li class="chapter-item expanded "><a href="debug-key-bindings.html"><strong aria-hidden="true">4.2.3.</strong> Debug Key Bindings</a></li></ol></li><li class="chapter-item expanded "><a href="node-type.html"><strong aria-hidden="true">4.3.</strong> Node Type</a></li><li class="chapter-item expanded "><a href="layout.html"><strong aria-hidden="true">4.4.</strong> Layout</a></li><li class="chapter-item expanded "><a href="mode.html"><strong aria-hidden="true">4.5.</strong> Mode</a></li><li class="chapter-item expanded "><a href="message.html"><strong aria-hidden="true">4.6.</strong> Message</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="messages.html"><strong aria-hidden="true">4.6.1.</strong> Full List of Messages</a></li><li class="chapter-item expanded "><a href="input-operation.html"><strong aria-hidden="true">4.6.2.</strong> Input Operation</a></li></ol></li><li class="chapter-item expanded "><a href="borders.html"><strong aria-hidden="true">4.7.</strong> Borders</a></li><li class="chapter-item expanded "><a href="style.html"><strong aria-hidden="true">4.8.</strong> Style</a></li><li class="chapter-item expanded "><a href="searching.html"><strong aria-hidden="true">4.9.</strong> Searching</a></li><li class="chapter-item expanded "><a href="sorting.html"><strong aria-hidden="true">4.10.</strong> Sorting</a></li><li class="chapter-item expanded "><a href="filtering.html"><strong aria-hidden="true">4.11.</strong> Filtering</a></li><li class="chapter-item expanded "><a href="column-renderer.html"><strong aria-hidden="true">4.12.</strong> Column Renderer</a></li><li class="chapter-item expanded "><a href="lua-function-calls.html"><strong aria-hidden="true">4.13.</strong> Lua Function Calls</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="xplr.util.html"><strong aria-hidden="true">4.13.1.</strong> xplr.util</a></li></ol></li><li class="chapter-item expanded "><a href="environment-variables-and-pipes.html"><strong aria-hidden="true">4.14.</strong> Environment Variables and Pipes</a></li></ol></li><li class="chapter-item expanded "><a href="awesome-hacks.html"><strong aria-hidden="true">5.</strong> Awesome Hacks</a></li><li class="chapter-item expanded "><a href="plugin.html"><strong aria-hidden="true">6.</strong> Plugin</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="installing-plugins.html"><strong aria-hidden="true">6.1.</strong> Installing Plugins</a></li><li class="chapter-item expanded "><a href="writing-plugins.html"><strong aria-hidden="true">6.2.</strong> Writing Plugins</a></li><li class="chapter-item expanded "><a href="awesome-plugins.html"><strong aria-hidden="true">6.3.</strong> Awesome Plugins</a></li></ol></li><li class="chapter-item expanded "><a href="integration.html"><strong aria-hidden="true">7.</strong> Integration</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="awesome-integrations.html"><strong aria-hidden="true">7.1.</strong> Awesome Integrations</a></li></ol></li><li class="chapter-item expanded "><a href="alternatives.html"><strong aria-hidden="true">8.</strong> Alternatives</a></li><li class="chapter-item expanded "><a href="upgrade-guide.html"><strong aria-hidden="true">9.</strong> Upgrade Guide</a></li></ol>
94
95                <!-- EthicalAds -->
96                <div
97                  id="docs-sidebar-bottom"
98                  class="dark flat"
99                  data-ea-publisher="xplrdev"
100                  data-ea-type="image"
101                ></div>
102            </div>
103            <div id="sidebar-resize-handle" class="sidebar-resize-handle">
104                <div class="sidebar-resize-indicator"></div>
105            </div>
106        </nav>
107
108        <!-- Track and set sidebar scroll position -->
109        
109<script>
110            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
111            sidebarScrollbox.addEventListener('click', function(e) {
112                if (e.target.tagName === 'A') {
113                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
114                }
115            }, { passive: true });
116            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
117            sessionStorage.removeItem('sidebar-scroll');
118            if (sidebarScrollTop) {
119                // preserve sidebar scroll position when navigating via links within sidebar
120                sidebarScrollbox.scrollTop = sidebarScrollTop;
121            } else {
122                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
123                var activeSection = document.querySelector('#sidebar .active');
124                if (activeSection) {
125                    activeSection.scrollIntoView({ block: 'center' });
126                }
127            }
128        </script>
128
129
130        <div id="page-wrapper" class="page-wrapper">
131
132            <div class="page">
133                                <div id="menu-bar-hover-placeholder"></div>
134                <div id="menu-bar" class="menu-bar sticky">
135                    <div class="left-buttons">
136                        <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
137                            <i class="fa fa-bars"></i>
138                        </label>
139                        <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
140                            <i class="fa fa-paint-brush"></i>
141                        </button>
142                        <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
143                            <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
144                            <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
145                            <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
146                            <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
147                            <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
148                        </ul>
149                        <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
150                            <i class="fa fa-search"></i>
151                        </button>
152                    </div>
153
154                    <h1 class="menu-title">xplr book</h1>
155
156                    <div class="right-buttons">
157                        <a href="print.html" title="Print this book" aria-label="Print this book">
158                            <i id="print-button" class="fa fa-print"></i>
159                        </a>
160                        <a href="https://github.com/sayanarijit/xplr" title="Git repository" aria-label="Git repository">
161                            <i id="git-repository-button" class="fa fa-github"></i>
162                        </a>
163                        <a href="https://github.com/sayanarijit/xplr/edit/main/docs/en/src/install.md" title="Suggest an edit" aria-label="Suggest an edit">
164                            <i id="git-edit-button" class="fa fa-edit"></i>
165                        </a>
166
167                    </div>
168                </div>
169
170                <div id="search-wrapper" class="hidden">
171                    <form id="searchbar-outer" class="searchbar-outer">
172                        <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
173                    </form>
174                    <div id="searchresults-outer" class="searchresults-outer hidden">
175                        <div id="searchresults-header" class="searchresults-header"></div>
176                        <ul id="searchresults">
177                        </ul>
178                    </div>
179                </div>
180
181                <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
182                
182<script>
183                    document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
184                    document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
185                    Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
186                        link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
187                    });
188                </script>
188
189
190                <div id="content" class="content">
191                    <main>
192                        <h1 id="try-in-docker"><a class="header" href="#try-in-docker">Try in Docker</a></h1>
193<p>If you prefer to try it before installing, here's the snippet for your
194convenience.</p>
195<pre><code class="language-bash">docker run -w / -it --rm ubuntu sh -uec '
196  apt-get update -y
197  apt-get install -y wget tar vim less
198  wget https://github.com/sayanarijit/xplr/releases/latest/download/xplr-linux.tar.gz
199  tar -xzvf xplr-linux.tar.gz
200  ./xplr
201'
202</code></pre>
203<h1 id="install"><a class="header" href="#install">Install</a></h1>
204<p>You can install xplr using one of the following ways. Each has their own
205advantages and limitations.</p>
206<p>For example, the <a href="#direct-download">Direct Download</a>, <a href="#from-cratesio">From crates.io</a>, and
207<a href="#build-from-source">Build From Source</a> methods allow the users to install the latest possible
208version of xplr, but they have one common drawback - the user will need to keep
209an eye on the releases, and manually upgrade xplr when a new version is
210available.</p>
211<p>One way to keep an eye on the releases is to <a href="https://github.com/sayanarijit/xplr/watchers">watch the repository</a>.</p>
212<h2 id="community-maintained-repositories"><a class="header" href="#community-maintained-repositories">Community Maintained Repositories</a></h2>
213<p>xplr can be installed from one of the following community maintained
214repositories:</p>
215<p><a href="https://repology.org/project/xplr/versions"><img src="https://repology.org/badge/vertical-allrepos/xplr.svg" alt="packaging status" /></a></p>
216<h3 id="cross-platform"><a class="header" href="#cross-platform">Cross-platform</a></h3>
217<h4 id="nixpkgs"><a class="header" href="#nixpkgs"><a href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/xp/xplr/package.nix">Nixpkgs</a></a></h4>
218<pre><code>nix-env -f https://github.com/NixOS/nixpkgs/tarball/master -iA xplr
219</code></pre>
220<p>Or</p>
221<pre><code class="language-nix"># configuration.nix or darwin-configuration.nix
222environment.systemPackages = with nixpkgs; [
223  xplr
224  # ...
225];
226</code></pre>
227<h4 id="home-manager"><a class="header" href="#home-manager"><a href="https://github.com/nix-community/home-manager/blob/master/modules/programs/xplr.nix">Home Manager</a></a></h4>
228<pre><code class="language-nix"># home.nix
229home.packages = with nixpkgs; [
230  xplr
231  # ...
232];
233</code></pre>
234<p>Or</p>
235<pre><code class="language-nix"># home.nix
236programs.xplr = {
237  enable = true;
238
239  # Optional params:
240  plugins = {
241    tree-view = fetchFromGitHub {
242      owner = "sayanarijit";
243      repo = "tree-view.xplr";
244    };
245    local-plugin = "/home/user/.config/xplr/plugins/local-plugin";
246  };
247  extraConfig = ''
248    require("tree-view").setup()
249    require("local-plugin").setup()
250  '';
251};
252</code></pre>
253<h3 id="ubuntu"><a class="header" href="#ubuntu">Ubuntu</a></h3>
254<p>Snap</p>
255<pre><code class="language-bash">sudo snap install xplr
256</code></pre>
257<h3 id="arch-linux"><a class="header" href="#arch-linux">Arch Linux</a></h3>
258<p>(same for Manjaro Linux)</p>
259<h4 id="official-community-repo"><a class="header" href="#official-community-repo"><a href="https://archlinux.org/packages/extra/x86_64/xplr">Official Community Repo</a></a></h4>
260<pre><code>sudo pacman -S xplr
261</code></pre>
262<h4 id="aur"><a class="header" href="#aur"><a href="https://aur.archlinux.org/packages/?O=0&amp;SeB=n&amp;K=xplr&amp;outdated=&amp;SB=n&amp;SO=a&amp;PP=50&amp;do_Search=Go">AUR</a></a></h4>
263<p>Git version:</p>
264<pre><code>paru -S xplr-git
265</code></pre>
266<h3 id="alpine-linux"><a class="header" href="#alpine-linux">Alpine Linux</a></h3>
267<h4 id="edge-testing-repo"><a class="header" href="#edge-testing-repo"><a href="https://pkgs.alpinelinux.org/packages?name=xplr">Edge Testing Repo</a></a></h4>
268<pre><code>
269# Add the following line in /etc/apk/repositories:
270
271# https://dl-cdn.alpinelinux.org/alpine/edge/testing
272
273apk add xplr bash less
274</code></pre>
275<h3 id="void-linux"><a class="header" href="#void-linux">Void Linux</a></h3>
276<h4 id="void-templates-by-shubham"><a class="header" href="#void-templates-by-shubham"><a href="https://github.com/shubham-cpp/void-pkg-templates">void-templates by shubham</a></a></h4>
277<h3 id="gentoo"><a class="header" href="#gentoo">Gentoo</a></h3>
278<h4 id="overlay-guru"><a class="header" href="#overlay-guru"><a href="https://gpo.zugaina.org/Overlays/guru/app-misc/xplr">Overlay GURU</a></a></h4>
279<h3 id="macos"><a class="header" href="#macos">macOS</a></h3>
280<p>Make sure you have the latest version of <a href="https://formulae.brew.sh/formula/coreutils">GNU core utilities</a> installed.</p>
281<h4 id="macports"><a class="header" href="#macports"><a href="https://ports.macports.org/port/xplr">MacPorts</a></a></h4>
282<pre><code>sudo port selfupdate
283sudo port install xplr
284</code></pre>
285<h4 id="homebrew"><a class="header" href="#homebrew"><a href="https://formulae.brew.sh/formula/xplr">Homebrew</a></a></h4>
286<p>Stable branch:</p>
287<pre><code>brew install xplr
288</code></pre>
289<p>HEAD branch:</p>
290<pre><code>brew install --head xplr
291</code></pre>
292<h3 id="freebsd"><a class="header" href="#freebsd">FreeBSD</a></h3>
293<h4 id="ports"><a class="header" href="#ports"><a href="https://cgit.freebsd.org/ports/plain/misc/xplr/">ports</a></a></h4>
294<pre><code>pkg install xplr
295</code></pre>
296<p>Or</p>
297<pre><code>cd /usr/ports/misc/xplr
298make install clean
299</code></pre>
300<h3 id="netbsd"><a class="header" href="#netbsd">NetBSD</a></h3>
301<h4 id="pkgsrc"><a class="header" href="#pkgsrc"><a href="https://pkgsrc.se/sysutils/xplr">pkgsrc</a></a></h4>
302<pre><code>pkgin install xplr
303</code></pre>
304<p>Or</p>
305<pre><code>cd /usr/pkgsrc/sysutils/xplr
306make install
307</code></pre>
308<h2 id="direct-download"><a class="header" href="#direct-download">Direct Download</a></h2>
309<p>One can directly download the standalone binary from the
310<a href="https://github.com/sayanarijit/xplr/releases">releases</a>.</p>
311<p>Currently, the following options are available for direct download:</p>
312<ul>
313<li><a href="https://github.com/sayanarijit/xplr/releases/latest/download/xplr-linux.tar.gz">GNU/Linux</a></li>
314<li><a href="https://github.com/sayanarijit/xplr/releases/latest/download/xplr-macos.tar.gz">macOS</a></li>
315</ul>
316<p>Command-line instructions:</p>
317<pre><code class="language-bash">platform="linux"  # or "macos"
318
319# Download
320wget https://github.com/sayanarijit/xplr/releases/latest/download/xplr-$platform.tar.gz
321
322# Extract
323tar xzvf xplr-$platform.tar.gz
324
325# Place in $PATH
326sudo mv xplr /usr/local/bin/
327</code></pre>
328<h2 id="from-cratesio"><a class="header" href="#from-cratesio">From <a href="https://crates.io/crates/xplr">crates.io</a></a></h2>
329<p>Prerequisites:</p>
330<ul>
331<li><a href="https://www.rust-lang.org/tools/install">Rust toolchain</a>,</li>
332<li><a href="https://gcc.gnu.org/">gcc</a></li>
333<li><a href="https://www.gnu.org/software/make/">make</a></li>
334</ul>
335<p>Command-line instructions:</p>
336<pre><code class="language-bash">cargo install --locked --force xplr
337</code></pre>
338<h2 id="build-from-source"><a class="header" href="#build-from-source">Build From Source</a></h2>
339<p>Prerequisites:</p>
340<ul>
341<li><a href="https://git-scm.com/">git</a></li>
342<li><a href="https://www.rust-lang.org/tools/install">Rust toolchain</a></li>
343<li><a href="https://gcc.gnu.org/">gcc</a></li>
344<li><a href="https://www.gnu.org/software/make/">make</a></li>
345</ul>
346<p>Command-line instructions:</p>
347<pre><code class="language-bash"># Clone the repository
348git clone https://github.com/sayanarijit/xplr.git
349cd xplr
350
351# Build
352cargo build --locked --release --bin xplr
353
354# Place in $PATH
355sudo cp target/release/xplr /usr/local/bin/
356</code></pre>
357
358                    </main>
359
360                    <nav class="nav-wrapper" aria-label="Page navigation">
361                        <!-- Mobile navigation buttons -->
362                            <a rel="prev" href="quickstart.html" class="mobile-nav-chapter
362s previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
363                                <i class="fa fa-angle-left"></i>
364                            </a>
365
366                            <a rel="next prefetch" href="post-install.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
367                                <i class="fa fa-angle-right"></i>
368                            </a>
369
370                        <div style="clear: both"></div>
371                    </nav>
372                </div>
373            </div>
374
375            <nav class="nav-wide-wrapper" aria-label="Page navigation">
376                    <a rel="prev" href="quickstart.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
377                        <i class="fa fa-angle-left"></i>
378                    </a>
379
380                    <a rel="next prefetch" href="post-install.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
381                        <i class="fa fa-angle-right"></i>
382                    </a>
383            </nav>
384
385        </div>
386
387
388
389
390        
390<script>
391            window.playground_copyable = true;
392        </script>
392
393
394
395        
395<script src="elasticlunr.min.js"></script>
395
396        
396<script src="mark.min.js"></script>
396
397        
397<script src="searcher.js"></script>
397
398
399        
399<script src="clipboard.min.js"></script>
399
400        
400<script src="highlight.js"></script>
400
401        
401<script src="book.js"></script>
401
402
403        <!-- Custom JS scripts -->
404
405
406    </div>
407    <!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 407
407<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
4078bfbf0ee75264eee8127fff6987fdc7d
vendor: 13 bytes, line 407
407"}'></script>
407<!-- Cloudflare Pages Analytics --></body>
408</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.