Last active
July 12, 2022 23:34
-
-
Save kasparsd/1cb3919a238bc94b93ccc72324cab517 to your computer and use it in GitHub Desktop.
Zemismart Zigbee Gateway TYZS4, see https://paulbanks.org/projects/lidl-zigbee/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
######################################### | |
#Function: update tuya_gateway app | |
#Usage: ./app_upgrade.sh | |
#Author: hxh | |
#Company: tuya | |
#Version: 3.0 | |
######################################### | |
ENG_MODE_FILE=/tmp/eng_mode | |
#clear fold | |
clear() { | |
if [ -z "$1" ];then | |
echo "please input the upgrade file path" | |
exit 1 | |
fi | |
rm -rf $1 | |
} | |
#stop engineer app and script | |
stop() { | |
ps | grep $app_shell | grep -v grep | awk '{print $1}' | xargs kill -9 > /dev/null 2>&1 | |
ps | grep $app_name | grep -v grep | awk '{print $1}' | xargs kill -9 > /dev/null 2>&1 | |
ps | grep $log_shell | grep -v grep | awk '{print $1}' | xargs kill -9 > /dev/null 2>&1 | |
} | |
#start ncp check | |
start_ncp_check() { | |
ncp_update_file=/tmp/upgrade/NcpUpgrade.ota | |
if [ -f "$ncp_ver65_flag" ];then | |
echo "ncp is ver65, don't update." | |
return 0 | |
fi | |
if [ -f "$ncp_update_file" ];then | |
mv $ncp_update_file $tuya_fold/$ncp_backup65_file | |
if [ "$?" -ne 0 ];then | |
echo "mv ncp file error." | |
return 1 | |
fi | |
echo "mv $ncp_update_file success." | |
cp -f $tuya_fold/$ncp_backup65_file /tmp/ota-files/NcpUpgrade.ota | |
if [ "$?" -eq 0 ];then | |
echo "cp $tuya_fold/$ncp_backup65_file success." | |
echo 1 >> /tuya/coo_upgdate65 | |
return 0 | |
else | |
rm -f $tuya_fold/$ncp_backup65_file | |
rm -f /tmp/ota-files/NcpUpgrade.ota | |
echo "cp $tuya_fold/$ncp_backup65_file error." | |
return 1 | |
fi | |
else | |
echo "$ncp_update_file is non-existent" | |
return 0 | |
fi | |
} | |
#update normal files | |
update_normal() { | |
if [ ! -d $user_path ];then | |
echo "$user_path is not exist" | |
if [ "$current_path" = "$app_fold1" ];then | |
target=$app_fold2 | |
elif [ "$current_path" = "$app_fold2" ];then | |
target=$app_fold1 | |
else | |
echo "Don't support update dir." | |
exit 1 | |
fi | |
else | |
echo "$user_path is exist" | |
if [ "$user_path" = "$app_fold1" ];then | |
target=$app_fold2 | |
elif [ "$user_path" = "$app_fold2" ];then | |
target=$app_fold1 | |
else | |
echo "Don't support update dir." | |
exit 1 | |
fi | |
fi | |
if [ ! -d $target ];then | |
echo "create dir: $target" | |
mkdir $target | |
fi | |
echo "target dir is: $target" | |
echo "update dir is: $this_path/tuya_user1" | |
cd $this_path | |
# cp tuya_start.sh /tuya/ | |
# cp udhcpc.script /tuya/ | |
# cp tuyamtd /tuya/ | |
# cp def.cfg /tuya/ | |
cp -f tuyadropbear ssh_monitor.sh tuya_start.sh tuya_net_start.sh udhcpc.script tuyamtd def.cfg json_parser.sh start_record.sh /tuya/ | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp shell.sh error" | |
exit 1 | |
fi | |
cd $this_path/tuya_user1 | |
if [ "$?" -eq 1 ];then | |
echo "$this_path is not exist" | |
exit 1 | |
fi | |
chmod +x *.sh $app_name | |
chmod +x ./engineer/*.sh ./engineer/$app_name > /dev/null 2>&1 | |
cp -rf * $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp err [target]" | |
exit 1 | |
fi | |
if [ ! -d engineer ];then | |
cp -rf $current_path/engineer $target | |
else | |
cp -f $current_path/engineer/$db_name $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$db_bak_name $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$zigbee_host_cfg $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$zigbee_host_cfg1 $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$zigbee_host_ias $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$eng_sub_dev_config $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$eng_cloud_config $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$eng_app_config $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$zigbee_host_flag $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$db_enckey $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$linkage_db_name $target/engineer > /dev/null 2>&1 | |
cp -f $current_path/engineer/$linkage_db_bak_name $target/engineer > /dev/null 2>&1 | |
fi | |
cp -f $current_path/$db_name $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $db_name error" | |
exit 1 | |
fi | |
cp -f $current_path/$db_bak_name $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $db_bak_name error" | |
exit 1 | |
fi | |
cp -f $current_path/$db_enckey $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $db_enckey error" | |
exit 1 | |
fi | |
cp -f $current_path/$zigbee_host_cfg $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $zigbee_host_cfg error" | |
exit 1 | |
fi | |
cp -f $current_path/$zigbee_host_ias $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $zigbee_host_ias error" | |
exit 1 | |
fi | |
cp -f $current_path/$zigbee_host_cfg1 $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $zigbee_host_cfg1 error" | |
exit 1 | |
fi | |
cp -f $current_path/$zigbee_host_flag $target | |
if [ "$?" -gt 1 ];then | |
echo "update_normal cp $zigbee_host_flag error" | |
exit 1 | |
fi | |
start_ncp_check | |
if [ "$?" -eq 0 ];then | |
echo "tuya_start_dir=$target" > /tuya/start.conf | |
echo "update host success, will updating ncp" | |
echo "target dir is: $target" | |
if [ -f "$ncp_ver65_flag" ];then | |
echo "don't update ver65..." | |
else | |
if [ -f "/tmp/ota-files/NcpUpgrade.ota" ];then | |
$target/debugtool -n | |
else | |
echo "no ncp file" | |
fi | |
fi | |
else | |
echo "update fail." | |
fi | |
} | |
#start normal app and script | |
start_normal() { | |
$start_shell & | |
$ssh_monitor_shell & | |
} | |
#check space | |
check_space(){ | |
if [ "$current_path" = "$app_fold1" ];then | |
clear_target=$app_fold2 | |
elif [ "$current_path" = "$app_fold2" ];then | |
clear_target=$app_fold1 | |
else | |
echo "Check space don't support update dir." | |
exit 1 | |
fi | |
if [ -d $clear_target ];then | |
echo "Will clear $clear_target/* data." | |
rm -rf $clear_target/* | |
fi | |
total_block_size=`df $tuya_fold | grep / | awk -F '[ %]+' '{print $5}'` | |
echo "Space left on device:$total_block_size %." | |
if [ "$total_block_size" -gt 70 ];then | |
rm -rf /tuya/log_dir/* | |
total_block_size=`df $tuya_fold | grep / | awk -F '[ %]+' '{print $5}'` | |
if [ "$total_block_size" -gt 70 ];then | |
echo "No space left on device.Space:$total_block_size %." | |
exit 1 | |
fi | |
fi | |
} | |
#main entry | |
main() { | |
#stop | |
[ "$upgrade_param" = "engineer" ] && echo "1" > $ENG_MODE_FILE | |
echo "start to update normal" | |
check_space | |
update_normal | |
start_normal | |
clear $this_path | |
} | |
#preprocess | |
if [ -z "$1" ];then | |
echo "please input the upgrade param" | |
exit 1 | |
fi | |
app_name=tyZ3Gw | |
if [ -z "$app_name" ];then | |
echo "app_name is null" | |
clear $this_path | |
exit 1 | |
fi | |
app_shell=app_detect.sh | |
if [ -z "$app_shell" ];then | |
echo "app_shell is null" | |
clear $this_path | |
exit 1 | |
fi | |
log_shell=log_detect.sh | |
if [ -z "$log_shell" ];then | |
echo "log_shell is null" | |
clear $this_path | |
exit 1 | |
fi | |
upgrade_param=$1 | |
this_path=$(cd `dirname $0`;pwd) | |
app_fold1="/tuya/tuya_user1" | |
app_fold2="/tuya/tuya_user2" | |
tuya_fold="/tuya" | |
db_name="tuya_user.db" | |
db_bak_name="tuya_user.db_bak" | |
db_enckey="tuya_enckey.db" | |
zigbee_host_cfg="devices.txt" | |
zigbee_host_ias="iaszone.txt" | |
zigbee_host_cfg1="devices1.txt" | |
zigbee_host_flag="devflag.ini" | |
eng_sub_dev_config="sub_dev.config" | |
eng_cloud_config="cloud.config" | |
eng_app_config="app.config" | |
linkage_db_name="scene_linkage.db" | |
linkage_db_bak_name="scene_linkage.db_bak" | |
user_path=`cat /tuya/start.conf | grep tuya_start_dir | cut -d "=" -f 2` | |
start_shell_name=tuya_start.sh | |
start_shell=/tuya/tuya_start.sh | |
ssh_monitor_shell=/tuya/ssh_monitor.sh | |
start_children_shell=./tuya_start_children.sh | |
ncp_backup65_file="NcpUpgrade_backup65.ota" | |
ncp_ver65_flag="/tmp/ncp_ver65_1_0_9_flag" | |
current_path=$user_path | |
echo "current_path is $current_path" | |
echo "user_path is $user_path" | |
echo "this_path is $this_path" | |
echo "upgrade_param is $upgrade_param" | |
echo "app_name is $app_name" | |
echo "app_shell is $app_shell" | |
echo "log_shell is $log_shell" | |
main | |
echo "upgrade software success" | |
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cat def.cfg | |
{ | |
"user_cfg_file":"/tuya/config/user.cfg", | |
"platform":"RTL8196E", | |
"product_key":"keyytmXXXXXXXXXXX", | |
"mode_id":"RTL8196E_TY01", | |
"storage_dir":"./", | |
"log_dir":"/tuya/log_dir/", | |
"tmp_dir":"/tmp/", | |
"bin_dir":"/tuya/", | |
"backup_dir":"/tuya/", | |
"net_led":"LED0", | |
"status_led":"LED1", | |
"reset_key":"KEY0", | |
"wan_interface":"eth1", | |
"wifi_interface":"wifi0", | |
"serial_port":"/dev/ttyS1", | |
"is_cts":true, | |
"is_sync_systime":true, | |
"is_hardward":true | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
ifconfig lo 127.0.0.1 | |
hostname Gateway | |
mount -t proc proc /proc | |
mount -t ramfs ramfs /var | |
mount -t sysfs sysfs /sys | |
mount -t tmpfs -o size=64k,mode=0755 tmpfs /dev | |
#mdev -s | |
/bin/mknod.sh | |
#wyj modify | |
mount -t jffs2 /dev/mtdblock4 /tuya | |
mkdir /var/tmp | |
mkdir /var/web | |
mkdir /var/log | |
mkdir /var/run | |
mkdir /var/lock | |
mkdir /var/system | |
mkdir /var/dnrd | |
mkdir /var/lib | |
mkdir /var/lib/misc | |
#GPIOB4 GPIOB5 init | |
#/tuya/gpio_ctl.sh set GPIOB4 out | |
#/tuya/gpio_ctl.sh write GPIOB4 1 | |
#/tuya/gpio_ctl.sh set GPIOB5 out | |
#/tuya/gpio_ctl.sh write GPIOB5 0 | |
# Start system script | |
/tuya/tuya_net_start.sh | |
#init.sh gw wan | |
# modify dst-cache setting | |
echo "2048" > /proc/sys/net/ipv4/route/max_size | |
echo "180" > /proc/sys/net/ipv4/route/gc_thresh | |
echo 20 > /proc/sys/net/ipv4/route/gc_elasticity | |
echo "4096" > /proc/sys/net/netfilter/nf_conntrack_max | |
echo "600" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established | |
echo "20" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait | |
echo "20" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close | |
echo "90" > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout | |
echo "120" > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout_stream | |
echo "90" > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout | |
echo "32" > /proc/sys/net/netfilter/nf_conntrack_expect_max | |
stty -F /dev/ttyS1 115200 | |
stty -F /dev/ttyS1 -echo | |
ifconfig eth1 192.168.1.254 | |
udhcpc -i eth1 -s /bin/udhcpc.script -p /var/run/udhcpc0.pid & | |
dropbear -P /var/run/dropbear.1.pid -p 22 -K 300 | |
/tuya/tuya_start.sh & |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
ethn="eth1" | |
net_addr=$(/tuya/tuyamtd read master_mac) | |
ifconfig $ethn hw ether $net_addr | |
echo "Set power start" | |
echo read 0xb8000038 16 > /proc/rtl865x/memory | |
echo write 0xb8000038 0x1794a104 > /proc/rtl865x/memory | |
echo "Set power end" | |
rm -rf /tuya/ssh | |
/tuya/ssh_monitor.sh & |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#Usage: sh tuya_start.sh UserAppRunDir | |
#======================================================================= | |
DEFULT_APP_RUN_DIR=/tuya | |
TY_START_CHILDREN_SHELL=tuya_start_children.sh | |
def_jsonvalue_NULL="defaultValue" | |
#echo "Tuya Gateway Application Normal Srart $0 UserAppRunDir:${1} JsonFile Path:${2}" | |
echo "Tuya Gateway Application Normal Srart $0 UserAppRunDir:${1}" | |
#set app run dir | |
app_run_dir=$DEFULT_APP_RUN_DIR | |
if [ -d "$1" ];then | |
app_run_dir=${1%*/} | |
echo "set run_dir:${app_run_dir}" | |
elif [ -n "$TY_ENV_APP_RUN_DIR" ];then | |
app_run_dir=$TY_ENV_APP_RUN_DIR | |
echo "find old TY_ENV_APP_RUN_DIR:${app_run_dir}" | |
else | |
echo "set defult run_dir:${DEFULT_APP_RUN_DIR}" | |
fi | |
export TY_ENV_APP_RUN_DIR=$app_run_dir | |
LD_LIBRARY_PATH=$app_run_dir:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH | |
echo "TY_ENV_APP_RUN_DIR=${app_run_dir}" | |
UserAppRunDir=$app_run_dir | |
JSON_PARSER_SH=${UserAppRunDir}/json_parser.sh | |
#load platform configure file | |
DEFULT_PLATFORM_CFG_FILE=${app_run_dir}/def.cfg | |
user_cfg_file=$DEFULT_PLATFORM_CFG_FILE | |
if [ -f "$DEFULT_PLATFORM_CFG_FILE" ];then | |
#get user cfg file path | |
jsonkey_USER_CFG_FILE="user_cfg_file" | |
jsonvalue_USER_CFG_FILE=`sh ${JSON_PARSER_SH} ${DEFULT_PLATFORM_CFG_FILE} ${jsonkey_USER_CFG_FILE} | sed 's/\"//g'` | |
if [ "$jsonvalue_USER_CFG_FILE" = "$def_jsonvalue_NULL" ] || [ ! -f "$jsonvalue_USER_CFG_FILE" ] ;then | |
echo "get user cfg file error, load defult cfg file" | |
user_cfg_file=$DEFULT_PLATFORM_CFG_FILE | |
else | |
echo "get user cfg file success." | |
user_cfg_file=$jsonvalue_USER_CFG_FILE | |
fi | |
else | |
echo "defult cfg does not exist." | |
exit 0 | |
fi | |
echo "load platform configure file:${user_cfg_file}" | |
export TY_ENV_USER_CFG_FILE=$user_cfg_file | |
#sh $TY_PLATFORM_CFG_PARSER_SHELL $app_run_dir $user_cfg_file | |
JsonFile=$user_cfg_file | |
#tmp_dir | |
jsonkey_USER_TMP_DIR="tmp_dir" | |
def_jsonvalue_USER_TMP_DIR="/tmp" | |
jsonvalue_USER_TMP_DIR=`sh ${JSON_PARSER_SH} ${JsonFile} ${jsonkey_USER_TMP_DIR} | sed 's/\"//g'` | |
if [ "$jsonvalue_USER_TMP_DIR" == "$def_jsonvalue_NULL" ];then | |
jsonvalue_USER_TMP_DIR=$def_jsonvalue_USER_TMP_DIR | |
fi | |
export TY_ENV_USER_TMP_DIR=${jsonvalue_USER_TMP_DIR%*/} | |
#platform | |
jsonkey_PLATFORM="platform" | |
def_jsonvalue_PLATFORM="RTL8196E" | |
jsonvalue_PLATFORM=`sh ${JSON_PARSER_SH} ${JsonFile} ${jsonkey_PLATFORM} | sed 's/\"//g'` | |
if [ "$jsonvalue_PLATFORM" == "$def_jsonvalue_NULL" ];then | |
jsonvalue_PLATFORM=$def_jsonvalue_PLATFORM | |
fi | |
export TY_ENV_PLATFORM=${jsonvalue_PLATFORM} | |
#wan_interface | |
jsonkey_WAN_IF_NAME="wan_interface" | |
def_jsonvalue_WAN_IF_NAME="eth1" | |
jsonvalue_WAN_IF_NAME=`sh ${JSON_PARSER_SH} ${JsonFile} ${jsonkey_WAN_IF_NAME} | sed 's/\"//g'` | |
if [ "$jsonvalue_WAN_IF_NAME" == "$def_jsonvalue_NULL" ];then | |
jsonvalue_WAN_IF_NAME=$def_jsonvalue_WAN_IF_NAME | |
fi | |
export TY_ENV_WAN_IF_NAME=$jsonvalue_WAN_IF_NAME | |
app_fold1=${app_run_dir}/tuya_user1 | |
app_fold2=${app_run_dir}/tuya_user2 | |
user_path=${app_fold1} | |
#restart dhcp | |
killall -9 udhcpc | |
echo 4 > /proc/sys/net/ipv4/tcp_syn_retries | |
killall udhcpc | |
udhcpc -i ${TY_ENV_WAN_IF_NAME} -s ${app_run_dir}/udhcpc.script -p /var/run/udhcpc0.pid & ##需要修改 | |
#create user_tmp dir | |
if [ ! -d "$TY_ENV_USER_TMP_DIR" ]; then | |
mkdir -p "$TY_ENV_USER_TMP_DIR" | |
fi | |
default() { | |
echo "Into default funtion" | |
user_path=$app_fold1 | |
if [ ! -d $user_path ];then | |
echo "Error: no run dir:${user_path}" | |
user_path=$app_fold2 | |
if [ ! -d $user_path ];then | |
echo "Error: no run dir:${user_path}" | |
exit 0 | |
else | |
echo "tuya_start_dir=${user_path}" > ${app_run_dir}/start.conf | |
fi | |
else | |
echo "tuya_start_dir=${user_path}" > ${app_run_dir}/start.conf | |
fi | |
} | |
cd $app_run_dir | |
if [ ! -r "$app_run_dir" ]; then | |
echo "dir:${app_run_dir} error" | |
exit -1 | |
fi | |
if [ ! -w "$app_run_dir" ]; then | |
echo "dir:${app_run_dir} read only!" | |
else | |
if [ -s start.conf ];then | |
echo "start.conf is exist" | |
user_path=`cat start.conf | grep tuya_start_dir | cut -d "=" -f 2` | |
else | |
echo "start.conf is not exist" | |
user_path=/tytest123 | |
fi | |
if [ ! -d $user_path ];then | |
echo "$user_path is not exist" | |
default | |
else | |
if [ "$user_path" != "$app_fold1" ] && [ "$user_path" != "$app_fold2" ];then | |
echo "$user_path error." | |
default | |
fi | |
fi | |
fi | |
echo "current run dir:$user_path" | |
cd $user_path | |
./$TY_START_CHILDREN_SHELL $app_run_dir $user_cfg_file & |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 | |
RESOLV_CONF="/var/resolv.conf" | |
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" | |
[ -n "$subnet" ] && NETMASK="netmask $subnet" | |
HK_CERT_FILE="/tuya/hk_cert_flag" | |
case "$1" in | |
deconfig) | |
if [ ! -f "$HK_CERT_FILE" ]; then | |
echo "Normal mode." | |
ifconfig $interface 192.168.1.254 | |
route add -net default gw 192.168.1.1 dev eth1 | |
else | |
echo "Homekit cert mode." | |
ifconfig eth1 0.0.0.0 | |
/tuya/avahi-autoipd --no-drop-root -t /tuya/avahi/avahi-autoipd.action eth1 & | |
fi | |
;; | |
renew|bound) | |
ifconfig $interface $ip $BROADCAST $NETMASK | |
if [ -n "$router" ] ; then | |
echo "deleting routers" | |
while route del default gw 0.0.0.0 dev $interface ; do | |
: | |
done | |
for i in $router ; do | |
route add default gw $i dev $interface | |
done | |
fi | |
echo -n > $RESOLV_CONF | |
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF | |
for i in $dns ; do | |
echo adding dns $i | |
echo nameserver $i >> $RESOLV_CONF | |
done | |
;; | |
esac | |
grep "114.114.114.114" $RESOLV_CONF | |
if [ $? -ne 0 ];then | |
echo "nameserver 114.114.114.114" >> $RESOLV_CONF | |
echo "nameserver 8.8.8.8" >> $RESOLV_CONF | |
fi | |
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 | |
RESOLV_CONF="/var/resolv.conf" | |
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" | |
[ -n "$subnet" ] && NETMASK="netmask $subnet" | |
case "$1" in | |
deconfig) | |
# ifconfig $interface 192.168.1.254 | |
# route add -net default gw 192.168.1.1 dev eth1 | |
#ifconfig eth1 0.0.0.0 | |
/tuya/avahi-autoipd --no-drop-root -t /tuya/avahi/avahi-autoipd.action eth1 & | |
;; | |
renew|bound) | |
ifconfig $interface $ip $BROADCAST $NETMASK | |
if [ -n "$router" ] ; then | |
echo "deleting routers" | |
while route del default gw 0.0.0.0 dev $interface ; do | |
: | |
done | |
for i in $router ; do | |
route add default gw $i dev $interface | |
done | |
fi | |
echo -n > $RESOLV_CONF | |
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF | |
for i in $dns ; do | |
echo adding dns $i | |
echo nameserver $i >> $RESOLV_CONF | |
done | |
;; | |
esac | |
grep "114.114.114.114" $RESOLV_CONF | |
if [ $? -ne 0 ];then | |
echo "nameserver 114.114.114.114" >> $RESOLV_CONF | |
echo "nameserver 8.8.8.8" >> $RESOLV_CONF | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Note that
product_key
has been obfuscated on purpose.