The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.
feat(scripts): add reset-config to interactive menu + CLI entrypoint
The 3m-ui management entrypoint (/usr/local/bin/3m-ui) had an
interactive menu but no reset-config option — operators had to know
the CLI flag syntax to SSH rescue a panel. Now both paths work:
INTERACTIVE MENU (3m-ui with no args)
Select option 16 → SSH 救援 / SSH Rescue sub-menu:
1) 仅面板 (listen + SSL) [most common]
2) 面板 + 订阅地址 (public_url)
3) 全量重置 (panel + public + access_profile)
0) 返回
→ y/N 确认 → 自动 stop/run binary/start
CLI ENTRYPOINT
3m-ui reset-config --panel --yes # scripted rescue
3m-ui reset-config --all --yes # full reset
3m-ui reset-config --help # help (no service touched)
3m-ui help # shows SSH rescue examples
CHANGES
scripts/3m-ui:
- New reset_config() function with interactive scope picker
- run_app() extended to pass-through extra args (was single-arg only)
- Menu: insert option 16 'SSH 救援重置面板配置', renumber 17-23
- main() case: add 'reset-config' subcommand with stop/run/start
cycle; --help short-circuits (read-only, no service touched)
- help text: add SSH rescue examples
Smoke-tested: dispatch + flag passthrough + scope picker + y/N
confirmation all work via fake binary; --help does not stop service.