mirror of
				https://github.com/kenzok8/openwrt-packages.git
				synced 2025-10-30 07:50:37 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh /etc/rc.common
 | |
| 
 | |
| if [ -f /etc/clash/clashbackup/history ];then
 | |
| 
 | |
| HISTORY_PATH="/etc/clash/clashbackup/history"
 | |
| SECRET=$(uci get clash.config.dash_pass 2>/dev/null)
 | |
| LAN_IP=$(uci get network.lan.ipaddr 2>/dev/null |awk -F '/' '{print $1}' 2>/dev/null)
 | |
| PORT=$(uci get clash.config.dash_port 2>/dev/null)
 | |
| urlencode() {
 | |
|     local data
 | |
|     if [ "$#" != 1 ]; then
 | |
|         return 1
 | |
|     fi
 | |
|     data=$(curl -s -o /dev/null -w %{url_effective} --get --data-urlencode "$1" "")
 | |
|     if [ ! -z "$data" ]; then
 | |
|         echo "${data##/?}"
 | |
|     fi
 | |
|     return 0
 | |
| }
 | |
| cat $HISTORY_PATH |while read line
 | |
| do
 | |
|     if [ -z "$(echo $line |grep "#*#")" ]; then
 | |
|       continue
 | |
|     else
 | |
|       GORUP_NAME=$(urlencode "$(echo $line |awk -F '#*#' '{print $1}')")
 | |
|       NOW_NAME=$(echo $line |awk -F '#*#' '{print $3}')
 | |
|       curl -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X PUT -d '{"name":"'"$NOW_NAME"'"}' http://"$LAN_IP":"$PORT"/proxies/"$GORUP_NAME" >/dev/null 2>&1
 | |
|     fi
 | |
| done >/dev/null 2>&1 
 | |
| curl -m 5 --retry 2 -H "Authorization: Bearer ${SECRET}" -H "Content-Type:application/json" -X DELETE http://"$LAN_IP":"$PORT"/connections >/dev/null 2>&1   
 | |
| fi  | 
![github-actions[bot]](/assets/img/avatar_default.png)