{"id":1153,"date":"2025-09-22T18:04:53","date_gmt":"2025-09-22T10:04:53","guid":{"rendered":"https:\/\/www.jthxfzya.tk\/?p=1153"},"modified":"2025-10-20T09:40:12","modified_gmt":"2025-10-20T01:40:12","slug":"openwrt%e7%9a%84ttyd%e7%bb%88%e7%ab%af%e6%98%be%e7%a4%ba%e5%b7%b2%e6%8b%92%e7%bb%9d%e8%bf%9e%e6%8e%a5","status":"publish","type":"post","link":"https:\/\/www.jthxfzya.tk\/?p=1153","title":{"rendered":"OpenWRT\u7684TTYD\u7ec8\u7aef\u663e\u793a\u5df2\u62d2\u7edd\u8fde\u63a5"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">1.\u4f7f\u7528ssh\u8fde\u63a5\u5de5\u5177\u8fde\u63a5\u8def\u7531\u5668<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"vi \/etc\/init.d\/ttyd\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"\u590d\u5236\" data-copied-text=\"\u5df2\u590d\u5236\uff01\" data-has-text-button=\"textSimple\" data-inside-header-type=\"headlights\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><span class=\"cbp-btn-text\">\u590d\u5236<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">vi \/etc\/init.d\/ttyd<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><br>\u5220\u9664\u6216\u8005\u6ce8\u91ca&nbsp;<code>${interface:+-i $interface} \\<\/code>&nbsp;\u90a3\u884c\uff0c\u7136\u540e\u91cd\u542fTTYD<br><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/etc\/init.d\/ttyd restart\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"\u590d\u5236\" data-copied-text=\"\u5df2\u590d\u5236\uff01\" data-has-text-button=\"textSimple\" data-inside-header-type=\"headlights\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><span class=\"cbp-btn-text\">\u590d\u5236<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">\/etc\/init.d\/ttyd restart<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#!\/bin\/sh \/etc\/rc.common                \n                                    \nSTART=99                                      \nSTOP=50                                        \nUSE_PROCD=1                             \n                                               \nNAME=ttyd                               \nPROG=\/usr\/bin\/$NAME                  \n                                              \nvalidate_section_ttyd()                        \n{                                       \n        uci_load_validate ttyd ttyd &quot;$1&quot; &quot;$2&quot; \\    \n                'enable:bool:1' \\                                 \n                'port:port' \\                                     \n                'interface:string' \\     \n                'credential:string' \\         \n                'uid:uinteger' \\        \n                'gid:uinteger' \\                   \n                'signal:uinteger' \\                               \n                'url_arg:bool' \\                                  \n                'readonly:bool' \\                 \n                'client_option:list(string)' \\\n                'terminal_type:string' \\\n                'check_origin:bool' \\              \n                'max_clients:uinteger' \\                          \n                'once:bool' \\                                     \n                'index:string' \\                  \n                'ipv6:bool' \\                 \n                'ssl:bool' \\                   \n                'ssl_cert:file' \\                  \n                'ssl_key:file' \\                                  \n                'ssl_ca:file' \\                                   \n                'debug:uinteger' \\                \n                'command:string'              \n}                                                    \n                                                     \nttyd_instance()                                                   \n{                                                                 \n        [ &quot;$2&quot; = 0 ] || {                         \n                echo &quot;validation failed&quot;      \n                return 1                             \n        }                                                         \n                                                   \n        [ &quot;$enable&quot; = 0 ] &amp;&amp; return 1                             \n        [ -z &quot;$command&quot; ] &amp;&amp; return 1             \n                                                                              \n        [ &quot;${interface::1}&quot; = @ ] &amp;&amp; {                                        \n                interface=$(                                      \n                        . \/lib\/functions\/network.sh\n                        network_get_device device &quot;${interface:1}&quot;\n                        echo -n &quot;$device&quot;         \n                )                                                             \n        }                                                                     \n                                                     \n        [ &quot;$url_arg&quot; = 0 ] &amp;&amp; url_arg=&quot;&quot;                       \n        [ &quot;$readonly&quot; = 0 ] &amp;&amp; readonly=&quot;&quot;                     \n        [ &quot;$check_origin&quot; = 0 ] &amp;&amp; check_origin=&quot;&quot;\n        [ &quot;$once&quot; = 0 ] &amp;&amp; once=&quot;&quot;                                            \n        [ &quot;$ipv6&quot; = 0 ] &amp;&amp; ipv6=&quot;&quot;                                            \n        [ &quot;$ssl&quot; = 0 ] &amp;&amp; ssl=&quot;&quot;                     \n                                                               \n        procd_open_instance                                    \n        procd_set_param command &quot;$PROG&quot; \\     \n                ${port:+-p $port} \\                                           \n                #${interface:+-i $interface} \\ \n                ${credential:+-c $credential} \\\n                ${uid:+-u $uid} \\                  \n                ${gid:+-g $gid} \\                                 \n                ${signal:+-s $signal} \\                           \n                ${url_arg:+-a} \\                  \n                ${readonly:+-R} \\             \n                ${terminal_type:+-T $terminal_type} \\\n                ${check_origin:+-O} \\                \n                ${max_clients:+-m $max_clients} \\                 \n                ${once:+-o} \\                                     \n                ${index:+-I $index} \\             \n                ${ipv6:+-6} \\                 \n                ${ssl:+-S} \\                         \n                ${ssl_cert:+-C $ssl_cert} \\                       \n                ${ssl_key:+-K $ssl_key} \\            \n                ${ssl_ca:+-A $ssl_ca} \\                           \n                ${debug:+-d $debug}               \n        config_list_foreach &quot;$1&quot; client_option &quot;procd_append_param command -t&quot;\n        procd_append_param command $command                                   \n        procd_set_param stdout 1                                              \n        procd_set_param stderr 1                   \n        procd_close_instance                                      \n}                                                 \n                                                                              \nstart_service() {                                                             \n        config_load &quot;$NAME&quot;                                                   \n        config_foreach validate_section_ttyd ttyd ttyd_instance\n}                                                              \n                                                               \nshutdown() {                                                                  \n        # close all open connections                                          \n        killall &quot;$NAME&quot;                              \n}                                                              \n                                                               \nservice_triggers() {                                           \n        procd_add_reload_trigger &quot;$NAME&quot;                                      \n}             \" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"\u590d\u5236\" data-copied-text=\"\u5df2\u590d\u5236\uff01\" data-has-text-button=\"textSimple\" data-inside-header-type=\"headlights\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><span class=\"cbp-btn-text\">\u590d\u5236<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#!\/bin\/sh \/etc\/rc.common                <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">START=99                                      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">STOP=50                                        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">USE_PROCD=1                             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">NAME=ttyd                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">PROG=\/usr\/bin\/$NAME                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">validate_section_ttyd()                        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">{                                       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        uci_load_validate ttyd ttyd &quot;$1&quot; &quot;$2&quot; \\    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;enable:bool:1&#39; \\                                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;port:port&#39; \\                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;interface:string&#39; \\     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;credential:string&#39; \\         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;uid:uinteger&#39; \\        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;gid:uinteger&#39; \\                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;signal:uinteger&#39; \\                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;url_arg:bool&#39; \\                                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;readonly:bool&#39; \\                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;client_option:list(string)&#39; \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;terminal_type:string&#39; \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;check_origin:bool&#39; \\              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;max_clients:uinteger&#39; \\                          <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;once:bool&#39; \\                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;index:string&#39; \\                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;ipv6:bool&#39; \\                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;ssl:bool&#39; \\                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;ssl_cert:file&#39; \\                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;ssl_key:file&#39; \\                                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;ssl_ca:file&#39; \\                                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;debug:uinteger&#39; \\                <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                &#39;command:string&#39;              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}                                                    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">ttyd_instance()                                                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">{                                                                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$2&quot; = 0 ] || {                         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                echo &quot;validation failed&quot;      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                return 1                             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }                                                         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$enable&quot; = 0 ] &amp;&amp; return 1                             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ -z &quot;$command&quot; ] &amp;&amp; return 1             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;${interface::1}&quot; = @ ] &amp;&amp; {                                        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                interface=$(                                      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                        . \/lib\/functions\/network.sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                        network_get_device device &quot;${interface:1}&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                        echo -n &quot;$device&quot;         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                )                                                             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }                                                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$url_arg&quot; = 0 ] &amp;&amp; url_arg=&quot;&quot;                       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$readonly&quot; = 0 ] &amp;&amp; readonly=&quot;&quot;                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$check_origin&quot; = 0 ] &amp;&amp; check_origin=&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$once&quot; = 0 ] &amp;&amp; once=&quot;&quot;                                            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$ipv6&quot; = 0 ] &amp;&amp; ipv6=&quot;&quot;                                            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        [ &quot;$ssl&quot; = 0 ] &amp;&amp; ssl=&quot;&quot;                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_open_instance                                    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_set_param command &quot;$PROG&quot; \\     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${port:+-p $port} \\                                           <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                #${interface:+-i $interface} \\ <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${credential:+-c $credential} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${uid:+-u $uid} \\                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${gid:+-g $gid} \\                                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${signal:+-s $signal} \\                           <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${url_arg:+-a} \\                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${readonly:+-R} \\             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${terminal_type:+-T $terminal_type} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${check_origin:+-O} \\                <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${max_clients:+-m $max_clients} \\                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${once:+-o} \\                                     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${index:+-I $index} \\             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${ipv6:+-6} \\                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${ssl:+-S} \\                         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${ssl_cert:+-C $ssl_cert} \\                       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${ssl_key:+-K $ssl_key} \\            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${ssl_ca:+-A $ssl_ca} \\                           <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                ${debug:+-d $debug}               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        config_list_foreach &quot;$1&quot; client_option &quot;procd_append_param command -t&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_append_param command $command                                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_set_param stdout 1                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_set_param stderr 1                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_close_instance                                      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}                                                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">start_service() {                                                             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        config_load &quot;$NAME&quot;                                                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        config_foreach validate_section_ttyd ttyd ttyd_instance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}                                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">shutdown() {                                                                  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        # close all open connections                                          <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        killall &quot;$NAME&quot;                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}                                                              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                                                               <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">service_triggers() {                                           <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        procd_add_reload_trigger &quot;$NAME&quot;                                      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}             <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Immortalwrt \u5982\u4f55\u5b89\u88c5iStore\u5546\u5e97<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/wukongdaily\/RunFilesBuilder#immortalwrt-%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85istore%E5%95%86%E5%BA%97\"><\/a><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"wget -qO imm.sh https:\/\/cafe.cpolar.top\/wkdaily\/zero3\/raw\/branch\/main\/zero3\/imm.sh &amp;&amp; chmod +x imm.sh &amp;&amp; .\/imm.sh\n\n\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"\u590d\u5236\" data-copied-text=\"\u5df2\u590d\u5236\uff01\" data-has-text-button=\"textSimple\" data-inside-header-type=\"headlights\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><span class=\"cbp-btn-text\">\u590d\u5236<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">wget -qO imm.sh https:\/\/cafe.cpolar.top\/wkdaily\/zero3\/raw\/branch\/main\/zero3\/imm.sh &amp;&amp; chmod +x imm.sh &amp;&amp; .\/imm.sh<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>1.\u4f7f\u7528ssh\u8fde\u63a5\u5de5\u5177\u8fde\u63a5\u8def\u7531\u5668 \u5220\u9664\u6216\u8005\u6ce8\u91ca&nbsp;${interface:+-i $interface [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1169,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-6"],"_links":{"self":[{"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/posts\/1153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1153"}],"version-history":[{"count":4,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/posts\/1153\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/posts\/1153\/revisions\/1159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=\/wp\/v2\/media\/1169"}],"wp:attachment":[{"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jthxfzya.tk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}