├── .clippy.toml ├── .config └── hakari.toml ├── .github └── workflows │ ├── clippy.yaml │ ├── release.yaml │ └── todo.yaml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── clashctl-core ├── Cargo.toml ├── README.md └── src │ ├── api.rs │ ├── error.rs │ ├── lib.rs │ ├── model │ ├── config.rs │ ├── connection.rs │ ├── log.rs │ ├── mod.rs │ ├── proxy.rs │ ├── rule.rs │ └── traffic.rs │ └── test │ ├── api.rs │ └── mod.rs ├── clashctl ├── Cargo.toml └── src │ ├── command │ ├── completion.rs │ ├── mod.rs │ ├── proxy.rs │ └── server.rs │ ├── error.rs │ ├── interactive │ ├── config.rs │ ├── config_model.rs │ ├── error.rs │ ├── flags.rs │ ├── mod.rs │ └── sort │ │ ├── con_sort.rs │ │ ├── mod.rs │ │ ├── proxy_sort.rs │ │ └── rule_sort.rs │ ├── main.rs │ ├── proxy_render.rs │ ├── ui │ ├── action.rs │ ├── app.rs │ ├── components │ │ ├── block_footer.rs │ │ ├── constants.rs │ │ ├── mod.rs │ │ ├── movable_list │ │ │ ├── item.rs │ │ │ ├── mod.rs │ │ │ ├── state.rs │ │ │ └── widget.rs │ │ ├── proxy │ │ │ ├── group.rs │ │ │ ├── item.rs │ │ │ ├── mod.rs │ │ │ ├── sort.rs │ │ │ ├── tree.rs │ │ │ └── tree_widget.rs │ │ ├── sparkline.rs │ │ ├── tabs.rs │ │ └── traffic.rs │ ├── config.rs │ ├── error.rs │ ├── event.rs │ ├── main.rs │ ├── mod.rs │ ├── pages │ │ ├── config.rs │ │ ├── connection.rs │ │ ├── debug.rs │ │ ├── log.rs │ │ ├── mod.rs │ │ ├── proxy.rs │ │ ├── rule.rs │ │ └── status.rs │ ├── servo.rs │ ├── state.rs │ ├── tui_opt.rs │ └── utils │ │ ├── as_color.rs │ │ ├── coord.rs │ │ ├── ext.rs │ │ ├── helper.rs │ │ ├── hms.rs │ │ ├── interval.rs │ │ ├── mod.rs │ │ ├── pulse.rs │ │ ├── ticks_counter.rs │ │ ├── tui_logger.rs │ │ └── wrap.rs │ └── utils.rs ├── justfile ├── rust-toolchain.toml └── rustfmt.toml /.clippy.toml: -------------------------------------------------------------------------------- 1 | enum-variant-size-threshold = 1145 2 | -------------------------------------------------------------------------------- /.config/hakari.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/.config/hakari.toml -------------------------------------------------------------------------------- /.github/workflows/clippy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/.github/workflows/clippy.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.github/workflows/todo.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/.github/workflows/todo.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/README.md -------------------------------------------------------------------------------- /clashctl-core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/Cargo.toml -------------------------------------------------------------------------------- /clashctl-core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/README.md -------------------------------------------------------------------------------- /clashctl-core/src/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/api.rs -------------------------------------------------------------------------------- /clashctl-core/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/error.rs -------------------------------------------------------------------------------- /clashctl-core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/lib.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/config.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/connection.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/log.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/mod.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/proxy.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/rule.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/rule.rs -------------------------------------------------------------------------------- /clashctl-core/src/model/traffic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/model/traffic.rs -------------------------------------------------------------------------------- /clashctl-core/src/test/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl-core/src/test/api.rs -------------------------------------------------------------------------------- /clashctl-core/src/test/mod.rs: -------------------------------------------------------------------------------- 1 | mod api; 2 | -------------------------------------------------------------------------------- /clashctl/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/Cargo.toml -------------------------------------------------------------------------------- /clashctl/src/command/completion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/command/completion.rs -------------------------------------------------------------------------------- /clashctl/src/command/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/command/mod.rs -------------------------------------------------------------------------------- /clashctl/src/command/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/command/proxy.rs -------------------------------------------------------------------------------- /clashctl/src/command/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/command/server.rs -------------------------------------------------------------------------------- /clashctl/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/error.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/config.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/config_model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/config_model.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/error.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/flags.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/flags.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/mod.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/sort/con_sort.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/sort/con_sort.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/sort/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/sort/mod.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/sort/proxy_sort.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/sort/proxy_sort.rs -------------------------------------------------------------------------------- /clashctl/src/interactive/sort/rule_sort.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/interactive/sort/rule_sort.rs -------------------------------------------------------------------------------- /clashctl/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/main.rs -------------------------------------------------------------------------------- /clashctl/src/proxy_render.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/proxy_render.rs -------------------------------------------------------------------------------- /clashctl/src/ui/action.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/action.rs -------------------------------------------------------------------------------- /clashctl/src/ui/app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/app.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/block_footer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/block_footer.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/constants.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/movable_list/item.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/movable_list/item.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/movable_list/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/movable_list/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/movable_list/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/movable_list/state.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/movable_list/widget.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/movable_list/widget.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/group.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/group.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/item.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/item.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/sort.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/sort.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/tree.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/proxy/tree_widget.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/proxy/tree_widget.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/sparkline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/sparkline.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/tabs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/tabs.rs -------------------------------------------------------------------------------- /clashctl/src/ui/components/traffic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/components/traffic.rs -------------------------------------------------------------------------------- /clashctl/src/ui/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/config.rs -------------------------------------------------------------------------------- /clashctl/src/ui/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/error.rs -------------------------------------------------------------------------------- /clashctl/src/ui/event.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/event.rs -------------------------------------------------------------------------------- /clashctl/src/ui/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/main.rs -------------------------------------------------------------------------------- /clashctl/src/ui/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/config.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/connection.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/debug.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/debug.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/log.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/proxy.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/rule.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/rule.rs -------------------------------------------------------------------------------- /clashctl/src/ui/pages/status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/pages/status.rs -------------------------------------------------------------------------------- /clashctl/src/ui/servo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/servo.rs -------------------------------------------------------------------------------- /clashctl/src/ui/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/state.rs -------------------------------------------------------------------------------- /clashctl/src/ui/tui_opt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/tui_opt.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/as_color.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/as_color.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/coord.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/coord.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/ext.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/ext.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/helper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/helper.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/hms.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/hms.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/interval.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/interval.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/mod.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/pulse.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/pulse.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/ticks_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/ticks_counter.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/tui_logger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/tui_logger.rs -------------------------------------------------------------------------------- /clashctl/src/ui/utils/wrap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/ui/utils/wrap.rs -------------------------------------------------------------------------------- /clashctl/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/clashctl/src/utils.rs -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/justfile -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "nightly" -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/George-Miao/clashctl/HEAD/rustfmt.toml --------------------------------------------------------------------------------