mirror of
https://github.com/viarotel-org/escrcpy.git
synced 2026-06-01 21:49:32 +08:00
51 lines
62 KiB
HTML
51 lines
62 KiB
HTML
<!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 "Gnirehtet (v2.5.1)""></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 "Flavors""></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 "Which one to choose?""></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 "binary" 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 "Requirements""></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 "adb""></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 "Get the app""></a></h2><h3 id="homebrew" tabindex="-1">Homebrew <a class="header-anchor" href="#homebrew" aria-label="Permalink to "Homebrew""></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 "Download""></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 "Rust""></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 "Java""></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 "Run (simple)""></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 "key" 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 "Run""></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 "Run manually""></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 "Environment variables""></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 "Why _gnirehtet_?""></a></h2><pre><code>rev <<< 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 "Developers""></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 "Licence""></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 "License");</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 "AS IS" 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 "Articles""></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> |