Files
escrcpy/reference/gnirehtet/index.html

51 lines
62 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Gnirehtet | Escrcpy</title>
<meta name="description" content="Control your Android device with graphical scrcpy.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.BpkPRy-0.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.CCNk0d1T.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.p7EFBa8N.js">
<link rel="modulepreload" href="/assets/chunks/framework.BbzUrtmR.js">
<link rel="modulepreload" href="/assets/reference_gnirehtet_index.md.ibTdvTXa.lean.js">
<link rel="icon" href="/images/logo.ico">
<script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5328953201873088" async crossorigin="anonymous"></script>
<script src="https://cdn.busuanzi.cc/busuanzi/3.6.9/busuanzi.min.js" async defer></script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5e58cf28><!--[--><!--]--><!--[--><span tabindex="-1" data-v-5cab7483></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-5cab7483>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5e58cf28 data-v-8673a5b4><div class="VPNavBar" data-v-8673a5b4 data-v-9182a8b7><div class="wrapper" data-v-9182a8b7><div class="container" data-v-9182a8b7><div class="title" data-v-9182a8b7><div class="VPNavBarTitle has-sidebar" data-v-9182a8b7 data-v-8988568e><a class="title" href="/" data-v-8988568e><!--[--><!--]--><!--[--><img class="VPImage logo" src="/images/logo.ico" alt="Escrcpy" data-v-204ef04e><!--]--><span data-v-8988568e>Escrcpy</span><!--[--><!--]--></a></div></div><div class="content" data-v-9182a8b7><div class="content-body" data-v-9182a8b7><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9182a8b7><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9182a8b7 data-v-68e2eda7><span id="main-nav-aria-label" class="visually-hidden" data-v-68e2eda7> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/reference" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Reference</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/help" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Help</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/changelog" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Changelog</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/donate" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Donate</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/contact" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Contact</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://blog.viarotel.eu.org/en" target="_blank" rel="noreferrer" tabindex="0" data-v-68e2eda7 data-v-5fd9369f><!--[--><span data-v-5fd9369f>Blog</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-9182a8b7 data-v-922300eb data-v-d04fbf37><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-d04fbf37><span class="text" data-v-d04fbf37><span class="vpi-languages option-icon" data-v-d04fbf37></span><!----><span class="vpi-chevron-down text-icon" data-v-d04fbf37></span></span></button><div class="menu" data-v-d04fbf37><div class="VPMenu" data-v-d04fbf37 data-v-dd38a54b><!----><!--[--><!--[--><div class="items" data-v-922300eb><p class="title" data-v-922300eb>English</p><!--[--><div class="VPMenuLink" data-v-922300eb data-v-a2d1f322><a class="VPLink link" href="/zhHans/reference/gnirehtet/" data-v-a2d1f322><!--[--><span data-v-a2d1f322>简体中文</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-9182a8b7 data-v-dc4dbc8c><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-dc4dbc8c data-v-1a315ede data-v-0b8c39fd><span class="check" data-v-0b8c39fd><span class="icon" data-v-0b8c39fd><!--[--><span class="vpi-sun sun" data-v-1a315ede></span><span class="vpi-moon moon" data-v-1a315ede></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9182a8b7 data-v-ab994210 data-v-9b13c196><!--[--><a class="VPSocialLink no-icon" href="https://github.com/viarotel/" aria-label="github" target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://gitee.com/viarotel" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://gitee.com/favicon.ico" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://gitcode.com/viarotel-org" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="/images/logo-gitcode.png" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://space.bilibili.com/274990176" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://static.hdslb.com/images/favicon.ico" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1275089219751944" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web//static/favicons/favicon-32x32.png" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9182a8b7 data-v-8528be71 data-v-d04fbf37><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-d04fbf37><span class="vpi-more-horizontal icon" data-v-d04fbf37></span></button><div class="menu" data-v-d04fbf37><div class="VPMenu" data-v-d04fbf37 data-v-dd38a54b><!----><!--[--><!--[--><div class="group translations" data-v-8528be71><p class="trans-title" data-v-8528be71>English</p><!--[--><div class="VPMenuLink" data-v-8528be71 data-v-a2d1f322><a class="VPLink link" href="/zhHans/reference/gnirehtet/" data-v-a2d1f322><!--[--><span data-v-a2d1f322>简体中文</span><!--]--></a></div><!--]--></div><div class="group" data-v-8528be71><div class="item appearance" data-v-8528be71><p class="label" data-v-8528be71>Appearance</p><div class="appearance-action" data-v-8528be71><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-8528be71 data-v-1a315ede data-v-0b8c39fd><span class="check" data-v-0b8c39fd><span class="icon" data-v-0b8c39fd><!--[--><span class="vpi-sun sun" data-v-1a315ede></span><span class="vpi-moon moon" data-v-1a315ede></span><!--]--></span></span></button></div></div></div><div class="group" data-v-8528be71><div class="item social-links" data-v-8528be71><div class="VPSocialLinks social-links-list" data-v-8528be71 data-v-9b13c196><!--[--><a class="VPSocialLink no-icon" href="https://github.com/viarotel/" aria-label="github" target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://gitee.com/viarotel" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://gitee.com/favicon.ico" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://gitcode.com/viarotel-org" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="/images/logo-gitcode.png" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://space.bilibili.com/274990176" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://static.hdslb.com/images/favicon.ico" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1275089219751944" aria-label target="_blank" rel="noopener" data-v-9b13c196 data-v-6505df91><img src="https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web//static/favicons/favicon-32x32.png" style="width: 20px; height: 20px;" class="hover:opacity-100 opacity-70 duration-500" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9182a8b7 data-v-48302ed4><span class="container" data-v-48302ed4><span class="top" data-v-48302ed4></span><span class="middle" data-v-48302ed4></span><span class="bottom" data-v-48302ed4></span></span></button></div></div></div></div><div class="divider" data-v-9182a8b7><div class="divider-line" data-v-9182a8b7></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5e58cf28 data-v-fa8c5e87><div class="container" data-v-fa8c5e87><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-fa8c5e87><span class="vpi-align-left menu-icon" data-v-fa8c5e87></span><span class="menu-text" data-v-fa8c5e87>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-fa8c5e87 data-v-058aae13><button data-v-058aae13>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5e58cf28 data-v-3e932162><div class="curtain" data-v-3e932162></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-3e932162><span class="visually-hidden" id="sidebar-aria-label" data-v-3e932162> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-246a6fca><section class="VPSidebarItem level-0 collapsible is-link" data-v-246a6fca data-v-9d2f0eb2><div class="item" tabindex="0" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/index" data-v-9d2f0eb2><!--[--><h2 class="text" data-v-9d2f0eb2>Guide</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9d2f0eb2><span class="vpi-chevron-right caret-icon" data-v-9d2f0eb2></span></div></div><div class="items" data-v-9d2f0eb2><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/started" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Quick Start</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/milestones" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Milestones</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/operation" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Operation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/preferences" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Preferences</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/guide/window-arrangement" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Window Arrangement</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-246a6fca><section class="VPSidebarItem level-0 collapsible is-link has-active" data-v-246a6fca data-v-9d2f0eb2><div class="item" tabindex="0" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/index" data-v-9d2f0eb2><!--[--><h2 class="text" data-v-9d2f0eb2>Reference</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9d2f0eb2><span class="vpi-chevron-right caret-icon" data-v-9d2f0eb2></span></div></div><div class="items" data-v-9d2f0eb2><!--[--><section class="VPSidebarItem level-1 collapsible is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" tabindex="0" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/gnirehtet/index" data-v-9d2f0eb2><!--[--><h3 class="text" data-v-9d2f0eb2>Gnirehtet</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9d2f0eb2><span class="vpi-chevron-right caret-icon" data-v-9d2f0eb2></span></div></div><div class="items" data-v-9d2f0eb2><!--[--><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/gnirehtet/api" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>API</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" tabindex="0" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/index" data-v-9d2f0eb2><!--[--><h3 class="text" data-v-9d2f0eb2>Scrcpy</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9d2f0eb2><span class="vpi-chevron-right caret-icon" data-v-9d2f0eb2></span></div></div><div class="items" data-v-9d2f0eb2><!--[--><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/audio" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Audio</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/build" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Build</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/camera" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Camera</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/connection" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Connection</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/control" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Control</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/develop" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Develop</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/device" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Device</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/gamepad" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Gamepad</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/keyboard" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Keyboard</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/linux" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Linux</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/macos" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Macos</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/mouse" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Mouse</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/otg" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Otg</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/recording" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Recording</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/shortcuts" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Shortcuts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/tunnels" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Tunnels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/v4l2" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Video4Linux</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/video" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Video</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/virtual_display" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Virtual_display</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/window" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Window</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/reference/scrcpy/windows" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Windows</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-246a6fca><section class="VPSidebarItem level-0 collapsible is-link" data-v-246a6fca data-v-9d2f0eb2><div class="item" tabindex="0" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/help/index" data-v-9d2f0eb2><!--[--><h2 class="text" data-v-9d2f0eb2>Help</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9d2f0eb2><span class="vpi-chevron-right caret-icon" data-v-9d2f0eb2></span></div></div><div class="items" data-v-9d2f0eb2><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/help/escrcpy" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Escrcpy</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/help/scrcpy" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Scrcpy</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-246a6fca><section class="VPSidebarItem level-0" data-v-246a6fca data-v-9d2f0eb2><!----><div class="items" data-v-9d2f0eb2><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/changelog" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Changelog</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/donate" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Donate</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9d2f0eb2 data-v-9d2f0eb2><div class="item" data-v-9d2f0eb2><div class="indicator" data-v-9d2f0eb2></div><a class="VPLink link link" href="/contact" data-v-9d2f0eb2><!--[--><p class="text" data-v-9d2f0eb2>Contact</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5e58cf28 data-v-808de957><div class="VPDoc has-sidebar has-aside" data-v-808de957 data-v-ece2883c><!--[--><!--]--><div class="container" data-v-ece2883c><div class="aside" data-v-ece2883c><div class="aside-curtain" data-v-ece2883c></div><div class="aside-container" data-v-ece2883c><div class="aside-content" data-v-ece2883c><div class="VPDocAside" data-v-ece2883c data-v-c6f33f21><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c6f33f21 data-v-1fdd89d9><div class="content" data-v-1fdd89d9><div class="outline-marker" data-v-1fdd89d9></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-1fdd89d9>On this page</div><ul class="VPDocOutlineItem root" data-v-1fdd89d9 data-v-1d0f3995><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c6f33f21></div><!--[--><!--[--><!--[--><!--[--><!----><!--]--><!--]--><!--]--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-ece2883c><div class="content-container" data-v-ece2883c><!--[--><!--]--><main class="main" data-v-ece2883c><div style="position:relative;" class="vp-doc _reference_gnirehtet_" data-v-ece2883c><div><div class="important custom-block github-alert"><p class="custom-block-title">IMPORTANT</p><p>Escrcpy is built on the following open-source projects. The relevant content is provided as is for user reference and will be updated periodically.</p></div><h1 id="gnirehtet-v2-5-1" tabindex="-1">Gnirehtet (v2.5.1) <a class="header-anchor" href="#gnirehtet-v2-5-1" aria-label="Permalink to &quot;Gnirehtet (v2.5.1)&quot;"></a></h1><p>This project provides <strong>reverse tethering</strong> over <code>adb</code> for Android: it allows devices to use the internet connection of the computer they are plugged on. It does not require any <em>root</em> access (neither on the device nor on the computer). It works on <em>GNU/Linux</em>, <em>Windows</em> and <em>Mac OS</em>.</p><p>Currently, it relays <a href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol" target="_blank" rel="noreferrer">TCP</a> and <a href="https://fr.wikipedia.org/wiki/User_Datagram_Protocol" target="_blank" rel="noreferrer">UDP</a> over <a href="https://en.wikipedia.org/wiki/IPv4" target="_blank" rel="noreferrer">IPv4</a> traffic, but it does not support <a href="https://en.wikipedia.org/wiki/IPv6" target="_blank" rel="noreferrer">IPv6</a> (yet?).</p><p><em><strong>This project is not actively maintained anymore, only major blockers (like build issues) are fixed. It should still work, though.</strong></em></p><h2 id="flavors" tabindex="-1">Flavors <a class="header-anchor" href="#flavors" aria-label="Permalink to &quot;Flavors&quot;"></a></h2><p>Two implementations of <em>Gnirehtet</em> are available:</p><ul><li>one in <strong>Java</strong>;</li><li>one in <strong>Rust</strong>.</li></ul><h3 id="which-one-to-choose" tabindex="-1">Which one to choose? <a class="header-anchor" href="#which-one-to-choose" aria-label="Permalink to &quot;Which one to choose?&quot;"></a></h3><p>Use the <strong>Rust</strong> implementation. The native binary consumes less CPU and memory, and does not require a <em>Java</em> runtime environment.</p><p>The relay server of <em>Gnirehtet</em> was initially only implemented in Java. As a benefit, the same &quot;binary&quot; runs on every platform having <em>Java 8</em> runtime installed. It is still maintained to provide a working alternative in case of problems with the Rust version.</p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></a></h2><p>The Android application requires at least API 21 (Android 5.0).</p><p>For the <em>Java</em> version only, <em>Java 8</em> (JRE) is required on your computer. On Debian-based distros, install the package <code>openjdk-8-jre</code>.</p><h3 id="adb" tabindex="-1">adb <a class="header-anchor" href="#adb" aria-label="Permalink to &quot;adb&quot;"></a></h3><p>You need a recent version of <a href="https://developer.android.com/studio/command-line/adb.html" target="_blank" rel="noreferrer">adb</a> (where <code>adb reverse</code> is implemented, it works with 1.0.36).</p><p>It is available in the <a href="https://developer.android.com/studio/releases/platform-tools.html" target="_blank" rel="noreferrer">Android SDK platform tools</a>.</p><p>On Debian-based distros, you can alternatively install the package <code>android-tools-adb</code>.</p><p>On Windows, if you need <code>adb</code> only for this application, just download the <a href="https://dl.google.com/android/repository/platform-tools-latest-windows.zip" target="_blank" rel="noreferrer">platform-tools</a> and extract the following files to the <em>gnirehtet</em> directory:</p><ul><li><code>adb.exe</code></li><li><code>AdbWinApi.dll</code></li><li><code>AdbWinUsbApi.dll</code></li></ul><p>Make sure you <a href="https://developer.android.com/studio/command-line/adb.html#Enabling" target="_blank" rel="noreferrer">enabled adb debugging</a> on your device(s).</p><h2 id="get-the-app" tabindex="-1">Get the app <a class="header-anchor" href="#get-the-app" aria-label="Permalink to &quot;Get the app&quot;"></a></h2><h3 id="homebrew" tabindex="-1">Homebrew <a class="header-anchor" href="#homebrew" aria-label="Permalink to &quot;Homebrew&quot;"></a></h3><p>If you use <a href="https://brew.sh/" target="_blank" rel="noreferrer">Homebrew</a>, getting up and running is very quick. To install the Rust version:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>brew install gnirehtet</span></span></code></pre></div><h3 id="download" tabindex="-1">Download <a class="header-anchor" href="#download" aria-label="Permalink to &quot;Download&quot;"></a></h3><p>Download the <a href="https://github.com/Genymobile/gnirehtet/releases/latest" target="_blank" rel="noreferrer">latest release</a> in the flavor you want.</p><h4 id="rust" tabindex="-1">Rust <a class="header-anchor" href="#rust" aria-label="Permalink to &quot;Rust&quot;"></a></h4><ul><li><strong>Linux:</strong> <a href="https://github.com/Genymobile/gnirehtet/releases/download/v2.5.1/gnirehtet-rust-linux64-v2.5.1.zip" target="_blank" rel="noreferrer"><code>gnirehtet-rust-linux64-v2.5.1.zip</code></a> (SHA-256: <em>dee55499ca4fef00ce2559c767d2d8130163736d43fdbce753e923e75309c275</em>)</li><li><strong>Windows:</strong> <a href="https://github.com/Genymobile/gnirehtet/releases/download/v2.5.1/gnirehtet-rust-win64-v2.5.1.zip" target="_blank" rel="noreferrer"><code>gnirehtet-rust-win64-v2.5.1.zip</code></a> (SHA-256: <em>7f5b1063e7895182aa60def1437e50363c3758144088dcd079037bb7c3c46a1c</em>)</li><li><strong>MacOS:</strong> <a href="https://github.com/Genymobile/gnirehtet/releases/download/v2.2.1/gnirehtet-rust-macos64-v2.2.1.zip" target="_blank" rel="noreferrer"><code>gnirehtet-rust-macos64-v2.2.1.zip</code></a><em>(old release)</em> (SHA-256: <em>902103e6497f995e1e9b92421be212559950cca4a8b557e1f0403769aee06fc8</em>)</li></ul><p>Then extract it.</p><p>The Linux and MacOS archives contain:</p><ul><li><code>gnirehtet.apk</code></li><li><code>gnirehtet</code></li></ul><p>The Windows archive contains:</p><ul><li><code>gnirehtet.apk</code></li><li><code>gnirehtet.exe</code></li><li><code>gnirehtet-run.cmd</code></li></ul><h4 id="java" tabindex="-1">Java <a class="header-anchor" href="#java" aria-label="Permalink to &quot;Java&quot;"></a></h4><ul><li><strong>All platforms:</strong> <a href="https://github.com/Genymobile/gnirehtet/releases/download/v2.5.1/gnirehtet-java-v2.5.1.zip" target="_blank" rel="noreferrer"><code>gnirehtet-java-v2.5.1.zip</code></a> (SHA-256: <em>816748078fa6a304600a294a13338a06ac778bcc0e57b62d88328c7968ad2d3a</em>)</li></ul><p>Then extract it. The archive contains:</p><ul><li><code>gnirehtet.apk</code></li><li><code>gnirehtet.jar</code></li><li><code>gnirehtet</code></li><li><code>gnirehtet.cmd</code></li><li><code>gnirehtet-run.cmd</code></li></ul><h2 id="run-simple" tabindex="-1">Run (simple) <a class="header-anchor" href="#run-simple" aria-label="Permalink to &quot;Run (simple)&quot;"></a></h2><p><em>Note: On Windows, replace <code>./gnirehtet</code> by <code>gnirehtet</code> in the following commands.</em></p><p>The application has no UI, and is intended to be controlled from the computer only.</p><p>If you want to activate reverse tethering for exactly one device, just execute:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p>Reverse tethering remains active until you press <em>Ctrl+C</em>.</p><p>On Windows, for convenience, you can double-click on <code>gnirehtet-run.cmd</code> instead (it just executes <code>gnirehtet run</code>, without requiring to open a terminal).</p><p>The very first start should open a popup to request permission:</p><p><img src="https://cdn.jsdelivr.net/gh/Genymobile/gnirehtet@master/assets/request.jpg" alt="request"></p><p>A &quot;key&quot; logo appears in the status bar whenever <em>Gnirehtet</em> is active:</p><p><img src="https://cdn.jsdelivr.net/gh/Genymobile/gnirehtet@master/assets/key.png" alt="key"></p><p>Alternatively, you can enable reverse tethering for all connected devices (present and future) by calling:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> autorun</span></span></code></pre></div><h2 id="run" tabindex="-1">Run <a class="header-anchor" href="#run" aria-label="Permalink to &quot;Run&quot;"></a></h2><p>You can execute the actions separately (it may be useful if you want to reverse tether several devices simultaneously).</p><p>Start the relay server and keep it open:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> relay</span></span></code></pre></div><p>Install the <code>apk</code> on your Android device:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [serial]</span></span></code></pre></div><p>In another terminal, for each client, execute:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [serial]</span></span></code></pre></div><p>To stop a client:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [serial]</span></span></code></pre></div><p>To reset the tunnel (useful to get the connection back when a device is unplugged and plugged back while gnirehtet is active):</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tunnel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [serial]</span></span></code></pre></div><p>The <em>serial</em> parameter is required only if <code>adb devices</code> outputs more than one device.</p><p>For advanced options, call <code>./gnirehtet</code> without arguments to get more details.</p><h2 id="run-manually" tabindex="-1">Run manually <a class="header-anchor" href="#run-manually" aria-label="Permalink to &quot;Run manually&quot;"></a></h2><p>The <code>gnirehtet</code> program exposes a simple command-line interface that executes lower-level commands. You can call them manually instead.</p><p>To start the relay server:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> relay</span></span></code></pre></div><p>To install the apk:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">adb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> gnirehtet.apk</span></span></code></pre></div><p>To start a client:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">adb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> reverse</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> localabstract:gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tcp:31416</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">adb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> shell</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> am</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -a</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> com.genymobile.gnirehtet.START</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> com.genymobile.gnirehtet/.GnirehtetActivity</span></span></code></pre></div><p>To stop a client:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">adb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> shell</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> am</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -a</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> com.genymobile.gnirehtet.STOP</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> com.genymobile.gnirehtet/.GnirehtetActivity</span></span></code></pre></div><h2 id="environment-variables" tabindex="-1">Environment variables <a class="header-anchor" href="#environment-variables" aria-label="Permalink to &quot;Environment variables&quot;"></a></h2><p><code>ADB</code> defines a custom path to the <code>adb</code> executable:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">ADB</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/path/to/my/adb</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><p><code>GNIREHTET_APK</code> defines a custom path to <code>gnirehtet.apk</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">GNIREHTET_APK</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/usr/share/gnirehtet/gnirehtet.apk</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ./gnirehtet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span></span></code></pre></div><h2 id="why-gnirehtet" tabindex="-1">Why <em>gnirehtet</em>? <a class="header-anchor" href="#why-gnirehtet" aria-label="Permalink to &quot;Why _gnirehtet_?&quot;"></a></h2><pre><code>rev &lt;&lt;&lt; tethering
</code></pre><p>(in <em>Bash</em>)</p><h2 id="developers" tabindex="-1">Developers <a class="header-anchor" href="#developers" aria-label="Permalink to &quot;Developers&quot;"></a></h2><p>Read the <a href="https://github.com/Genymobile/gnirehtet/blob/master/DEVELOP.md" target="_blank" rel="noreferrer">developers page</a>.</p><h2 id="licence" tabindex="-1">Licence <a class="header-anchor" href="#licence" aria-label="Permalink to &quot;Licence&quot;"></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Copyright (C) 2017 Genymobile</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></span>
<span class="line"><span>you may not use this file except in compliance with the License.</span></span>
<span class="line"><span>You may obtain a copy of the License at</span></span>
<span class="line"><span></span></span>
<span class="line"><span> http://www.apache.org/licenses/LICENSE-2.0</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Unless required by applicable law or agreed to in writing, software</span></span>
<span class="line"><span>distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></span>
<span class="line"><span>WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></span>
<span class="line"><span>See the License for the specific language governing permissions and</span></span>
<span class="line"><span>limitations under the License.</span></span></code></pre></div><h2 id="articles" tabindex="-1">Articles <a class="header-anchor" href="#articles" aria-label="Permalink to &quot;Articles&quot;"></a></h2><ul><li><a href="https://medium.com/@rom1v/gnirehtet-reverse-tethering-android-2afacdbdaec7" target="_blank" rel="noreferrer">Introducing “gnirehtet”, a reverse tethering tool for Android</a> (<a href="https://blog.rom1v.com/2017/03/gnirehtet/" target="_blank" rel="noreferrer">French version</a>)</li><li><a href="https://medium.com/genymobile/gnirehtet-2-our-reverse-tethering-tool-for-android-now-available-in-rust-999960483d5a" target="_blank" rel="noreferrer">Gnirehtet 2: our reverse tethering tool for Android now available in Rust</a></li><li><a href="https://blog.rom1v.com/2017/09/gnirehtet-rewritten-in-rust/" target="_blank" rel="noreferrer">Gnirehtet rewritten in Rust</a> (<a href="https://blog.rom1v.com/2017/09/gnirehtet-reecrit-en-rust/" target="_blank" rel="noreferrer">French version</a>)</li></ul></div></div></main><footer class="VPDocFooter" data-v-ece2883c data-v-c29125ee><!--[--><!--]--><div class="edit-info" data-v-c29125ee><!----><div class="last-updated" data-v-c29125ee><p class="VPLastUpdated" data-v-c29125ee data-v-3a51bb1c>Last updated: <time datetime="2026-05-28T02:41:55.000Z" data-v-3a51bb1c></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-c29125ee><span class="visually-hidden" id="doc-footer-aria-label" data-v-c29125ee>Pager</span><div class="pager" data-v-c29125ee><a class="VPLink link pager-link prev" href="/reference/index" data-v-c29125ee><!--[--><span class="desc" data-v-c29125ee>Previous page</span><span class="title" data-v-c29125ee>Reference</span><!--]--></a></div><div class="pager" data-v-c29125ee><a class="VPLink link pager-link next" href="/reference/gnirehtet/api" data-v-c29125ee><!--[--><span class="desc" data-v-c29125ee>Next page</span><span class="title" data-v-c29125ee>API</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5e58cf28 data-v-460faef1><div class="container" data-v-460faef1><p class="message" data-v-460faef1>
<span>Views <span id="busuanzi_site_pv">0</span>, </span>
<span>Visitors <span id="busuanzi_site_uv">0</span></span>
<br />
<span>TodayViews <span id="busuanzi_today_pv">0</span>, </span>
<span>TodayVisitors <span id="busuanzi_today_uv">0</span></span>
<br />
</p><p class="copyright" data-v-460faef1>Copyright © 2023-2026 Powered by viarotel</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog.md\":\"DW7i7xa5\",\"contact.md\":\"Dl1OYr_0\",\"donate.md\":\"CX1TLzK7\",\"guide_index.md\":\"CxD6yjp_\",\"guide_milestones.md\":\"eMH_Q3fI\",\"guide_operation.md\":\"C6XrfZoG\",\"guide_preferences.md\":\"D3W_E9iK\",\"guide_started.md\":\"C30wIk5K\",\"guide_window-arrangement.md\":\"DGwnkF4_\",\"help_escrcpy.md\":\"CZfL-b1L\",\"help_index.md\":\"D9NSMkCi\",\"help_scrcpy.md\":\"IOdh_rNb\",\"index.md\":\"BSsBqGmI\",\"reference_gnirehtet_api.md\":\"CzgLfqPS\",\"reference_gnirehtet_index.md\":\"ibTdvTXa\",\"reference_index.md\":\"CKunVx-C\",\"reference_scrcpy_audio.md\":\"DH4Ho2I-\",\"reference_scrcpy_build.md\":\"831qAbf_\",\"reference_scrcpy_camera.md\":\"D1HTgeqk\",\"reference_scrcpy_connection.md\":\"CqL6vpND\",\"reference_scrcpy_control.md\":\"C1Fnb7K8\",\"reference_scrcpy_develop.md\":\"CQqWx195\",\"reference_scrcpy_device.md\":\"C3WwcVyn\",\"reference_scrcpy_gamepad.md\":\"DJh_U1Nb\",\"reference_scrcpy_index.md\":\"RVvwEQYX\",\"reference_scrcpy_keyboard.md\":\"B96Sk82Y\",\"reference_scrcpy_linux.md\":\"jJme15eg\",\"reference_scrcpy_macos.md\":\"BkDLEKe8\",\"reference_scrcpy_mouse.md\":\"4kBuSrvE\",\"reference_scrcpy_otg.md\":\"CQmV_6Pl\",\"reference_scrcpy_recording.md\":\"0X4h0aEp\",\"reference_scrcpy_shortcuts.md\":\"D0B4F68T\",\"reference_scrcpy_tunnels.md\":\"BxAPixlu\",\"reference_scrcpy_v4l2.md\":\"CcAjFjdX\",\"reference_scrcpy_video.md\":\"BmRjXvg2\",\"reference_scrcpy_virtual_display.md\":\"BCUiMzrt\",\"reference_scrcpy_window.md\":\"CrGO-SA6\",\"reference_scrcpy_windows.md\":\"DzFmoOpv\",\"zhhans_changelog.md\":\"C2M7zop-\",\"zhhans_contact.md\":\"Cxuzey9R\",\"zhhans_donate.md\":\"BZt3vtUO\",\"zhhans_guide_index.md\":\"B4sQDKdD\",\"zhhans_guide_milestones.md\":\"5s8ehTaE\",\"zhhans_guide_operation.md\":\"BrHyEgfo\",\"zhhans_guide_preferences.md\":\"CR4FUk4G\",\"zhhans_guide_started.md\":\"majQzPDa\",\"zhhans_guide_window-arrangement.md\":\"8uxIHoEf\",\"zhhans_help_escrcpy.md\":\"DPpIGjt4\",\"zhhans_help_index.md\":\"BHYsEIGM\",\"zhhans_help_scrcpy.md\":\"DyR1m8ON\",\"zhhans_index.md\":\"CBXehLzv\",\"zhhans_reference_gnirehtet_api.md\":\"DNOZh_4R\",\"zhhans_reference_gnirehtet_index.md\":\"CgVrgmsS\",\"zhhans_reference_index.md\":\"NY3aKiXN\",\"zhhans_reference_scrcpy_audio.md\":\"87MreNZT\",\"zhhans_reference_scrcpy_build.md\":\"Byud-pJX\",\"zhhans_reference_scrcpy_camera.md\":\"Tc2YqVxC\",\"zhhans_reference_scrcpy_connection.md\":\"C-EIDrhN\",\"zhhans_reference_scrcpy_control.md\":\"BoX93PdH\",\"zhhans_reference_scrcpy_develop.md\":\"CDuFUtHj\",\"zhhans_reference_scrcpy_device.md\":\"X8V3Itmq\",\"zhhans_reference_scrcpy_gamepad.md\":\"Dew61Omb\",\"zhhans_reference_scrcpy_index.md\":\"CSpWdZRM\",\"zhhans_reference_scrcpy_keyboard.md\":\"BJieyibl\",\"zhhans_reference_scrcpy_linux.md\":\"DcZpw24U\",\"zhhans_reference_scrcpy_macos.md\":\"pT2oWQuH\",\"zhhans_reference_scrcpy_mouse.md\":\"DTbbtm0J\",\"zhhans_reference_scrcpy_otg.md\":\"DNwMyaTW\",\"zhhans_reference_scrcpy_recording.md\":\"BKJ-_eKc\",\"zhhans_reference_scrcpy_shortcuts.md\":\"DvgIUqeV\",\"zhhans_reference_scrcpy_tunnels.md\":\"uD8TS5jg\",\"zhhans_reference_scrcpy_v4l2.md\":\"BTNSVu6T\",\"zhhans_reference_scrcpy_video.md\":\"B39J6Km1\",\"zhhans_reference_scrcpy_virtual_display.md\":\"BVBa1mcm\",\"zhhans_reference_scrcpy_window.md\":\"DohZQwTB\",\"zhhans_reference_scrcpy_windows.md\":\"DaH6OLWH\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Escrcpy\",\"description\":\"Control your Android device with graphical scrcpy.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"src\":\"/images/logo.ico\",\"alt\":\"Escrcpy\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/viarotel/\"},{\"icon\":{\"svg\":\"<img src=\\\"https://gitee.com/favicon.ico\\\" style=\\\"width: 20px; height: 20px;\\\" class=\\\"hover:opacity-100 opacity-70 duration-500\\\" />\"},\"link\":\"https://gitee.com/viarotel\"},{\"icon\":{\"svg\":\"<img src=\\\"/images/logo-gitcode.png\\\" style=\\\"width: 20px; height: 20px;\\\" class=\\\"hover:opacity-100 opacity-70 duration-500\\\" />\"},\"link\":\"https://gitcode.com/viarotel-org\"},{\"icon\":{\"svg\":\"<img src=\\\"https://static.hdslb.com/images/favicon.ico\\\" style=\\\"width: 20px; height: 20px;\\\" class=\\\"hover:opacity-100 opacity-70 duration-500\\\" />\"},\"link\":\"https://space.bilibili.com/274990176\"},{\"icon\":{\"svg\":\"<img src=\\\"https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web//static/favicons/favicon-32x32.png\\\" style=\\\"width: 20px; height: 20px;\\\" class=\\\"hover:opacity-100 opacity-70 duration-500\\\" />\"},\"link\":\"https://juejin.cn/user/1275089219751944\"}],\"footer\":{\"message\":\"\\n <span>Views <span id=\\\"busuanzi_site_pv\\\">0</span>, </span>\\n <span>Visitors <span id=\\\"busuanzi_site_uv\\\">0</span></span>\\n <br />\\n <span>TodayViews <span id=\\\"busuanzi_today_pv\\\">0</span>, </span>\\n <span>TodayVisitors <span id=\\\"busuanzi_today_uv\\\">0</span></span>\\n <br />\\n \",\"copyright\":\"Copyright © 2023-2026 Powered by viarotel\"},\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"XY26T0U1UR\",\"apiKey\":\"d92446a9ce99be7089c291a2dae47778\",\"indexName\":\"viarotelio\",\"locales\":{\"root\":{\"placeholder\":\"Search docs\",\"translations\":{\"button\":{\"buttonText\":\"Search\",\"buttonAriaLabel\":\"Search\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"Clear the query\",\"resetButtonAriaLabel\":\"Clear the query\",\"cancelButtonText\":\"Cancel\",\"cancelButtonAriaLabel\":\"Cancel\",\"searchInputLabel\":\"Search\"},\"startScreen\":{\"recentSearchesTitle\":\"Recent\",\"noRecentSearchesText\":\"No recent searches\",\"saveRecentSearchButtonTitle\":\"Save this search\",\"removeRecentSearchButtonTitle\":\"Remove this search from history\",\"favoriteSearchesTitle\":\"Favorite\",\"removeFavoriteSearchButtonTitle\":\"Remove this search from favorites\"},\"errorScreen\":{\"titleText\":\"Unable to fetch results\",\"helpText\":\"You might want to check your network connection.\"},\"footer\":{\"selectText\":\"to select\",\"selectKeyAriaLabel\":\"Enter key\",\"navigateText\":\"to navigate\",\"navigateUpKeyAriaLabel\":\"Arrow up\",\"navigateDownKeyAriaLabel\":\"Arrow down\",\"closeText\":\"to close\",\"closeKeyAriaLabel\":\"Escape key\",\"searchByText\":\"Search by\"},\"noResultsScreen\":{\"noResultsText\":\"No results for\",\"suggestedQueryText\":\"Try searching for\",\"reportMissingResultsText\":\"Believe this query should return results?\",\"reportMissingResultsLinkText\":\"Let us know.\"}}}},\"zhHans\":{\"placeholder\":\"搜索文档\",\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"清除查询条件\",\"resetButtonAriaLabel\":\"清除查询条件\",\"cancelButtonText\":\"取消\",\"cancelButtonAriaLabel\":\"取消\",\"searchInputLabel\":\"搜索文档\"},\"startScreen\":{\"recentSearchesTitle\":\"搜索历史\",\"noRecentSearchesText\":\"没有搜索历史\",\"saveRecentSearchButtonTitle\":\"保存至搜索历史\",\"removeRecentSearchButtonTitle\":\"从搜索历史中移除\",\"favoriteSearchesTitle\":\"收藏\",\"removeFavoriteSearchButtonTitle\":\"从收藏中移除\"},\"errorScreen\":{\"titleText\":\"无法获取结果\",\"helpText\":\"你可能需要检查你的网络连接\"},\"footer\":{\"selectText\":\"选择\",\"selectKeyAriaLabel\":\"Enter键\",\"navigateText\":\"切换\",\"navigateUpKeyAriaLabel\":\"向上箭头键\",\"navigateDownKeyAriaLabel\":\"向下箭头键\",\"closeText\":\"关闭\",\"closeKeyAriaLabel\":\"Escape键\",\"searchByText\":\"搜索提供者\"},\"noResultsScreen\":{\"noResultsText\":\"无法找到相关结果\",\"suggestedQueryText\":\"你可以尝试查询\",\"reportMissingResultsText\":\"你认为该查询应该有结果?\",\"reportMissingResultsLinkText\":\"点击反馈\"}}}}}}},\"sidebar\":{\"/\":{\"base\":\"/\",\"items\":[{\"text\":\"Guide\",\"link\":\"guide/index.md\",\"items\":[{\"text\":\"Quick Start\",\"link\":\"guide/started\"},{\"text\":\"Milestones\",\"link\":\"guide/milestones\"},{\"text\":\"Operation\",\"link\":\"guide/operation\"},{\"text\":\"Preferences\",\"link\":\"guide/preferences\"},{\"text\":\"Window Arrangement\",\"link\":\"guide/window-arrangement\"}],\"collapsed\":false},{\"text\":\"Reference\",\"link\":\"reference/index.md\",\"items\":[{\"text\":\"Gnirehtet\",\"link\":\"reference/gnirehtet/index.md\",\"items\":[{\"text\":\"API\",\"link\":\"reference/gnirehtet/api\"}],\"collapsed\":false},{\"text\":\"Scrcpy\",\"link\":\"reference/scrcpy/index.md\",\"items\":[{\"text\":\"Audio\",\"link\":\"reference/scrcpy/audio\"},{\"text\":\"Build\",\"link\":\"reference/scrcpy/build\"},{\"text\":\"Camera\",\"link\":\"reference/scrcpy/camera\"},{\"text\":\"Connection\",\"link\":\"reference/scrcpy/connection\"},{\"text\":\"Control\",\"link\":\"reference/scrcpy/control\"},{\"text\":\"Develop\",\"link\":\"reference/scrcpy/develop\"},{\"text\":\"Device\",\"link\":\"reference/scrcpy/device\"},{\"text\":\"Gamepad\",\"link\":\"reference/scrcpy/gamepad\"},{\"text\":\"Keyboard\",\"link\":\"reference/scrcpy/keyboard\"},{\"text\":\"Linux\",\"link\":\"reference/scrcpy/linux\"},{\"text\":\"Macos\",\"link\":\"reference/scrcpy/macos\"},{\"text\":\"Mouse\",\"link\":\"reference/scrcpy/mouse\"},{\"text\":\"Otg\",\"link\":\"reference/scrcpy/otg\"},{\"text\":\"Recording\",\"link\":\"reference/scrcpy/recording\"},{\"text\":\"Shortcuts\",\"link\":\"reference/scrcpy/shortcuts\"},{\"text\":\"Tunnels\",\"link\":\"reference/scrcpy/tunnels\"},{\"text\":\"Video4Linux\",\"link\":\"reference/scrcpy/v4l2\"},{\"text\":\"Video\",\"link\":\"reference/scrcpy/video\"},{\"text\":\"Virtual_display\",\"link\":\"reference/scrcpy/virtual_display\"},{\"text\":\"Window\",\"link\":\"reference/scrcpy/window\"},{\"text\":\"Windows\",\"link\":\"reference/scrcpy/windows\"}],\"collapsed\":false}],\"collapsed\":false},{\"text\":\"Help\",\"link\":\"help/index.md\",\"items\":[{\"text\":\"Escrcpy\",\"link\":\"help/escrcpy\"},{\"text\":\"Scrcpy\",\"link\":\"help/scrcpy\"}],\"collapsed\":false},{\"text\":\"Changelog\",\"link\":\"changelog\"},{\"text\":\"Donate\",\"link\":\"donate\"},{\"text\":\"Contact\",\"link\":\"contact\"}]},\"/zhHans/\":{\"base\":\"/zhHans/\",\"items\":[{\"text\":\"指引\",\"link\":\"guide/index.md\",\"items\":[{\"text\":\"快速上手\",\"link\":\"guide/started\"},{\"text\":\"里程碑\",\"link\":\"guide/milestones\"},{\"text\":\"操作指南\",\"link\":\"guide/operation\"},{\"text\":\"偏好设置\",\"link\":\"guide/preferences\"},{\"text\":\"窗口编排\",\"link\":\"guide/window-arrangement\"}],\"collapsed\":false},{\"text\":\"参考手册\",\"link\":\"reference/index.md\",\"items\":[{\"text\":\"Gnirehtet\",\"link\":\"reference/gnirehtet/index.md\",\"items\":[{\"text\":\"API接口文档\",\"link\":\"reference/gnirehtet/api\"}],\"collapsed\":false},{\"text\":\"Scrcpy\",\"link\":\"reference/scrcpy/index.md\",\"items\":[{\"text\":\"Audio音频\",\"link\":\"reference/scrcpy/audio\"},{\"text\":\"Build编译\",\"link\":\"reference/scrcpy/build\"},{\"text\":\"Camera相机\",\"link\":\"reference/scrcpy/camera\"},{\"text\":\"Connection连接\",\"link\":\"reference/scrcpy/connection\"},{\"text\":\"Control控制\",\"link\":\"reference/scrcpy/control\"},{\"text\":\"Develop开发者指南\",\"link\":\"reference/scrcpy/develop\"},{\"text\":\"Device设备控制\",\"link\":\"reference/scrcpy/device\"},{\"text\":\"Gamepad游戏手柄\",\"link\":\"reference/scrcpy/gamepad\"},{\"text\":\"Keyboard键盘\",\"link\":\"reference/scrcpy/keyboard\"},{\"text\":\"Linux平台指南\",\"link\":\"reference/scrcpy/linux\"},{\"text\":\"MacOS平台指南\",\"link\":\"reference/scrcpy/macos\"},{\"text\":\"Mouse鼠标\",\"link\":\"reference/scrcpy/mouse\"},{\"text\":\"OTG\",\"link\":\"reference/scrcpy/otg\"},{\"text\":\"Recording录制\",\"link\":\"reference/scrcpy/recording\"},{\"text\":\"Shortcuts快捷键\",\"link\":\"reference/scrcpy/shortcuts\"},{\"text\":\"Tunnels隧道连接\",\"link\":\"reference/scrcpy/tunnels\"},{\"text\":\"Video4Linux视频流监控\",\"link\":\"reference/scrcpy/v4l2\"},{\"text\":\"Video视频\",\"link\":\"reference/scrcpy/video\"},{\"text\":\"VirtualDisplay虚拟显示\",\"link\":\"reference/scrcpy/virtual_display\"},{\"text\":\"Window窗口控制\",\"link\":\"reference/scrcpy/window\"},{\"text\":\"Windows平台指南\",\"link\":\"reference/scrcpy/windows\"}],\"collapsed\":false}],\"collapsed\":false},{\"text\":\"帮助\",\"link\":\"help/index.md\",\"items\":[{\"text\":\"Escrcpy\",\"link\":\"help/escrcpy\"},{\"text\":\"Scrcpy\",\"link\":\"help/scrcpy\"}],\"collapsed\":false},{\"text\":\"更新日志\",\"link\":\"changelog\"},{\"text\":\"捐赠项目\",\"link\":\"donate\"},{\"text\":\"联系我们\",\"link\":\"contact\"}]}}},\"locales\":{\"root\":{\"lang\":\"en-US\",\"label\":\"English\",\"description\":\"Control your Android device with graphical scrcpy.\",\"themeConfig\":{\"docFooter\":{\"prev\":\"Previous page\",\"next\":\"Next page\"},\"outline\":{\"label\":\"On this page\"},\"lastUpdated\":{\"text\":\"Last updated\"},\"langMenuLabel\":\"Change language\",\"returnToTopLabel\":\"Return to top\",\"sidebarMenuLabel\":\"Menu\",\"darkModeSwitchLabel\":\"Appearance\",\"lightModeSwitchTitle\":\"Switch to light theme\",\"darkModeSwitchTitle\":\"Switch to dark theme\",\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide\"},{\"text\":\"Reference\",\"link\":\"/reference\"},{\"text\":\"Help\",\"link\":\"/help\"},{\"text\":\"Changelog\",\"link\":\"/changelog\"},{\"text\":\"Donate\",\"link\":\"/donate\"},{\"text\":\"Contact\",\"link\":\"/contact\"},{\"text\":\"Blog\",\"link\":\"https://blog.viarotel.eu.org/en\"}]}},\"zhHans\":{\"lang\":\"zh-CN\",\"label\":\"简体中文\",\"description\":\"使用图形化的 scrcpy 显示和控制你的安卓设备\",\"themeConfig\":{\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"outline\":{\"label\":\"页面导航\"},\"lastUpdated\":{\"text\":\"最后更新于\"},\"langMenuLabel\":\"多语言\",\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\",\"nav\":[{\"text\":\"指南\",\"link\":\"/zhHans/guide\"},{\"text\":\"参考\",\"link\":\"/zhHans/reference\"},{\"text\":\"帮助\",\"link\":\"/zhHans/help\"},{\"text\":\"更新日志\",\"link\":\"/zhHans/changelog\"},{\"text\":\"捐赠\",\"link\":\"/zhHans/donate\"},{\"text\":\"联系\",\"link\":\"/zhHans/contact\"},{\"text\":\"博客\",\"link\":\"https://blog.viarotel.eu.org/\"}]}}},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>