1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2023-11-10 23:25:34 +08:00 committed by GitHub
commit e46d1c8cb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 115 additions and 12 deletions

View file

@ -25,7 +25,7 @@ _check_server() {
local port=$2
local k=0
while [ "$server_ping" = false ] && [ "$k" -le "$retry" ]; do
ret=$(curl -4 \
ret=$(curl \
--max-time "$OMR_TRACKER_TIMEOUT" \
-s \
-k \
@ -66,7 +66,12 @@ _check_master() {
set_ip() {
local ip=$1
ipresolve="$(resolveip -4 $ip | head -n 1)"
[ -n "$ipresolve" ] && ip="$ipresolve"
if [ -n "$ipresolve" ]; then
ip="$ipresolve"
else
ip6resolve="$(resolveip -6 $ip | head -n 1)"
[ -n "$ip6resolve" ] && ip="$ip6resolve"
fi
#_ping_server $ip
_check_server $ip $port
if [ "$server_ping" = true ]; then
@ -191,7 +196,12 @@ _check_backup() {
set_ip() {
local ip=$1
ipresolve="$(resolveip -4 $ip | head -n 1)"
[ -z "$ipresolve" ] && ip="$ipresolve"
if [ -n "$ipresolve" ]; then
ip="$ipresolve"
else
ip6resolve="$(resolveip -6 $ip | head -n 1)"
[ -n "$ip6resolve" ] && ip="$ip6resolve"
fi
#_ping_server $ip
_check_server $ip $port
#[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" = "$ip" ] && break

View file

@ -501,6 +501,13 @@ _get_vps_config() {
fi
fi
vpsip="$(uci -q get openmptcprouter.${servername}.ip | awk '{print $1}')"
ipresolve="$(resolveip -4 $vpsip | head -n 1)"
if [ -n "$ipresolve" ]; then
vpsip="$ipresolve"
else
ip6resolve="$(resolveip -6 $vpsip | head -n 1)"
[ -n "$ip6resolve" ] && vpsip="$ip6resolve"
fi
if [ "$(uci -q get shadowsocks-libev.sss0.server)" != "127.0.0.1" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "$vpsip" ] && [ "$(uci -q get openmptcprouter.settings.ha)" != "1" ]; then
config_foreach _set_ss_server server "server" $vpsip
uci -q batch <<-EOF >/dev/null

View file

@ -85,6 +85,8 @@ fi
lanif="eth0"
if [ "$(grep rockchip /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ "$(grep filogic /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ -d /sys/class/net/lan0 -o -n "$(ip link | grep ' lan0')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then
lanif="wan"
elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then
@ -273,6 +275,19 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get
_setup_macvlan wan1
_setup_macvlan wan2
fi
elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/lan2 -o -n "$(ip link | grep ' lan2')" ] && [ -d /sys/class/net/lan3 -o -n "$(ip link | grep ' lan3')" ] && [ -d /sys/class/net/lan4 -o -n "$(ip link | grep ' lan4')" ]; then
_setup_wan_interface wan1 lan1 master
_setup_wan_interface wan2 lan2 on
_macaddr=$(uci -q get "network.lan1.macaddr")
_setup_macaddr "wan1" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_macaddr=$(uci -q get "network.lan2.macaddr")
_setup_macaddr "wan2" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_setup_wan_interface wan3 lan3 on
_macaddr=$(uci -q get "network.lan3.macaddr")
_setup_macaddr "wan3" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_setup_wan_interface wan4 lan4 on
_macaddr=$(uci -q get "network.lan4.macaddr")
_setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
elif [ -d /sys/class/net/wan1 ] || [ -n "$(ip link | grep ' wan1')" ]; then
if [ -d /sys/class/net/wan2 ] || [ -n "$(ip link | grep ' wan2')" ]; then
_setup_wan_interface wan1 wan1 master
@ -412,7 +427,39 @@ if ([ "$board" = "teltonika,rutx" ] || [ "$board" = "teltonika,rutx12" ] || [ "$
EOF
fi
if [ "$board" = "z8102ax" ]; then
uci -q batch <<-EOF
set network.modem1=interface
set network.modem1.proto='modemmanager'
set network.modem1.apn=''
set network.modem1.auth='none'
set network.modem1.iptype='ipv4v6'
set network.modem1.addlatency='0'
set network.modem1.force_link='1'
set network.modem1.device='/sys/devices/platform/11200000.usb/usb1/1-1/1-1.1'
set network.modem1.peerdns='0'
set network.modem1.multipath='oncd'
set network.modem1.defaultroute='0'
set network.modem2=interface
set network.modem2.proto='modemmanager'
set network.modem2.apn=''
set network.modem2.auth='none'
set network.modem2.iptype='ipv4v6'
set network.modem2.addlatency='0'
set network.modem2.force_link='1'
set network.modem2.device='/sys/devices/platform/11200000.usb/usb1/1-1/1-1.2'
set network.modem2.peerdns='0'
set network.modem2.multipath='on'
set network.modem2.defaultroute='0'
commit network
add_list firewall.@zone[1].network='modem1'
add_list firewall.@zone[1].network='modem2'
commit firewall
EOF
# /sys/bus/devices/1-1.1
fi
# set network.lan.ipaddr='192.168.5.10'
# set network.lan.gateway='192.168.5.1'
uci -q commit macvlan
uci -q commit network

View file

@ -127,6 +127,28 @@ elif [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep rutx)"
EOF
fi
if [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep z8102ax)" ] && [ -z "$(uci show system | grep modem1)" ]; then
uci -q batch <<-EOF >/dev/null
add system led
set system.@led[-1].name='modem1'
set system.@led[-1].sysfs='4g:status'
set system.@led[-1].trigger='netdev'
set system.@led[-1].dev='wwan0'
add_list system.@led[-1].mode='link'
add_list system.@led[-1].mode='tx'
add_list system.@led[-1].mode='rx'
add system led
set system.@led[-1].name='modem2'
set system.@led[-1].sysfs='4g2:status'
set system.@led[-1].trigger='netdev'
set system.@led[-1].dev='wwan1'
add_list system.@led[-1].mode='link'
add_list system.@led[-1].mode='tx'
add_list system.@led[-1].mode='rx'
commit system
EOF
fi
#sed -i 's/^\tlogger -t/\t[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] \&\& logger -t/g' /usr/share/ModemManager/modemmanager.common
exit 0

View file

@ -1,5 +1,6 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2013 OpenWrt.org
# Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter
START=58
USE_PROCD=1
@ -10,21 +11,37 @@ log() {
start_service()
{
i=459
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "1" > /sys/class/gpio/gpio${i}/value
i=460
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "1" > /sys/class/gpio/gpio${i}/value
# sim 1
i=461
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# sim 2
i=462
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# stop modem 1
i=459
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# stop modem 2
i=460
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
sleep 1
# run modem 1
i=459
echo "1" > /sys/class/gpio/gpio${i}/value
sleep 3
# run modem 2
i=460
echo "1" > /sys/class/gpio/gpio${i}/value
# watchdog
/usr/lib/custom/wdg.sh &
}