Repository Analysis

vernesong/OpenClash

A Clash Client For OpenWrt

6.6 Low AI signal View on GitHub
6.6
Adjusted Score
6.6
Raw Score
100%
Time Factor
2026-05-30
Last Push
26,003
Stars
HTML
Language
42,462
Lines of Code
142
Files
105
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 18HIGH 0MEDIUM 4LOW 83

Pattern Findings

105 matches across 5 categories. Click a row to expand file-level details.

Hallucination Indicators18 hits · 200 pts
SeverityFileLineSnippet
CRITICAL…share/openclash/ui/metacubexd/assets/index-Csmv4Fkv.js104 */var nO=hn("filled","circle-check-filled","IconCircleCheckFilled",[["path",{d:"M17 3.34a10 10 0 1 1 -14.995 8.984l-.00
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js18 `),in:"SourceGraphic",result:"brightness"}),h.enabled&&s.addShadow(c,t,h,"brightness")}),!h.noUserSpaceOnUse&&((
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js33 a `).concat(a/2,",").concat(a/2," 0 1,0 -").concat(a,",0")}return s}},{key:"drawMarkerShape",value:function(e
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js39 </div>`):'<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(e.config.chart.type,'">')+"<div>".conca
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js40`:n,h=this.w;i||(i=h.config.series);var d=[],c=[],u="",g=h.globals.series.map(function(y,C){return h.globals.collapsedSe
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js116 `);return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySele
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js142</svg>`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'<svg xmlns="
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js145 .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var
CRITICAL…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js850}`;var d=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;d&&l.setAttribute("nonce",d),r?s.p
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js18 `,in:`SourceGraphic`,result:`brightness`}),s.enabled&&r.addShadow(e,t,s,`brightness`)})),!s.noUserSpaceOnUse&&((
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js33 a ${r/2},${r/2} 0 1,0 -${r},0`}return i}},{key:`drawMarkerShape`,value:function(e,t,n,r,i){var a=this.drawPat
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js39 </div>`:`<div class="apexcharts-tooltip-box apexcharts-tooltip-${e.config.chart.type}"><div>${r[0]}: <span class
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js112} `,Kn=function(){function e(t){n(this,e),this.ctx=t,this.w=t.w,this.legendInactiveClass=`legend-mouseover-inactive`}ret
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js207`:o,c=this.w;n||=c.config.series;var l=[],u=[],d=``,f=c.globals.series.map((function(e,t){return c.globals.collapsedSeri
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js233</svg>`),this.t.download&&a.push({el:this.elMenuIcon,icon:typeof this.t.download==`string`?this.t.download:`<svg xmlns="
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js236 .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='${t}'] path[j='${e}']`));var s=o?parseFloat(o.g
CRITICAL…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js1017}`;var c=e.opts.chart?.nonce||e.w.config.chart.nonce;c&&s.setAttribute(`nonce`,c),a?i.prepend(s):!1!==e.w.config.chart.i
CRITICAL…/www/luci-static/resources/openclash/lib/codemirror.js8946 return this.cm.display.wrapper.ownerDocument.getSelection()
Over-Commented Block66 hits · 48 pts
SeverityFileLineSnippet
LOWluci-app-openclash/tools/po2lmo/src/template_lmo.h21
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml41
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml101# interface-name: en0 # 设置出口网卡
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml161 # inet6-route-address: # 启用 auto-route 时使用自定义路由而不是默认路由(旧写法)
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml181 # include-android-user: # 限制被路由的 Android 用户
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml201 QUIC:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml281 - DOMAIN-SUFFIX,jd.com,fake-ip
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml321
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml341 # 如果不匹配 ipcidr 则使用 nameservers 中的结果
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml361
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml381 server: server
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml401 # version: 2
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml421 # udp-over-tcp: false
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml461 # certificate: ./client.crt # 证书 PEM 格式,或者 证书的路径
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml501 # fingerprint: xxxx # 配置指纹将实现 SSL Pining 效果, 可使用 openssl x509 -noout -fingerprint -sha256 -inform pem -in yourcert
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml601 # client-fingerprint: chrome # Available: "chrome","firefox","safari","ios","random", currently only support TLS
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml641 port: 443
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml681 server: server
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml821 # x-padding-bytes: "100-1000"
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml841 # h-max-reusable-secs: "1800-3000"
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml861 server: server
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml901 # ping-interval: 0 # 默认关闭,单位为秒
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml941 server: server.com
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml961 # fingerprint: xxxx # 配置指纹将实现 SSL Pining 效果, 可使用 openssl x509 -noout -fingerprint -sha256 -inform pem -in yourcert.p
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml981 # ech-opts:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1001 type: wireguard
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1021 # - server: 162.159.192.1
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1041 # h2: 67543-67550 # AmneziaWG v2.0 only
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1081 # ip: 127.0.0.1 # for overwriting the DNS lookup result of the server address set in option 'server'
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1101 # meta 和 sing-box 私有扩展,将 ss-uot 用于 udp 中继,开启此选项后 udp-relay-mode 将失效
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1201 # sni: "example.com"
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1301 interval: 600
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1421 type: socks
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1441 # dC5jb20AAA==
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1461 # -----BEGIN ECH KEYS-----
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1481 # client-auth-type: "" # 可选值:""、"request"、"require-any"、"verify-if-given"、"require-and-verify"
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1501 listen: 0.0.0.0
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1521 # handshake:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1541 # interval: 50
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1561 # grpc-service-name: "GunService" # 如果不为空则开启 grpc 传输层
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1581 # server-names:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1601 # - TOKEN
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1641 uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1661 # 服务端、客户端可以设置不同的 padding 参数,按 len、gap 的顺序无限串联,第一个 padding 需概率 100%、至少 35 字节
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1701 users:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1761 password: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1781 # short-id:
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1801 - name: hysteria2-in-1
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1821 # -----END ECH KEYS-----
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1841 # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错)
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1861 - name: tun-in-1
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1881 # - "8000::/1"
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1901 # - com.android.captiveportallogin
LOW…pp-openclash/root/usr/share/openclash/res/default.yaml1921# authentication-timeout: 1000
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh21 #ruby_edit "$CONFIG_FILE" "['secret']" "123456"
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh41 #1--config path
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh61 #4--value
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh81 #1--config path
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh101 #Ruby Script Demo:
LOW…oot/etc/openclash/custom/openclash_custom_overwrite.sh121 # ensure
6 more matches not shown…
Hyper-Verbose Identifiers15 hits · 16 pts
SeverityFileLineSnippet
LOW…/www/luci-static/resources/openclash/lib/codemirror.js1550 function conflictingCollapsedRange(doc, lineNo, from, to, marker) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js1807 function defaultSpecialCharPlaceholder(ch) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js2381 function updateExternalMeasurement(cm, line) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js2557 function maybeUpdateRectForZooming(measure, rect) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js2567 function clearLineMeasurementCacheFor(lineView) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js2576 function clearLineMeasurementCache(cm) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js4323 function maybeUpdateLineNumberWidth(cm) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js4971 function selectionEventCanBeMerged(doc, origin, prev, sel) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js5170 function setSelectionReplaceHistory(doc, sel, options) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js5501 function makeChangeSingleDocInEditor(cm, change, spans) {
LOW…/www/luci-static/resources/openclash/lib/codemirror.js5839 function adjustScrollWhenAboveVisible(cm, line, diff) {
LOW…w/luci-static/resources/openclash/addon/merge/merge.js789 function collapseIdenticalStretches(mv, margin) {
LOW…tatic/resources/openclash/addon/search/searchcursor.js45 function searchRegexpForwardMultiline(doc, regexp, start) {
LOW…tatic/resources/openclash/addon/search/searchcursor.js102 function searchRegexpBackwardMultiline(doc, regexp, start) {
LOW…luci-static/resources/openclash/addon/search/search.js220 function getReplacementQueryDialog(cm) {
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippet
MEDIUM…pp-openclash/root/usr/share/openclash/res/default.yaml720 # -------------------------
MEDIUM…pp-openclash/root/usr/share/openclash/res/default.yaml730 # -------------------------
MEDIUM…pp-openclash/root/usr/share/openclash/res/default.yaml1651 # -------------------------
MEDIUM…pp-openclash/root/usr/share/openclash/res/default.yaml1662 # -------------------------
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippet
LOW…re/openclash/ui/metacubexd/assets/Overview-B99qGorf.js40`:n,h=this.w;i||(i=h.config.series);var d=[],c=[],u="",g=h.globals.series.map(function(y,C){return h.globals.collapsedSe
LOW…nclash/ui/metacubexd/assets/apexcharts.esm-D-nlnKto.js207`:o,c=this.w;n||=c.config.series;var l=[],u=[],d=``,f=c.globals.series.map((function(e,t){return c.globals.collapsedSeri