This commit is contained in:
Morozov Dmitriy
2024-06-04 13:26:36 +00:00
committed by GitHub
2 changed files with 37 additions and 19 deletions

View File

@@ -26,7 +26,7 @@ EOF
add_mark() { add_mark() {
grep -q "99 vpn" /etc/iproute2/rt_tables || echo '99 vpn' >> /etc/iproute2/rt_tables grep -q "99 vpn" /etc/iproute2/rt_tables || echo '99 vpn' >> /etc/iproute2/rt_tables
if ! uci show network | grep -q mark0x1; then if ! uci show network | grep -q mark0x1; then
printf "\033[32;1mConfigure mark rule\033[0m\n" printf "\033[32;1mConfigure mark rule\033[0m\n"
uci add network rule uci add network rule
@@ -49,9 +49,9 @@ add_tunnel() {
while true; do while true; do
read -r -p '' TUNNEL read -r -p '' TUNNEL
case $TUNNEL in case $TUNNEL in
1) 1)
TUNNEL=wg TUNNEL=wg
break break
;; ;;
@@ -61,12 +61,12 @@ add_tunnel() {
break break
;; ;;
3) 3)
TUNNEL=singbox TUNNEL=singbox
break break
;; ;;
4) 4)
TUNNEL=tun2socks TUNNEL=tun2socks
break break
;; ;;
@@ -114,7 +114,7 @@ add_tunnel() {
if [ "$WG_ENDPOINT_PORT" = '51820' ]; then if [ "$WG_ENDPOINT_PORT" = '51820' ]; then
echo $WG_ENDPOINT_PORT echo $WG_ENDPOINT_PORT
fi fi
uci set network.wg0=interface uci set network.wg0=interface
uci set network.wg0.proto='wireguard' uci set network.wg0.proto='wireguard'
uci set network.wg0.private_key=$WG_PRIVATE_KEY uci set network.wg0.private_key=$WG_PRIVATE_KEY
@@ -182,7 +182,7 @@ cat << 'EOF' > /etc/sing-box/config.json
"inet4_address": "172.16.250.1/30", "inet4_address": "172.16.250.1/30",
"auto_route": false, "auto_route": false,
"strict_route": false, "strict_route": false,
"sniff": true "sniff": true
} }
], ],
"outbounds": [ "outbounds": [
@@ -275,7 +275,7 @@ add_zone() {
uci set firewall.@zone[-1].family='ipv4' uci set firewall.@zone[-1].family='ipv4'
uci commit firewall uci commit firewall
fi fi
if [ "$TUNNEL" == 0 ]; then if [ "$TUNNEL" == 0 ]; then
printf "\033[32;1mForwarding setting skipped\033[0m\n" printf "\033[32;1mForwarding setting skipped\033[0m\n"
elif uci show firewall | grep -q "@forwarding.*name='$TUNNEL-lan'"; then elif uci show firewall | grep -q "@forwarding.*name='$TUNNEL-lan'"; then
@@ -354,7 +354,7 @@ add_set() {
add_dns_resolver() { add_dns_resolver() {
echo "Configure DNSCrypt2 or Stubby? It does matter if your ISP is spoofing DNS requests" echo "Configure DNSCrypt2 or Stubby? It does matter if your ISP is spoofing DNS requests"
DISK=$(df -m / | awk 'NR==2{ print $2 }') DISK=$(df -m / | awk 'NR==2{ print $2 }')
if [[ "$DISK" -lt 32 ]]; then if [[ "$DISK" -lt 32 ]]; then
printf "\033[31;1mYour router a disk have less than 32MB. It is not recommended to install DNSCrypt, it takes 10MB\033[0m\n" printf "\033[31;1mYour router a disk have less than 32MB. It is not recommended to install DNSCrypt, it takes 10MB\033[0m\n"
fi fi
echo "Select:" echo "Select:"
@@ -364,9 +364,9 @@ add_dns_resolver() {
while true; do while true; do
read -r -p '' DNS_RESOLVER read -r -p '' DNS_RESOLVER
case $DNS_RESOLVER in case $DNS_RESOLVER in
1) 1)
echo "Skiped" echo "Skiped"
break break
;; ;;
@@ -376,7 +376,7 @@ add_dns_resolver() {
break break
;; ;;
3) 3)
DNS_RESOLVER=STUBBY DNS_RESOLVER=STUBBY
break break
;; ;;
@@ -408,7 +408,7 @@ add_dns_resolver() {
uci add_list dhcp.@dnsmasq[0].server="127.0.0.53#53" uci add_list dhcp.@dnsmasq[0].server="127.0.0.53#53"
uci add_list dhcp.@dnsmasq[0].server='/use-application-dns.net/' uci add_list dhcp.@dnsmasq[0].server='/use-application-dns.net/'
uci commit dhcp uci commit dhcp
printf "\033[32;1mDnsmasq restart\033[0m\n" printf "\033[32;1mDnsmasq restart\033[0m\n"
/etc/init.d/dnsmasq restart /etc/init.d/dnsmasq restart
@@ -468,9 +468,9 @@ add_getdomains() {
while true; do while true; do
read -r -p '' COUNTRY read -r -p '' COUNTRY
case $COUNTRY in case $COUNTRY in
1) 1)
COUNTRY=russia_inside COUNTRY=russia_inside
break break
;; ;;
@@ -480,12 +480,12 @@ add_getdomains() {
break break
;; ;;
3) 3)
COUNTRY=ukraine COUNTRY=ukraine
break break
;; ;;
4) 4)
echo "Skiped" echo "Skiped"
COUNTRY=0 COUNTRY=0
break break
@@ -518,13 +518,19 @@ start () {
EOF EOF
cat << 'EOF' >> /etc/init.d/getdomains cat << 'EOF' >> /etc/init.d/getdomains
count=0 count=0
maxCount=10
while true; do while true; do
if [ ${count} -eq ${maxCount} ]; then
echo "Break on ${maxCount} attempt"
break
fi
if curl -m 3 github.com; then if curl -m 3 github.com; then
curl -f $DOMAINS --output /tmp/dnsmasq.d/domains.lst curl -f $DOMAINS --output /tmp/dnsmasq.d/domains.lst
break break
else else
echo "GitHub is not available. Check the internet availability [$count]" echo "GitHub is not available. Check the internet availability [$count]"
count=$((count+1)) count=$((count+1))
sleep 5
fi fi
done done

View File

@@ -22,13 +22,19 @@ start () {
DOMAINS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Ukraine/inside-dnsmasq-ipset.lst DOMAINS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Ukraine/inside-dnsmasq-ipset.lst
{% endif %} {% endif %}
count=0 count=0
maxCount=10
while true; do while true; do
if [ ${count} -eq ${maxCount} ]; then
echo "Break on ${maxCount} attempt"
break
fi
if curl -m 3 github.com; then if curl -m 3 github.com; then
curl -f $DOMAINS --output /tmp/dnsmasq.d/domains.lst curl -f $DOMAINS --output /tmp/dnsmasq.d/domains.lst
break break
else else
echo "GitHub is not available. Check the internet availability [$count]" echo "GitHub is not available. Check the internet availability [$count]"
count=$((count+1)) count=$((count+1))
sleep 5
fi fi
done done
@@ -46,7 +52,12 @@ start () {
mkdir -p $dir mkdir -p $dir
count=0 count=0
maxCount=10
while true; do while true; do
if [ ${count} -eq ${maxCount} ]; then
echo "Break on ${maxCount} attempt"
break
fi
if curl -m 3 https://antifilter.download/; then if curl -m 3 https://antifilter.download/; then
{% if list_subnet %} {% if list_subnet %}
curl -f -z $dir/subnet.lst https://antifilter.download/list/subnet.lst --output $dir/subnet.lst curl -f -z $dir/subnet.lst https://antifilter.download/list/subnet.lst --output $dir/subnet.lst
@@ -56,15 +67,16 @@ start () {
{% endif %} {% endif %}
{% if list_community %} {% if list_community %}
curl -f -z $dir/community.lst https://community.antifilter.download/list/community.lst --output $dir/community.lst curl -f -z $dir/community.lst https://community.antifilter.download/list/community.lst --output $dir/community.lst
{% endif %} {% endif %}
break break
else else
echo "antifilter.download is not available. Check the internet availability [$count]" echo "antifilter.download is not available. Check the internet availability [$count]"
count=$((count+1)) count=$((count+1))
sleep 5
fi fi
done done
echo "Firewall restart" echo "Firewall restart"
/etc/init.d/firewall restart /etc/init.d/firewall restart
{% endif %} {% endif %}
} }