diff --git a/config/dts-pontifex.yaml b/config/dts-pontifex.yaml
index fc25fcc..5ea1b2b 100644
--- a/config/dts-pontifex.yaml
+++ b/config/dts-pontifex.yaml
@@ -445,6 +445,29 @@ proxy-groups:
- βοΈ Personal VPN
<<: *health_check_for_selectors
+ - name: β³οΈ Discord
+ type: select
+ disable-udp: false
+ proxies:
+ - π’ Fast Servers
+ - π’ Personal VPN
+ - π’ Europe π
+ - β Europe π
+ - βοΈ Fast Servers
+ - βοΈ Personal VPN
+ - βοΈ Europe π
+ <<: *health_check_for_selectors
+
+ - name: β³οΈ USA Services
+ type: select
+ disable-udp: false
+ proxies:
+ - π’ USA π
+ - π’ Personal VPN
+ - βοΈ USA π
+ - βοΈ Personal VPN
+ <<: *health_check_for_selectors
+
- name: β³οΈ Adaptaion
type: select
proxies:
@@ -469,30 +492,7 @@ proxy-groups:
- βοΈ Europe π
<<: *health_check_for_selectors
- - name: β³οΈ Discord
- type: select
- disable-udp: false
- proxies:
- - π’ Fast Servers
- - π’ Personal VPN
- - π’ Europe π
- - β Europe π
- - βοΈ Fast Servers
- - βοΈ Personal VPN
- - βοΈ Europe π
- <<: *health_check_for_selectors
-
- - name: β³οΈ USA Services
- type: select
- disable-udp: false
- proxies:
- - π’ USA π
- - π’ Personal VPN
- - βοΈ USA π
- - βοΈ Personal VPN
- <<: *health_check_for_selectors
-
- - name: β³οΈ Notion
+- name: β³οΈ Notion
type: select
proxies:
- π’ Personal VPN
diff --git a/config/solar-clash-p-mix.yaml b/config/solar-clash-p-mix.yaml
index 1fdd506..e4f72f6 100644
--- a/config/solar-clash-p-mix.yaml
+++ b/config/solar-clash-p-mix.yaml
@@ -145,24 +145,14 @@ dns:
behavior: classical
interval: 86400
- private-vpn-list: &private_vpn_list
- - vless-estonia
- - vless-serbia
-
p-vpn-list_balancer: &p_vpn_list_balancer
type: load-balance
strategy: sticky-sessions
- proxies:
- - vless-estonia
- - vless-serbia
use:
- own
p-vpn-list_selector: &p_vpn_list_selector
type: select
- proxies:
- - vless-estonia
- - vless-serbia
use:
- own
@@ -192,8 +182,6 @@ dns:
default-private-proxies-lb-selector: &default_private_proxies_lb_selector
type: select
proxies:
- - vless-estonia
- - vless-serbia
- βοΈ Personal VPN
# βββββββββββββββββββββββββββββββββ proxies list βββββββββββββββββββββββββββββββββ
@@ -261,6 +249,7 @@ proxy-providers:
additional-suffix: "β’πΎ"
health-check:
<<: *health_check_for_providers
+
# βββββββββββββββββββββββββββββββββ proxy groups βββββββββββββββββββββββββββββββββ
proxy-groups:
# βββββββββββββββββββββββββ fallback βββββββββββββββββββββββββ
@@ -276,43 +265,49 @@ proxy-groups:
- name: βοΈ Personal VPN
disable-udp: false
<<: [*p_vpn_list_balancer, *health_check_for_load_balancers]
-
+
# ββββββββββββββ url tested for non-personal vpn βββββββββββββ
- - name: β Europe
+ - name: β Europe π
disable-udp: false
filter: "(?i)NL|Finland|Estonia|France|Germany|Sweden|Ireland"
<<: [*np_vpn_list_url_test, *health_check_for_load_balancers]
# ββββββββββββ load balancers for non-personal vpn βββββββββββ
- - name: βοΈ Russian
- disable-udp: false
- filter: "(?i)Russia"
- <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
-
- - name: βοΈ Europe
- disable-udp: false
- filter: "(?i)NL|Finland|Estonia|France|Germany|Sweden|Ireland"
- <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
-
- - name: βοΈ USA
- disable-udp: false
- filter: "(?i)USA|Canada"
- <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
-
- - name: βοΈ Asia
+ - name: βοΈ Asia π
disable-udp: false
filter: "(?i)Hong Kong|China|Malaysia|Philippines|Japan|Singapore"
<<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
+
+ - name: βοΈ Europe π
+ disable-udp: false
+ filter: "(?i)NL|Finland|Estonia|France|Germany|Sweden|Ireland"
+ <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
+
+ - name: βοΈ USA π
+ disable-udp: false
+ filter: "(?i)USA|Canada"
+ <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
- name: βοΈ High Bandwidth
disable-udp: false
filter: "(?i)10 Gbit"
<<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
+
+ - name: βοΈ Russian π
+ disable-udp: false
+ filter: "(?i)Russia"
+ <<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
- name: βοΈ Fast Servers
disable-udp: false
filter: "(?i)Low Ping"
<<: [*np_vpn_list_balancer, *health_check_for_load_balancers]
+ hidden: true
# βββββββββββββ global selectors for personal vpn ββββββββββββ
- name: π’ Personal VPN
@@ -320,36 +315,41 @@ proxy-groups:
<<: [*p_vpn_list_selector, *health_check_for_selectors]
# βββββββββββ global selectors for non-personal vpn ββββββββββ
- - name: π’ Russian
- disable-udp: false
- filter: "(?i)Russia"
- <<: [*np_vpn_list_selector, *health_check_for_selectors]
-
- - name: π’ Europe
- disable-udp: false
- filter: "(?i)NL|Finland|Estonia|France|Germany|Sweden|Ireland|Moldova"
- <<: [*np_vpn_list_selector, *health_check_for_selectors]
-
- - name: π’ USA
- disable-udp: false
- filter: "(?i)USA|Canada"
- <<: [*np_vpn_list_selector, *health_check_for_selectors]
-
- - name: π’ Asia
+ - name: π’ Asia π
disable-udp: false
filter: "(?i)Hong Kong|China|Malaysia|Philippines|Japan|Singapore"
<<: [*np_vpn_list_selector, *health_check_for_selectors]
- - name: π’ Kazakhstan
+ - name: π’ Europe π
+ disable-udp: false
+ filter: "(?i)NL|Finland|Estonia|France|Germany|Sweden|Ireland|Moldova"
+ <<: [*np_vpn_list_selector, *health_check_for_selectors]
+
+ - name: π’ Kazakhstan π
disable-udp: false
filter: "(?i)Kazakhstan|KZ"
<<: [*np_vpn_list_selector, *health_check_for_selectors]
+
+ - name: π’ Russian π
+ disable-udp: false
+ filter: "(?i)Russia"
+ <<: [*np_vpn_list_selector, *health_check_for_selectors]
+
+ - name: π’ USA π
+ disable-udp: false
+ filter: "(?i)USA|Canada"
+ <<: [*np_vpn_list_selector, *health_check_for_selectors]
- name: π’ All non-personal
disable-udp: false
filter: ""
<<: [*np_vpn_list_selector, *health_check_for_selectors]
+ - name: π’ Fast Servers
+ disable-udp: false
+ filter: "(?i)10 Gbit|10Gbit"
+ <<: [*np_vpn_list_selector, *health_check_for_selectors]
+
- name: π’ Gaming
disable-udp: false
filter: "(?i)game"
@@ -365,21 +365,17 @@ proxy-groups:
filter: "(?i)TORβ
"
<<: [*np_vpn_list_selector, *health_check_for_selectors]
- - name: π’ Fast Servers
- disable-udp: false
- filter: "(?i)10 Gbit|10Gbit"
- <<: [*np_vpn_list_selector, *health_check_for_selectors]
-
+
# βββββββ selectors for local rules ββββββ
- name: β³οΈ YouTube
type: select
proxies:
- - π’ Russian
+ - π’ Russian π
- π’ Personal VPN
- - π’ Europe
- - β Europe
- - βοΈ Europe
- - βοΈ Russian
+ - π’ Europe π
+ - β Europe π
+ - βοΈ Europe π
+ - βοΈ Russian π
- βοΈ Personal VPN
<<: *health_check_for_selectors
@@ -388,11 +384,11 @@ proxy-groups:
proxies:
- π’ Fast Servers
- π’ Personal VPN
- - π’ Europe
- - β Europe
+ - π’ Europe π
+ - β Europe π
- βοΈ Fast Servers
- βοΈ Personal VPN
- - βοΈ Europe
+ - βοΈ Europe π
<<: *health_check_for_selectors
- name: β³οΈ Antifilter
@@ -400,11 +396,11 @@ proxy-groups:
proxies:
- π’ Fast Servers
- π’ Personal VPN
- - π’ Europe
- - β Europe
+ - π’ Europe π
+ - β Europe π
- βοΈ Fast Servers
- βοΈ Personal VPN
- - βοΈ Europe
+ - βοΈ Europe π
<<: *health_check_for_selectors
- name: β³οΈ Discord
@@ -413,20 +409,20 @@ proxy-groups:
proxies:
- π’ Fast Servers
- π’ Personal VPN
- - π’ Europe
- - β Europe
+ - π’ Europe π
+ - β Europe π
- βοΈ Fast Servers
- βοΈ Personal VPN
- - βοΈ Europe
+ - βοΈ Europe π
<<: *health_check_for_selectors
- name: β³οΈ USA Services
type: select
disable-udp: false
proxies:
- - π’ USA
+ - π’ USA π
- π’ Personal VPN
- - βοΈ USA
+ - βοΈ USA π
- βοΈ Personal VPN
<<: *health_check_for_selectors
@@ -434,37 +430,37 @@ proxy-groups:
type: select
proxies:
- π’ Personal VPN
- - π’ Europe
- - β Europe
+ - π’ Europe π
+ - β Europe π
- βοΈ Personal VPN
- - βοΈ Europe
+ - βοΈ Europe π
<<: *health_check_for_selectors
- name: β³οΈ AI Stuff (Western)
type: select
proxies:
- π’ Personal VPN
- - π’ Europe
- - β Europe
+ - π’ Europe π
+ - β Europe π
- βοΈ Personal VPN
- - βοΈ Europe
+ - βοΈ Europe π
<<: *health_check_for_selectors
- name: β³οΈ Testzone A
type: select
proxies:
- π’ All non-personal
- - π’ Russian
- - π’ Europe
- - π’ USA
- - π’ Asia
- - π’ Kazakhstan
+ - π’ Russian π
+ - π’ Europe π
+ - π’ USA π
+ - π’ Asia π
+ - π’ Kazakhstan π
- π’ Personal VPN
- - β Europe
- - βοΈ Russian
- - βοΈ Europe
- - βοΈ USA
- - βοΈ Asia
+ - β Europe π
+ - βοΈ Russian π
+ - βοΈ Europe π
+ - βοΈ USA π
+ - βοΈ Asia π
- βοΈ Fast Servers
- βοΈ Personal VPN
<<: *health_check_for_selectors
diff --git a/icons/svg/antifilter.svg b/icons/svg/antifilter.svg
new file mode 100644
index 0000000..1207714
--- /dev/null
+++ b/icons/svg/antifilter.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/icons/svg/apple-1.svg b/icons/svg/apple-1.svg
new file mode 100644
index 0000000..596b71a
--- /dev/null
+++ b/icons/svg/apple-1.svg
@@ -0,0 +1,18 @@
+
+
+
\ No newline at end of file
diff --git a/icons/svg/apple-2.svg b/icons/svg/apple-2.svg
new file mode 100644
index 0000000..5179911
--- /dev/null
+++ b/icons/svg/apple-2.svg
@@ -0,0 +1,65 @@
+
+
+
+
\ No newline at end of file
diff --git a/icons/svg/google.svg b/icons/svg/google.svg
new file mode 100644
index 0000000..b26d4a4
--- /dev/null
+++ b/icons/svg/google.svg
@@ -0,0 +1,28 @@
+
+
+
\ No newline at end of file
diff --git a/icons/svg/netflix.svg b/icons/svg/netflix.svg
new file mode 100644
index 0000000..5930142
--- /dev/null
+++ b/icons/svg/netflix.svg
@@ -0,0 +1,32 @@
+
+
+
\ No newline at end of file
diff --git a/icons/svg/notion.svg b/icons/svg/notion.svg
new file mode 100644
index 0000000..b64c180
--- /dev/null
+++ b/icons/svg/notion.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/icons/svg/torrent.svg b/icons/svg/torrent.svg
new file mode 100644
index 0000000..3c9ca57
--- /dev/null
+++ b/icons/svg/torrent.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/rule-provider/ai-stuff-western.yaml b/rule-provider/ai-stuff-western.yaml
index dff2501..ae87bf6 100644
--- a/rule-provider/ai-stuff-western.yaml
+++ b/rule-provider/ai-stuff-western.yaml
@@ -50,6 +50,10 @@ payload:
- IP-CIDR,64.23.132.171/32
- IP-ASN,20473
+ # > DeepL
+ - DOMAIN-SUFFIX,deepl.com
+ - IP-ASN,60550
+
# > ChatGPT
- DOMAIN-SUFFIX,ai.com
- DOMAIN-SUFFIX,chatgpt.com
diff --git a/rule-provider/testzone-a.yaml b/rule-provider/testzone-a.yaml
index ff9a4f3..81a48dd 100644
--- a/rule-provider/testzone-a.yaml
+++ b/rule-provider/testzone-a.yaml
@@ -1,3 +1,5 @@
payload:
- DOMAIN-SUFFIX,ifconfig.me
- - DOMAIN-SUFFIX,ipinfo.io
\ No newline at end of file
+ - DOMAIN-SUFFIX,ipinfo.io
+ - DOMAIN-SUFFIX,pervertium.com
+ - DOMAIN-SUFFIX,tubesafari.com
\ No newline at end of file
diff --git a/scripts/iptables-clash-setup.sh b/scripts/iptables-clash-setup.sh
new file mode 100644
index 0000000..deecfc2
--- /dev/null
+++ b/scripts/iptables-clash-setup.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+# ΠΡΠΈΡΡΠΊΠ° ΡΡΠ°ΡΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ
+iptables -t nat -F CLASH_REDIR 2>/dev/null
+iptables -t nat -X CLASH_REDIR 2>/dev/null
+iptables -t nat -F OUTPUT 2>/dev/null
+iptables -t nat -X OUTPUT 2>/dev/null
+
+# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ
+iptables -t nat -N CLASH_REDIR
+
+# ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ loopback ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ
+iptables -t nat -A CLASH_REDIR -d 127.0.0.0/8 -j RETURN
+iptables -t nat -A CLASH_REDIR -d 10.0.0.0/8 -j RETURN
+iptables -t nat -A CLASH_REDIR -d 172.16.0.0/12 -j RETURN
+iptables -t nat -A CLASH_REDIR -d 192.168.0.0/16 -j RETURN
+
+# ΠΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ TCP β REDIRECT Π½Π° Clash
+iptables -t nat -A CLASH_REDIR -p tcp -j REDIRECT --to-ports 7892
+
+# ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ°ΡΠΈΠΊ Clash ΠΏΠΎ UID
+iptables -t nat -C OUTPUT -m owner --uid-owner clash -j RETURN 2>/dev/null || \
+iptables -t nat -I OUTPUT -m owner --uid-owner clash -j RETURN
+
+# ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ CLASH_REDIR ΠΊΠΎ Π²ΡΠ΅ΠΌ TCP
+iptables -t nat -C OUTPUT -p tcp -j CLASH_REDIR 2>/dev/null || \
+iptables -t nat -A OUTPUT -p tcp -j CLASH_REDIR
+
+iptables -t nat -C PREROUTING -i wt0 -p tcp -j REDIRECT --to-port 7892 2>/dev/null || \
+iptables -t nat -A PREROUTING -i wt0 -p tcp -j REDIRECT --to-port 7892
\ No newline at end of file
diff --git a/systemd-units/mihomo-iptables.service b/systemd-units/mihomo-iptables.service
new file mode 100644
index 0000000..90a6809
--- /dev/null
+++ b/systemd-units/mihomo-iptables.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Mihomo iptables rules fixer
+After=network.target
+Before=mihomo.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/local/bin/iptables-clash-setup.sh
+RemainAfterExit=true
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/systemd-units/mihomo.service b/systemd-units/mihomo.service
new file mode 100644
index 0000000..767f8e0
--- /dev/null
+++ b/systemd-units/mihomo.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Mihomo Daemon, Another Clash Kernel.
+After=network.target NetworkManager.service systemd-networkd.service iwd.service
+
+[Service]
+User=clash
+Type=simple
+LimitNPROC=500
+LimitNOFILE=1000000
+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE
+AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME CAP_SYS_PTRACE CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE
+Restart=always
+ExecStartPre=/usr/bin/sleep 1s
+ExecStart=/usr/local/bin/mihomo -d /etc/clash
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target