|
@@ -1845,6 +1845,29 @@ function domain_blocking_add {
|
1845
|
1845
|
esac
|
1846
|
1846
|
}
|
1847
|
1847
|
|
|
1848
|
+function ip_blocking_add {
|
|
1849
|
+ data=$(tempfile 2>/dev/null)
|
|
1850
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
1851
|
+ dialog --title $"Block an IP address" \
|
|
1852
|
+ --backtitle $"Freedombone Control Panel" \
|
|
1853
|
+ --inputbox $"Enter the IP address that you wish to block" 8 60 "" 2>$data
|
|
1854
|
+ sel=$?
|
|
1855
|
+ case $sel in
|
|
1856
|
+ 0)
|
|
1857
|
+ blocked_ip=$(<$data)
|
|
1858
|
+ if [ ${#blocked_ip} -gt 2 ]; then
|
|
1859
|
+ if [[ "${blocked_ip}" == *'.'* ]]; then
|
|
1860
|
+ firewall_block_ip $blocked_ip
|
|
1861
|
+ if [[ "${blocked_ip}" != *'@'* ]]; then
|
|
1862
|
+ dialog --title $"Block an IP address" \
|
|
1863
|
+ --msgbox $"The IP address $blocked_ip has been blocked" 6 40
|
|
1864
|
+ fi
|
|
1865
|
+ fi
|
|
1866
|
+ fi
|
|
1867
|
+ ;;
|
|
1868
|
+ esac
|
|
1869
|
+}
|
|
1870
|
+
|
1848
|
1871
|
function domain_blocking_remove {
|
1849
|
1872
|
data=$(tempfile 2>/dev/null)
|
1850
|
1873
|
trap "rm -f $data" 0 1 2 5 15
|
|
@@ -1871,6 +1894,29 @@ function domain_blocking_remove {
|
1871
|
1894
|
esac
|
1872
|
1895
|
}
|
1873
|
1896
|
|
|
1897
|
+function ip_blocking_remove {
|
|
1898
|
+ data=$(tempfile 2>/dev/null)
|
|
1899
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
1900
|
+ dialog --title $"Unblock an IP address" \
|
|
1901
|
+ --backtitle $"Freedombone Control Panel" \
|
|
1902
|
+ --inputbox $"Enter the IP address that you wish to unblock" 8 60 "" 2>$data
|
|
1903
|
+ sel=$?
|
|
1904
|
+ case $sel in
|
|
1905
|
+ 0)
|
|
1906
|
+ unblocked_ip=$(<$data)
|
|
1907
|
+ if [ ${#unblocked_ip} -gt 2 ]; then
|
|
1908
|
+ if [[ "${unblocked_ip}" == *'.'* ]]; then
|
|
1909
|
+ firewall_unblock_ip $unblocked_ip
|
|
1910
|
+ if [[ "${unblocked_ip}" != *'@'* ]]; then
|
|
1911
|
+ dialog --title $"Unblock an IP address" \
|
|
1912
|
+ --msgbox $"The IP address $unblocked_ip has been unblocked" 6 40
|
|
1913
|
+ fi
|
|
1914
|
+ fi
|
|
1915
|
+ fi
|
|
1916
|
+ ;;
|
|
1917
|
+ esac
|
|
1918
|
+}
|
|
1919
|
+
|
1874
|
1920
|
function domain_blocking_show {
|
1875
|
1921
|
if [ -f $FIREWALL_DOMAINS ]; then
|
1876
|
1922
|
clear
|
|
@@ -1892,11 +1938,13 @@ function domain_blocking {
|
1892
|
1938
|
trap "rm -f $data" 0 1 2 5 15
|
1893
|
1939
|
dialog --backtitle $"Freedombone Control Panel" \
|
1894
|
1940
|
--title $"Domain or User Blocking" \
|
1895
|
|
- --radiolist $"Choose an operation:" 12 60 4 \
|
|
1941
|
+ --radiolist $"Choose an operation:" 14 60 6 \
|
1896
|
1942
|
1 $"Block a domain or user" off \
|
1897
|
1943
|
2 $"Unblock a domain or user" off \
|
1898
|
|
- 3 $"Show blocked domains and users" off \
|
1899
|
|
- 4 $"Back to main menu" on 2> $data
|
|
1944
|
+ 3 $"Block an IP address" off \
|
|
1945
|
+ 4 $"Unblock an IP address" off \
|
|
1946
|
+ 5 $"Show blocked domains and users" off \
|
|
1947
|
+ 6 $"Back to main menu" on 2> $data
|
1900
|
1948
|
sel=$?
|
1901
|
1949
|
case $sel in
|
1902
|
1950
|
1) break;;
|
|
@@ -1905,8 +1953,10 @@ function domain_blocking {
|
1905
|
1953
|
case $(cat $data) in
|
1906
|
1954
|
1) domain_blocking_add;;
|
1907
|
1955
|
2) domain_blocking_remove;;
|
1908
|
|
- 3) domain_blocking_show;;
|
1909
|
|
- 4) break;;
|
|
1956
|
+ 3) ip_blocking_add;;
|
|
1957
|
+ 4) ip_blocking_remove;;
|
|
1958
|
+ 5) domain_blocking_show;;
|
|
1959
|
+ 6) break;;
|
1910
|
1960
|
esac
|
1911
|
1961
|
done
|
1912
|
1962
|
}
|