Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ######################################################################
- #Copyright (C) 2023 Kris Occhipinti
- #https://filmsbykris.com
- #This program is free software: you can redistribute it and/or modify
- #it under the terms of the GNU General Public License as published by
- #the Free Software Foundation version 3 of the License.
- #This program is distributed in the hope that it will be useful,
- #but WITHOUT ANY WARRANTY; without even the implied warranty of
- #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- #GNU General Public License for more details.
- #You should have received a copy of the GNU General Public License
- #along with this program. If not, see <http://www.gnu.org/licenses/>.
- ######################################################################
- url="https://filmsbykris.com/scripts/blocked_domains.lst"
- function block(){
- wget -qO- "$url"|while read domain;
- do
- sudo iptables -A OUTPUT -p tcp -m string --string "$domain" --algo kmp -j REJECT
- done
- sudo iptables -L --line-numbers
- exit
- }
- function unblock(){
- rule="$(sudo iptables -L --line-numbers|grep REJECT|fzf --prompt="Select a rule: "|awk '{print $1}')"
- [[ $rule ]] || exit
- sudo iptables -D OUTPUT $rule
- sudo iptables -L --line-numbers
- exit
- }
- function unblock_all(){
- sudo iptables -L --line-numbers|grep "REJECT"|awk '{print $1}'|while read rule;do
- sudo iptables -D OUTPUT 1
- done
- sudo iptables -L --line-numbers
- exit
- }
- function help(){
- echo "
- Options are:
- unblock
- all
- show
- help
- block #default"
- exit
- }
- [[ "$1" == "unblock" ]] && unblock
- [[ "$1" == "all" ]] && unblock_all
- [[ "$1" == "show" ]] && sudo iptables -L --line-numbers
- [[ "$1" == "help" ]] && help
- block
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement