diff --git a/src/components/proxy/proxy-item-mini.tsx b/src/components/proxy/proxy-item-mini.tsx
index c7e98bce..61d6f21a 100644
--- a/src/components/proxy/proxy-item-mini.tsx
+++ b/src/components/proxy/proxy-item-mini.tsx
@@ -98,6 +98,8 @@ export const ProxyItemMini = (props: Props) => {
)}
{proxy.type}
{proxy.udp && UDP}
+ {proxy.xudp && XUDP}
+ {proxy.tfo && TFO}
)}
diff --git a/src/components/proxy/proxy-item.tsx b/src/components/proxy/proxy-item.tsx
index d4c63c4a..ff3bc0b8 100644
--- a/src/components/proxy/proxy-item.tsx
+++ b/src/components/proxy/proxy-item.tsx
@@ -104,6 +104,10 @@ export const ProxyItem = (props: Props) => {
)}
{showType && {proxy.type}}
{showType && proxy.udp && UDP}
+ {showType && proxy.xudp && (
+ XUDP
+ )}
+ {showType && proxy.tfo && TFO}
>
}
/>
diff --git a/src/components/proxy/proxy-render.tsx b/src/components/proxy/proxy-render.tsx
index 012064a1..a987abc7 100644
--- a/src/components/proxy/proxy-render.tsx
+++ b/src/components/proxy/proxy-render.tsx
@@ -31,7 +31,7 @@ export const ProxyRender = (props: RenderProps) => {
props;
const { type, group, headState, proxy, proxyCol } = item;
- if (type === 0) {
+ if (type === 0 && !group.hidden) {
return (
{
);
}
- if (type === 1) {
+ if (type === 1 && !group.hidden) {
return (
{
);
}
- if (type === 2) {
+ if (type === 2 && !group.hidden) {
return (
{
);
}
- if (type === 3) {
+ if (type === 3 && !group.hidden) {
return (
{
);
}
- if (type === 4) {
+ if (type === 4 && !group.hidden) {
return (
{
const generateItem = (name: string) => {
if (proxyRecord[name]) return proxyRecord[name];
if (providerMap[name]) return providerMap[name];
- return { name, type: "unknown", udp: false, history: [] };
+ return {
+ name,
+ type: "unknown",
+ udp: false,
+ xudp: false,
+ tfo: false,
+ history: [],
+ };
};
const { GLOBAL: global, DIRECT: direct, REJECT: reject } = proxyRecord;
diff --git a/src/services/types.d.ts b/src/services/types.d.ts
index e38c6f41..10da3a5f 100644
--- a/src/services/types.d.ts
+++ b/src/services/types.d.ts
@@ -44,12 +44,15 @@ interface IProxyItem {
name: string;
type: string;
udp: boolean;
+ xudp: boolean;
+ tfo: boolean;
history: {
time: string;
delay: number;
}[];
all?: string[];
now?: string;
+ hidden?: boolean;
provider?: string; // 记录是否来自provider
}