Update 2025-01-05 10:36 OpenBSD/amd64-t14
This commit is contained in:
		
							parent
							
								
									908090c41b
								
							
						
					
					
						commit
						87a300f0c4
					
				
							
								
								
									
										74
									
								
								.bin/update-adlist
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								.bin/update-adlist
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					#!/bin/sh -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trap _restore_all 1 2 3 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_list=${1:-/etc/unwind/blocklistproject.txt}
 | 
				
			||||||
 | 
					_url=https://blocklistproject.github.io/Lists/alt-version
 | 
				
			||||||
 | 
					_dir=/etc/unwind/lists
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_restore_all() {
 | 
				
			||||||
 | 
					    echo "Signal received, aborting..."
 | 
				
			||||||
 | 
					    for _f in $_dir/*.old
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
 | 
					        echo "Restore: $(basename $_f)"
 | 
				
			||||||
 | 
					        doas mv -f "$_f" "${_f%%.old}"
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					    _assemble
 | 
				
			||||||
 | 
					    _restart_unwind
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_backup() {
 | 
				
			||||||
 | 
					    _f=$(basename "$1")
 | 
				
			||||||
 | 
					    if [ -f "$_dir/$_f" ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        echo "Backup: $_f -> $_f.old"
 | 
				
			||||||
 | 
					        doas mv -f "$_dir/$_f" "$_dir/$_f.old"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_restore() {
 | 
				
			||||||
 | 
					    _f=$(basename "$1")
 | 
				
			||||||
 | 
					    if [ -f "$_dir/$_f.old" ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        echo "Restore: $_f.old -> $_f"
 | 
				
			||||||
 | 
					        doas mv -f "$_dir/$_f" "$_dir/$_f.old"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_download() {
 | 
				
			||||||
 | 
					    echo "Download: $_file"
 | 
				
			||||||
 | 
					    doas ftp -V -o "$_dir/$_file" "$_url/$_file" > /dev/null \
 | 
				
			||||||
 | 
					        && doas rm -f "$_dir/$_file.old"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					_disabled() {
 | 
				
			||||||
 | 
					    if echo "$1" | grep -q "^#"
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        _f=$(basename "$1" | tr -d '# ')
 | 
				
			||||||
 | 
					        echo "Skip (disabled): $_f"
 | 
				
			||||||
 | 
					        doas rm -f $_dir/$_f
 | 
				
			||||||
 | 
					        return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					_assemble() {
 | 
				
			||||||
 | 
					    echo "Assemble blocklist: /etc/unwind/_assembled.txt"
 | 
				
			||||||
 | 
					    cat $_dir/*.txt \
 | 
				
			||||||
 | 
					        | tr -d " " \
 | 
				
			||||||
 | 
					        | grep -v '^#' \
 | 
				
			||||||
 | 
					        | doas sort -uo /etc/unwind/_assembled.txt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					_restart_unwind() {
 | 
				
			||||||
 | 
					    doas rcctl restart unwind
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for _file in $(grep -v "^##" $_list | xargs)
 | 
				
			||||||
 | 
					do 
 | 
				
			||||||
 | 
					    if ! _disabled $_file
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        _backup $_file
 | 
				
			||||||
 | 
					        _download || _restore
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					_assemble
 | 
				
			||||||
 | 
					_restart_unwind
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user