MCPcopy Index your code
hub / github.com/haishanh/yacd

github.com/haishanh/yacd @v0.3.8

repository ↗ · DeepWiki ↗ · release v0.3.8 ↗ · Ask this repo → · + Follow
321 symbols 819 edges 108 files 1 documented · 0% updated 2y agov0.3.8 · 2022-11-11★ 4,82290 open issues
README

yacd

Yet Another Clash Dashboard

Usage

The site http://yacd.haishan.me is served with HTTP not HTTPS is because many browsers block requests to HTTP resources from a HTTPS website. If you think it's not safe, you could just download the zip of the gh-pages, unzip and serve those static files with a web server(like Nginx).

Docker image

docker run -p 1234:80 -d --name yacd --rm ghcr.io/haishanh/yacd:master

# and then open http://localhost:1234 in your browser

Supported URL query params

Param Description
hostname Hostname of the clash backend API (usually the host part of external-controller)
port Port of the clash backend API (usually the port part of external-controller)
secret Clash API secret (secret in your config.yaml)
theme UI color scheme (dark, light, auto)

Development

# install dependencies
# you may install pnpm with `npm i -g pnpm`
pnpm i

# start the dev server
# then go to the url printed on the screen
pnpm start


# build optimized assets
# ready to deploy assets will be in the directory `public`
pnpm build

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
src/custom.d.ts
SideBarRowProps (Interface)
(no doc)
src/components/SideBar.tsx
DispatchFn (Interface)
(no doc)
src/store/types.ts
TableOptions (Interface)
(no doc)
src/custom.d.ts
ABProps (Interface)
(no doc)
src/components/shared/Fab.tsx
Empty (Interface)
(no doc)
src/custom.d.ts
MBProps (Interface)
(no doc)
src/components/shared/Fab.tsx
SortByToggleProps (Interface)
(no doc)
src/custom.d.ts

Core symbols most depended-on inside this repo

connect
called by 21
src/components/StateProvider.tsx
getURLAndInit
called by 17
src/misc/request-helper.ts
getClashAPIConfig
called by 13
src/store/app.ts
useStoreActions
called by 7
src/components/StateProvider.tsx
prettyBytes
called by 7
src/misc/pretty-bytes.ts
saveState
called by 7
src/misc/storage.ts
fetchProxies
called by 6
src/store/proxies.tsx
getDelay
called by 5
src/store/proxies.tsx

Shape

Function 292
Interface 13
Method 9
Class 6
Enum 1

Languages

TypeScript100%

Modules by API surface

src/store/proxies.tsx26 symbols
src/store/app.ts25 symbols
src/components/shared/Fab.tsx14 symbols
src/custom.d.ts13 symbols
src/api/logs.ts10 symbols
src/components/Connections.tsx9 symbols
src/components/proxies/Proxy.tsx8 symbols
src/components/StateProvider.tsx8 symbols
src/components/StyleGuide.tsx7 symbols
src/store/configs.ts6 symbols
src/components/shared/ThemeSwitcher.tsx6 symbols
src/components/rules/rules.hooks.tsx6 symbols

Dependencies from manifests, versioned

@babel/runtime7.20.1 · 1×
@fontsource/inter4.5.14 · 1×
@fontsource/roboto-mono4.5.8 · 1×
@reach/menu-button0.18.0 · 1×
@reach/tooltip0.18.0 · 1×
@reach/visually-hidden0.18.0 · 1×
@tanstack/react-query4.14.5 · 1×
@types/invariant2.2.35 · 1×
@types/lodash-es4.17.6 · 1×
@types/react18.0.25 · 1×
@types/react-dom18.0.8 · 1×
@types/react-modal3.13.1 · 1×

For agents

$ claude mcp add yacd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact