mirror of
https://github.com/bol-van/zapret.git
synced 2025-04-19 05:22:58 +03:00
Merge branch 'bol-van:master' into master
This commit is contained in:
commit
d779a21047
@ -23,6 +23,7 @@ CURL=${CURL:-curl}
|
|||||||
. "$ZAPRET_BASE/common/fwtype.sh"
|
. "$ZAPRET_BASE/common/fwtype.sh"
|
||||||
. "$ZAPRET_BASE/common/virt.sh"
|
. "$ZAPRET_BASE/common/virt.sh"
|
||||||
|
|
||||||
|
DOMAINS_DEFAULT="rutracker.org"
|
||||||
QNUM=${QNUM:-59780}
|
QNUM=${QNUM:-59780}
|
||||||
SOCKS_PORT=${SOCKS_PORT:-1993}
|
SOCKS_PORT=${SOCKS_PORT:-1993}
|
||||||
TPWS_UID=${TPWS_UID:-1}
|
TPWS_UID=${TPWS_UID:-1}
|
||||||
@ -35,7 +36,6 @@ MDIG=${MDIG:-${ZAPRET_BASE}/mdig/mdig}
|
|||||||
DESYNC_MARK=0x10000000
|
DESYNC_MARK=0x10000000
|
||||||
IPFW_RULE_NUM=${IPFW_RULE_NUM:-1}
|
IPFW_RULE_NUM=${IPFW_RULE_NUM:-1}
|
||||||
IPFW_DIVERT_PORT=${IPFW_DIVERT_PORT:-59780}
|
IPFW_DIVERT_PORT=${IPFW_DIVERT_PORT:-59780}
|
||||||
DOMAINS=${DOMAINS:-rutracker.org}
|
|
||||||
CURL_MAX_TIME=${CURL_MAX_TIME:-2}
|
CURL_MAX_TIME=${CURL_MAX_TIME:-2}
|
||||||
CURL_MAX_TIME_QUIC=${CURL_MAX_TIME_QUIC:-$CURL_MAX_TIME}
|
CURL_MAX_TIME_QUIC=${CURL_MAX_TIME_QUIC:-$CURL_MAX_TIME}
|
||||||
MIN_TTL=${MIN_TTL:-1}
|
MIN_TTL=${MIN_TTL:-1}
|
||||||
@ -45,8 +45,9 @@ HTTP_PORT=${HTTP_PORT:-80}
|
|||||||
HTTPS_PORT=${HTTPS_PORT:-443}
|
HTTPS_PORT=${HTTPS_PORT:-443}
|
||||||
QUIC_PORT=${QUIC_PORT:-443}
|
QUIC_PORT=${QUIC_PORT:-443}
|
||||||
UNBLOCKED_DOM=${UNBLOCKED_DOM:-iana.org}
|
UNBLOCKED_DOM=${UNBLOCKED_DOM:-iana.org}
|
||||||
|
PARALLEL_OUT=/tmp/zapret_parallel
|
||||||
|
|
||||||
HDRTEMP=/tmp/zapret-hdr.txt
|
HDRTEMP=/tmp/zapret-hdr
|
||||||
|
|
||||||
NFT_TABLE=blockcheck
|
NFT_TABLE=blockcheck
|
||||||
|
|
||||||
@ -77,9 +78,11 @@ exitp()
|
|||||||
{
|
{
|
||||||
local A
|
local A
|
||||||
|
|
||||||
|
[ "$BATCH" = 1 ] || {
|
||||||
echo
|
echo
|
||||||
echo press enter to continue
|
echo press enter to continue
|
||||||
read A
|
read A
|
||||||
|
}
|
||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -560,7 +563,7 @@ curl_supports_tls13()
|
|||||||
[ $? = 2 ] && return 1
|
[ $? = 2 ] && return 1
|
||||||
# curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
|
# curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
|
||||||
# this is online test because there's no other way to trigger library incompatibility case
|
# this is online test because there's no other way to trigger library incompatibility case
|
||||||
$CURL --tlsv1.3 --max-time $CURL_MAX_TIME -Is -o /dev/null https://iana.org 2>/dev/null
|
$CURL --tlsv1.3 --max-time 1 -Is -o /dev/null https://iana.org 2>/dev/null
|
||||||
r=$?
|
r=$?
|
||||||
[ $r != 4 -a $r != 35 ]
|
[ $r != 4 -a $r != 35 ]
|
||||||
}
|
}
|
||||||
@ -651,28 +654,28 @@ curl_test_http()
|
|||||||
# $3 - subst ip
|
# $3 - subst ip
|
||||||
# $4 - "detail" - detail info
|
# $4 - "detail" - detail info
|
||||||
|
|
||||||
local code loc
|
local code loc hdrt="${HDRTEMP}_${!:-$$}.txt"
|
||||||
curl_probe $1 $2 $HTTP_PORT "$3" -SsD "$HDRTEMP" -A "$USER_AGENT" --max-time $CURL_MAX_TIME $CURL_OPT "http://$2" -o /dev/null 2>&1 || {
|
curl_probe $1 $2 $HTTP_PORT "$3" -SsD "$hdrt" -A "$USER_AGENT" --max-time $CURL_MAX_TIME $CURL_OPT "http://$2" -o /dev/null 2>&1 || {
|
||||||
code=$?
|
code=$?
|
||||||
rm -f "$HDRTEMP"
|
rm -f "$hdrt"
|
||||||
return $code
|
return $code
|
||||||
}
|
}
|
||||||
if [ "$4" = "detail" ] ; then
|
if [ "$4" = "detail" ] ; then
|
||||||
head -n 1 "$HDRTEMP"
|
head -n 1 "$hdrt"
|
||||||
grep "^[lL]ocation:" "$HDRTEMP"
|
grep "^[lL]ocation:" "$hdrt"
|
||||||
else
|
else
|
||||||
code=$(hdrfile_http_code "$HDRTEMP")
|
code=$(hdrfile_http_code "$hdrt")
|
||||||
[ "$code" = 301 -o "$code" = 302 -o "$code" = 307 -o "$code" = 308 ] && {
|
[ "$code" = 301 -o "$code" = 302 -o "$code" = 307 -o "$code" = 308 ] && {
|
||||||
loc=$(hdrfile_location "$HDRTEMP")
|
loc=$(hdrfile_location "$hdrt")
|
||||||
echo "$loc" | grep -qE "^https?://.*$2(/|$)" ||
|
echo "$loc" | grep -qE "^https?://.*$2(/|$)" ||
|
||||||
echo "$loc" | grep -vqE '^https?://' || {
|
echo "$loc" | grep -vqE '^https?://' || {
|
||||||
echo suspicious redirection $code to : $loc
|
echo suspicious redirection $code to : $loc
|
||||||
rm -f "$HDRTEMP"
|
rm -f "$hdrt"
|
||||||
return 254
|
return 254
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
rm -f "$HDRTEMP"
|
rm -f "$hdrt"
|
||||||
[ "$code" = 400 ] && {
|
[ "$code" = 400 ] && {
|
||||||
# this can often happen if the server receives fake packets it should not receive
|
# this can often happen if the server receives fake packets it should not receive
|
||||||
echo http code $code. likely the server receives fakes.
|
echo http code $code. likely the server receives fakes.
|
||||||
@ -964,8 +967,27 @@ curl_test()
|
|||||||
# $2 - domain
|
# $2 - domain
|
||||||
# $3 - subst ip
|
# $3 - subst ip
|
||||||
# $4 - param of test function
|
# $4 - param of test function
|
||||||
local code=0 n=0
|
local code=0 n=0 p pids
|
||||||
|
|
||||||
|
if [ "$PARALLEL" = 1 ]; then
|
||||||
|
rm -f "${PARALLEL_OUT}"*
|
||||||
|
for n in $(seq -s ' ' 1 $REPEATS); do
|
||||||
|
$1 "$IPV" $2 $3 "$4" >"${PARALLEL_OUT}_$n" &
|
||||||
|
pids=${pids:+$pids }$!
|
||||||
|
done
|
||||||
|
n=1
|
||||||
|
for p in $pids; do
|
||||||
|
[ $REPEATS -gt 1 ] && printf "[attempt $n] "
|
||||||
|
if wait $p; then
|
||||||
|
[ $REPEATS -gt 1 ] && echo 'AVAILABLE'
|
||||||
|
else
|
||||||
|
code=$?
|
||||||
|
cat "${PARALLEL_OUT}_$n"
|
||||||
|
fi
|
||||||
|
n=$(($n+1))
|
||||||
|
done
|
||||||
|
rm -f "${PARALLEL_OUT}"*
|
||||||
|
else
|
||||||
while [ $n -lt $REPEATS ]; do
|
while [ $n -lt $REPEATS ]; do
|
||||||
n=$(($n+1))
|
n=$(($n+1))
|
||||||
[ $REPEATS -gt 1 ] && printf "[attempt $n] "
|
[ $REPEATS -gt 1 ] && printf "[attempt $n] "
|
||||||
@ -976,6 +998,7 @@ curl_test()
|
|||||||
[ "$SCANLEVEL" = quick ] && break
|
[ "$SCANLEVEL" = quick ] && break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
[ "$4" = detail ] || {
|
[ "$4" = detail ] || {
|
||||||
if [ $code = 254 ]; then
|
if [ $code = 254 ]; then
|
||||||
echo "UNAVAILABLE"
|
echo "UNAVAILABLE"
|
||||||
@ -1707,14 +1730,17 @@ ask_params()
|
|||||||
exitp 1
|
exitp 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local dom
|
||||||
|
[ -n "$DOMAINS" ] || {
|
||||||
|
DOMAINS="$DOMAINS_DEFAULT"
|
||||||
echo "specify domain(s) to test. multiple domains are space separated."
|
echo "specify domain(s) to test. multiple domains are space separated."
|
||||||
printf "domain(s) (default: $DOMAINS) : "
|
printf "domain(s) (default: $DOMAINS) : "
|
||||||
local dom
|
|
||||||
read dom
|
read dom
|
||||||
[ -n "$dom" ] && DOMAINS="$dom"
|
[ -n "$dom" ] && DOMAINS="$dom"
|
||||||
|
}
|
||||||
|
|
||||||
local IPVS_def=4
|
local IPVS_def=4
|
||||||
|
[ -n "$IPVS" ] || {
|
||||||
# yandex public dns
|
# yandex public dns
|
||||||
pingtest 6 2a02:6b8::feed:0ff && IPVS_def=46
|
pingtest 6 2a02:6b8::feed:0ff && IPVS_def=46
|
||||||
printf "ip protocol version(s) - 4, 6 or 46 for both (default: $IPVS_def) : "
|
printf "ip protocol version(s) - 4, 6 or 46 for both (default: $IPVS_def) : "
|
||||||
@ -1724,18 +1750,24 @@ ask_params()
|
|||||||
echo 'invalid ip version(s). should be 4, 6 or 46.'
|
echo 'invalid ip version(s). should be 4, 6 or 46.'
|
||||||
exitp 1
|
exitp 1
|
||||||
}
|
}
|
||||||
|
}
|
||||||
[ "$IPVS" = 46 ] && IPVS="4 6"
|
[ "$IPVS" = 46 ] && IPVS="4 6"
|
||||||
|
|
||||||
configure_curl_opt
|
configure_curl_opt
|
||||||
|
|
||||||
|
[ -n "$ENABLE_HTTP" ] || {
|
||||||
ENABLE_HTTP=1
|
ENABLE_HTTP=1
|
||||||
echo
|
echo
|
||||||
ask_yes_no_var ENABLE_HTTP "check http"
|
ask_yes_no_var ENABLE_HTTP "check http"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$ENABLE_HTTPS_TLS12" ] || {
|
||||||
ENABLE_HTTPS_TLS12=1
|
ENABLE_HTTPS_TLS12=1
|
||||||
echo
|
echo
|
||||||
ask_yes_no_var ENABLE_HTTPS_TLS12 "check https tls 1.2"
|
ask_yes_no_var ENABLE_HTTPS_TLS12 "check https tls 1.2"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$ENABLE_HTTPS_TLS13" ] || {
|
||||||
ENABLE_HTTPS_TLS13=0
|
ENABLE_HTTPS_TLS13=0
|
||||||
echo
|
echo
|
||||||
if [ -n "$TLS13" ]; then
|
if [ -n "$TLS13" ]; then
|
||||||
@ -1748,7 +1780,9 @@ ask_params()
|
|||||||
else
|
else
|
||||||
echo "installed curl version does not support TLS 1.3 . tests disabled."
|
echo "installed curl version does not support TLS 1.3 . tests disabled."
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$ENABLE_HTTP3" ] || {
|
||||||
ENABLE_HTTP3=0
|
ENABLE_HTTP3=0
|
||||||
echo
|
echo
|
||||||
if [ -n "$HTTP3" ]; then
|
if [ -n "$HTTP3" ]; then
|
||||||
@ -1758,7 +1792,9 @@ ask_params()
|
|||||||
else
|
else
|
||||||
echo "installed curl version does not support http3 QUIC. tests disabled."
|
echo "installed curl version does not support http3 QUIC. tests disabled."
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$REPEATS" ] || {
|
||||||
echo
|
echo
|
||||||
echo "sometimes ISPs use multiple DPIs or load balancing. bypass strategies may work unstable."
|
echo "sometimes ISPs use multiple DPIs or load balancing. bypass strategies may work unstable."
|
||||||
printf "how many times to repeat each test (default: 1) : "
|
printf "how many times to repeat each test (default: 1) : "
|
||||||
@ -1768,7 +1804,16 @@ ask_params()
|
|||||||
echo invalid repeat count
|
echo invalid repeat count
|
||||||
exitp 1
|
exitp 1
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
[ -z "$PARALLEL" -a $REPEATS -gt 1 ] && {
|
||||||
|
echo
|
||||||
|
echo "parallel scan can greatly increase speed but may also trigger DDoS protection and cause false result"
|
||||||
|
PARALLEL=0
|
||||||
|
ask_yes_no_var PARALLEL "enable parallel scan"
|
||||||
|
}
|
||||||
|
PARALLEL=${PARALLEL:-0}
|
||||||
|
|
||||||
|
[ -n "$SCANLEVEL" ] || {
|
||||||
echo
|
echo
|
||||||
echo quick - scan as fast as possible to reveal any working strategy
|
echo quick - scan as fast as possible to reveal any working strategy
|
||||||
echo standard - do investigation what works on your DPI
|
echo standard - do investigation what works on your DPI
|
||||||
@ -1777,6 +1822,7 @@ ask_params()
|
|||||||
ask_list SCANLEVEL "quick standard force" "$SCANLEVEL"
|
ask_list SCANLEVEL "quick standard force" "$SCANLEVEL"
|
||||||
# disable tpws checks by default in quick mode
|
# disable tpws checks by default in quick mode
|
||||||
[ "$SCANLEVEL" = quick -a -z "$SKIP_TPWS" -a "$UNAME" != Darwin ] && SKIP_TPWS=1
|
[ "$SCANLEVEL" = quick -a -z "$SKIP_TPWS" -a "$UNAME" != Darwin ] && SKIP_TPWS=1
|
||||||
|
}
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@ -1981,14 +2027,14 @@ check_dns()
|
|||||||
unprepare_all()
|
unprepare_all()
|
||||||
{
|
{
|
||||||
# make sure we are not in a middle state that impacts connectivity
|
# make sure we are not in a middle state that impacts connectivity
|
||||||
rm -f "$HDRTEMP"
|
ws_kill
|
||||||
[ -n "$IPV" ] && {
|
[ -n "$IPV" ] && {
|
||||||
pktws_ipt_unprepare_tcp 80
|
pktws_ipt_unprepare_tcp 80
|
||||||
pktws_ipt_unprepare_tcp 443
|
pktws_ipt_unprepare_tcp 443
|
||||||
pktws_ipt_unprepare_udp 443
|
pktws_ipt_unprepare_udp 443
|
||||||
}
|
}
|
||||||
ws_kill
|
|
||||||
cleanup
|
cleanup
|
||||||
|
rm -f "${HDRTEMP}"* "${PARALLEL_OUT}"*
|
||||||
}
|
}
|
||||||
sigint()
|
sigint()
|
||||||
{
|
{
|
||||||
|
@ -440,4 +440,9 @@ v69.9
|
|||||||
init.d: exclude ipban from tpws redirection
|
init.d: exclude ipban from tpws redirection
|
||||||
macos: fix install_easy
|
macos: fix install_easy
|
||||||
macos: fix national decimal separator in sleep
|
macos: fix national decimal separator in sleep
|
||||||
nfqws: apply relative markers to partial TLS ClientHello
|
ipset: scripts maintenance
|
||||||
|
|
||||||
|
v70
|
||||||
|
|
||||||
|
blockcheck: override all dialog questions and enable batch mode
|
||||||
|
blockcheck: parallel attempts
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# zapret v69.9
|
# zapret v70
|
||||||
|
|
||||||
# SCAMMER WARNING
|
# SCAMMER WARNING
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# zapret v69.9
|
# zapret v70
|
||||||
|
|
||||||
# ВНИМАНИЕ, остерегайтесь мошенников
|
# ВНИМАНИЕ, остерегайтесь мошенников
|
||||||
|
|
||||||
@ -1430,6 +1430,15 @@ CURL_MAX_TIME_QUIC - время таймаута curl для quic. если не
|
|||||||
CURL_CMD=1 - показывать команды curl
|
CURL_CMD=1 - показывать команды curl
|
||||||
CURL_OPT - дополнительные параметры curl. `-k` - игнор сертификатов. `-v` - подробный вывод протокола
|
CURL_OPT - дополнительные параметры curl. `-k` - игнор сертификатов. `-v` - подробный вывод протокола
|
||||||
DOMAINS - список тестируемых доменов через пробел
|
DOMAINS - список тестируемых доменов через пробел
|
||||||
|
IPVS=4|6|46 - тестируемые версии ip протокола
|
||||||
|
ENABLE_HTTP=0|1 - включить тест plain http
|
||||||
|
ENABLE_HTTPS_TLS12=0|1 - включить тест https TLS 1.2
|
||||||
|
ENABLE_HTTPS_TLS13=0|1 - включить тест https TLS 1.3
|
||||||
|
ENABLE_HTTP3=0|1 - включить тест QUIC
|
||||||
|
REPEATS - количество попыток тестирования
|
||||||
|
PARALLEL=0|1 - включить параллельные попытки. может обидеть сайт из-за долбежки и привести к неверному результату
|
||||||
|
SCANLEVEL=quick|standard|force - уровень сканирования
|
||||||
|
BATCH=1 - отключить "press enter to continue"
|
||||||
HTTP_PORT, HTTPS_PORT, QUIC_PORT - номера портов для соответствующих протоколов
|
HTTP_PORT, HTTPS_PORT, QUIC_PORT - номера портов для соответствующих протоколов
|
||||||
SKIP_DNSCHECK=1 - отказ от проверки DNS
|
SKIP_DNSCHECK=1 - отказ от проверки DNS
|
||||||
SKIP_TPWS=1 - отказ от тестов tpws
|
SKIP_TPWS=1 - отказ от тестов tpws
|
||||||
@ -2250,39 +2259,39 @@ Openwrt является одной из немногих относительн
|
|||||||
|
|
||||||
## Почему стоит вложиться в покупку VPS
|
## Почему стоит вложиться в покупку VPS
|
||||||
|
|
||||||
VPS - это виртуальный сервер. Существует огромное множество датацентров, предлагающих данную услугу.
|
VPS — это виртуальный сервер. Существует огромное множество датацентров, предлагающих данную услугу.
|
||||||
На VPS могут выполняться какие угодно задачи. От простого веб сайта до навороченной системы собственной разработки.
|
На VPS могут выполняться какие угодно задачи. От простого веб-сайта до навороченной системы собственной разработки.
|
||||||
Можно использовать VPS и для поднятия собственного vpn или прокси.
|
Можно использовать VPS и для поднятия собственного VPN или прокси.
|
||||||
Сама широта возможных способов применения, распространенность услуги сводят к минимуму возможности
|
Сама широта возможных способов применения и распространенность услуги сводят к минимуму возможности
|
||||||
регуляторов по бану сервисов такого типа. Да, если введут белые списки, то решение загнется, но это будет уже другая
|
регуляторов по бану сервисов такого типа. Да, если введут белые списки, то решение загнется, но это будет уже другая
|
||||||
реальность, в которой придется изобретать иные решения.
|
реальность, в которой придется изобретать иные решения.
|
||||||
Пока этого не сделали, никто не будет банить хостинги просто потому, что они предоставляют хостинг услуги.
|
Пока этого не сделали, никто не будет банить хостинги просто потому, что они предоставляют хостинг услуги.
|
||||||
Вы как индивидуум скорее всего никому не нужны. Подумайте чем вы отличаетесь от известного VPN провайдера.
|
Вы, как индивидуум, скорее всего, никому не нужны. Подумайте чем вы отличаетесь от известного VPN провайдера.
|
||||||
VPN провайдер предоставляет _простую_ и _доступную_ услугу по обходу блокировок для масс.
|
VPN-провайдер предоставляет _простую_ и _доступную_ услугу по обходу блокировок для масс.
|
||||||
Этот факт делает его первоочередной целью блокировки. РКН направит уведомление, после отказа сотрудничать
|
Этот факт делает его первоочередной целью блокировки. РКН направит уведомление, после отказа сотрудничать
|
||||||
заблокирует VPN. Предоплаченная сумма пропадет.
|
заблокирует VPN. Предоплаченная сумма пропадет.
|
||||||
У регуляторов нет и никогда не будет ресурсов для тотальной проверки каждого сервера в сети.
|
У регуляторов нет и никогда не будет ресурсов для тотальной проверки каждого сервера в сети.
|
||||||
Возможен китайский расклад, при котором DPI выявляет vpn протоколы и динамически банит IP серверов,
|
Возможен китайский расклад, при котором DPI выявляет VPN-протоколы и динамически банит IP серверов,
|
||||||
предоставляющих нелицензированный VPN. Но имея знания, голову, вы всегда можете обфусцировать
|
предоставляющих нелицензированный VPN. Но имея знания, голову, вы всегда можете обфусцировать
|
||||||
vpn трафик или применить другие типы VPN, более устойчивые к анализу на DPI или просто менее широкоизвестные,
|
VPN трафик или применить другие типы VPN, более устойчивые к анализу на DPI, или просто менее широкоизвестные,
|
||||||
а следовательно с меньшей вероятностью обнаруживаемые регулятором.
|
а следовательно с меньшей вероятностью обнаруживаемые регулятором.
|
||||||
У вас есть свобода делать на вашем VPS все что вы захотите, адаптируясь к новым условиям.
|
У вас есть свобода делать на вашем VPS все что вы захотите, адаптируясь к новым условиям.
|
||||||
Да, это потребует знаний. Вам выбирать учиться и держать ситуацию под контролем, когда вам ничего запретить
|
Да, это потребует знаний. Вам выбирать учиться и держать ситуацию под контролем, когда вам ничего запретить
|
||||||
не могут, или покориться системе.
|
не могут, или покориться системе.
|
||||||
|
|
||||||
VPS можно прибрести в множестве мест. Существуют специализированные на поиске предложений VPS порталы.\
|
VPS можно приобрести в множестве мест. Существуют специализированные на поиске предложений VPS порталы.\
|
||||||
Например, [вот этот](https://vps.today).
|
Например, [вот этот](https://vps.today).
|
||||||
Для персонального VPN сервера обычно достаточно самой минимальной конфигурации, но с безлимитным трафиком или
|
Для персонального VPN сервера обычно достаточно самой минимальной конфигурации, но с безлимитным трафиком или
|
||||||
с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но
|
с большим лимитом по трафику (терабайты). Важен и тип VPS. OpenVZ подойдёт для OpenVPN, но
|
||||||
вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode.
|
вы не поднимете на нем WireGuard, IPsec, то есть все, что требует kernel mode.
|
||||||
Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux
|
Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux
|
||||||
вместе с ядром. Подойдут kvm, xen, hyper-v, vmware.
|
вместе с ядром. Подойдут KVM, Xen, Hyper-V, VMware.
|
||||||
|
|
||||||
По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке
|
По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке
|
||||||
и не рискуете попасть под бан регулятора, разве что "заодно" под ковровую бомбардировку с баном миллионов IP.
|
и не рискуете попасть под бан регулятора, разве что «заодно» — под ковровую бомбардировку с баном миллионов IP.
|
||||||
Кроме того, если вам совсем все кажется сложным, прочитанное вызывает ступор и вы точно знаете, что ничего
|
Кроме того, если вам совсем все кажется сложным, прочитанное вызывает ступор и вы точно знаете, что ничего
|
||||||
из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов ssh
|
из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов SSH
|
||||||
для получения шифрованного socks proxy и прописать его в броузер. Знания linux не нужны совсем.
|
для получения шифрованного SOCKS-прокси и прописать его в браузер. Знания linux не нужны совсем.
|
||||||
Это вариант наименее напряжный для чайников, хотя и не самый удобный в использовании.
|
Это вариант наименее напряжный для чайников, хотя и не самый удобный в использовании.
|
||||||
|
|
||||||
## Поддержать разработчика
|
## Поддержать разработчика
|
||||||
|
Loading…
x
Reference in New Issue
Block a user