Compare commits
5 Commits
v71.202506
...
v71.202509
| Author | SHA1 | Date | |
|---|---|---|---|
| 7941f12c63 | |||
| 81f4b493f6 | |||
| bd2e62c8a6 | |||
| caa82938c1 | |||
| b1fd577bd1 |
@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-zapret
|
PKG_NAME:=luci-app-zapret
|
||||||
PKG_VERSION:=71.20250607
|
PKG_VERSION:=71.20250918
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_MAINTAINER:=remittor <https://github.com/remittor>
|
PKG_MAINTAINER:=remittor <https://github.com/remittor>
|
||||||
|
|
||||||
|
|||||||
@ -168,6 +168,11 @@ return view.extend({
|
|||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
o.datatype = 'string';
|
o.datatype = 'string';
|
||||||
|
|
||||||
|
o = s.taboption(tabname, form.Value, 'FILTER_MARK', _('FILTER_MARK'));
|
||||||
|
o.rmempty = false;
|
||||||
|
o.validate = function(section_id, value) { return true; };
|
||||||
|
o.write = function(section_id, value) { return form.Value.prototype.write.call(this, section_id, (value == null || value.trim() == '') ? "\t" : value.trim()); };
|
||||||
|
|
||||||
o = s.taboption(tabname, form.Value, 'NFQWS_PORTS_TCP', _('NFQWS_PORTS_TCP'));
|
o = s.taboption(tabname, form.Value, 'NFQWS_PORTS_TCP', _('NFQWS_PORTS_TCP'));
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
o.datatype = 'string';
|
o.datatype = 'string';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=zapret-ip2net
|
PKG_NAME:=zapret-ip2net
|
||||||
PKG_VERSION:=71.20250607
|
PKG_VERSION:=71.20250918
|
||||||
|
|
||||||
PKG_MAINTAINER:=bol-van
|
PKG_MAINTAINER:=bol-van
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
@ -9,8 +9,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=f3d48b7160f5e257edf0adb302878488d4955095
|
PKG_SOURCE_VERSION:=06e7818240a861809a1981155981fef3f0fc4737
|
||||||
PKG_SOURCE_DATE:=2025-06-07
|
PKG_SOURCE_DATE:=2025-09-18
|
||||||
|
|
||||||
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=zapret-mdig
|
PKG_NAME:=zapret-mdig
|
||||||
PKG_VERSION:=71.20250607
|
PKG_VERSION:=71.20250918
|
||||||
|
|
||||||
PKG_MAINTAINER:=bol-van
|
PKG_MAINTAINER:=bol-van
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
@ -9,8 +9,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=f3d48b7160f5e257edf0adb302878488d4955095
|
PKG_SOURCE_VERSION:=06e7818240a861809a1981155981fef3f0fc4737
|
||||||
PKG_SOURCE_DATE:=2025-06-07
|
PKG_SOURCE_DATE:=2025-09-18
|
||||||
|
|
||||||
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=zapret-tpws
|
PKG_NAME:=zapret-tpws
|
||||||
PKG_VERSION:=71.20250607
|
PKG_VERSION:=71.20250918
|
||||||
|
|
||||||
PKG_MAINTAINER:=bol-van
|
PKG_MAINTAINER:=bol-van
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
@ -9,8 +9,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=f3d48b7160f5e257edf0adb302878488d4955095
|
PKG_SOURCE_VERSION:=06e7818240a861809a1981155981fef3f0fc4737
|
||||||
PKG_SOURCE_DATE:=2025-06-07
|
PKG_SOURCE_DATE:=2025-09-18
|
||||||
|
|
||||||
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=zapret
|
PKG_NAME:=zapret
|
||||||
PKG_VERSION:=71.20250607
|
PKG_VERSION:=71.20250918
|
||||||
|
|
||||||
PKG_MAINTAINER:=bol-van
|
PKG_MAINTAINER:=bol-van
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
@ -13,8 +13,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
PKG_SOURCE_URL:=https://github.com/bol-van/zapret.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=f3d48b7160f5e257edf0adb302878488d4955095
|
PKG_SOURCE_VERSION:=06e7818240a861809a1981155981fef3f0fc4737
|
||||||
PKG_SOURCE_DATE:=2025-06-07
|
PKG_SOURCE_DATE:=2025-09-18
|
||||||
|
|
||||||
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
||||||
|
|||||||
@ -56,6 +56,13 @@ DESYNC_MARK=0x40000000
|
|||||||
DESYNC_MARK_POSTNAT=0x20000000
|
DESYNC_MARK_POSTNAT=0x20000000
|
||||||
|
|
||||||
|
|
||||||
|
# do not pass outgoing traffic to tpws/nfqws not marked with this bit
|
||||||
|
# this setting allows to write your own rules to limit traffic that should be fooled
|
||||||
|
# for example based on source IP or incoming interface name
|
||||||
|
# no filter if not defined
|
||||||
|
FILTER_MARK=""
|
||||||
|
|
||||||
|
|
||||||
TPWS_SOCKS_ENABLE=0
|
TPWS_SOCKS_ENABLE=0
|
||||||
# tpws socks listens on this port on localhost and LAN interfaces
|
# tpws socks listens on this port on localhost and LAN interfaces
|
||||||
TPPORT_SOCKS=987
|
TPPORT_SOCKS=987
|
||||||
@ -96,7 +103,7 @@ NFQWS_PORTS_UDP_KEEPALIVE=""
|
|||||||
# use <HOSTLIST> and <HOSTLIST_NOAUTO> placeholders to engage standard hostlists and autohostlist in ipset dir
|
# use <HOSTLIST> and <HOSTLIST_NOAUTO> placeholders to engage standard hostlists and autohostlist in ipset dir
|
||||||
# hostlist markers are replaced to empty string if MODE_FILTER does not satisfy
|
# hostlist markers are replaced to empty string if MODE_FILTER does not satisfy
|
||||||
# <HOSTLIST_NOAUTO> appends ipset/zapret-hosts-auto.txt as normal list
|
# <HOSTLIST_NOAUTO> appends ipset/zapret-hosts-auto.txt as normal list
|
||||||
NFQWS_OPT="--filter-tcp=80 <HOSTLIST> --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new --filter-tcp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --new --filter-udp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new --filter-udp=443 <HOSTLIST_NOAUTO> --dpi-desync=fake --dpi-desync-repeats=11 --new --filter-tcp=443 <HOSTLIST> --dpi-desync=fake,multidisorder --dpi-desync-split-pos=midsld --dpi-desync-repeats=6 --dpi-desync-fooling=badseq,md5sig"
|
NFQWS_OPT="--filter-tcp=80 <HOSTLIST> --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=badsum --new --filter-tcp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badsum --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new --filter-udp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new --filter-udp=443 <HOSTLIST_NOAUTO> --dpi-desync=fake --dpi-desync-repeats=11 --new --filter-tcp=443 <HOSTLIST> --dpi-desync=multidisorder --dpi-desync-split-pos=1,sniext+1,host+1,midsld-2,midsld,midsld+2,endhost-1"
|
||||||
|
|
||||||
|
|
||||||
DISABLE_CUSTOM=0
|
DISABLE_CUSTOM=0
|
||||||
|
|||||||
@ -29,6 +29,7 @@ function set_cfg_default_values
|
|||||||
set $cfgname.config.NFQWS_ENABLE='1'
|
set $cfgname.config.NFQWS_ENABLE='1'
|
||||||
set $cfgname.config.DESYNC_MARK='0x40000000'
|
set $cfgname.config.DESYNC_MARK='0x40000000'
|
||||||
set $cfgname.config.DESYNC_MARK_POSTNAT='0x20000000'
|
set $cfgname.config.DESYNC_MARK_POSTNAT='0x20000000'
|
||||||
|
set $cfgname.config.FILTER_MARK='$TAB'
|
||||||
set $cfgname.config.NFQWS_PORTS_TCP='80,443'
|
set $cfgname.config.NFQWS_PORTS_TCP='80,443'
|
||||||
set $cfgname.config.NFQWS_PORTS_UDP='443'
|
set $cfgname.config.NFQWS_PORTS_UDP='443'
|
||||||
set $cfgname.config.NFQWS_TCP_PKT_OUT='9'
|
set $cfgname.config.NFQWS_TCP_PKT_OUT='9'
|
||||||
@ -41,14 +42,14 @@ function set_cfg_default_values
|
|||||||
--filter-tcp=80 <HOSTLIST>
|
--filter-tcp=80 <HOSTLIST>
|
||||||
--dpi-desync=fake,fakedsplit
|
--dpi-desync=fake,fakedsplit
|
||||||
--dpi-desync-autottl=2
|
--dpi-desync-autottl=2
|
||||||
--dpi-desync-fooling=md5sig
|
--dpi-desync-fooling=badsum
|
||||||
--new
|
--new
|
||||||
--filter-tcp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
|
--filter-tcp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
|
||||||
--dpi-desync=fake,multidisorder
|
--dpi-desync=fake,multidisorder
|
||||||
--dpi-desync-split-pos=1,midsld
|
--dpi-desync-split-pos=1,midsld
|
||||||
--dpi-desync-repeats=11
|
--dpi-desync-repeats=11
|
||||||
--dpi-desync-fooling=md5sig
|
--dpi-desync-fooling=badsum
|
||||||
--dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin
|
--dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com
|
||||||
--new
|
--new
|
||||||
--filter-udp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
|
--filter-udp=443 --hostlist=/opt/zapret/ipset/zapret-hosts-google.txt
|
||||||
--dpi-desync=fake
|
--dpi-desync=fake
|
||||||
@ -60,10 +61,8 @@ function set_cfg_default_values
|
|||||||
--dpi-desync-repeats=11
|
--dpi-desync-repeats=11
|
||||||
--new
|
--new
|
||||||
--filter-tcp=443 <HOSTLIST>
|
--filter-tcp=443 <HOSTLIST>
|
||||||
--dpi-desync=fake,multidisorder
|
--dpi-desync=multidisorder
|
||||||
--dpi-desync-split-pos=midsld
|
--dpi-desync-split-pos=1,sniext+1,host+1,midsld-2,midsld,midsld+2,endhost-1
|
||||||
--dpi-desync-repeats=6
|
|
||||||
--dpi-desync-fooling=badseq,md5sig
|
|
||||||
"
|
"
|
||||||
# save changes
|
# save changes
|
||||||
commit $cfgname
|
commit $cfgname
|
||||||
|
|||||||
@ -11,3 +11,168 @@ youtube-nocookie.com
|
|||||||
youtube-ui.l.google.com
|
youtube-ui.l.google.com
|
||||||
yt-video-upload.l.google.com
|
yt-video-upload.l.google.com
|
||||||
wide-youtube.l.google.com
|
wide-youtube.l.google.com
|
||||||
|
youtu.be
|
||||||
|
youtube.googleapis.com
|
||||||
|
yt.be
|
||||||
|
withyoutube.com
|
||||||
|
youtubeeducation.com
|
||||||
|
youtubefanfest.com
|
||||||
|
youtubegaming.com
|
||||||
|
youtubekids.com
|
||||||
|
youtubemobilesupport.com
|
||||||
|
youtube.ae
|
||||||
|
youtube.al
|
||||||
|
youtube.am
|
||||||
|
youtube.at
|
||||||
|
youtube.az
|
||||||
|
youtube.ba
|
||||||
|
youtube.be
|
||||||
|
youtube.bg
|
||||||
|
youtube.bh
|
||||||
|
youtube.bo
|
||||||
|
youtube.by
|
||||||
|
youtube.ca
|
||||||
|
youtube.cat
|
||||||
|
youtube.ch
|
||||||
|
youtube.cl
|
||||||
|
youtube.co
|
||||||
|
youtube.co.ae
|
||||||
|
youtube.co.at
|
||||||
|
youtube.co.cr
|
||||||
|
youtube.co.hu
|
||||||
|
youtube.co.id
|
||||||
|
youtube.co.il
|
||||||
|
youtube.co.in
|
||||||
|
youtube.co.jp
|
||||||
|
youtube.co.ke
|
||||||
|
youtube.co.kr
|
||||||
|
youtube.co.ma
|
||||||
|
youtube.co.nz
|
||||||
|
youtube.co.th
|
||||||
|
youtube.co.tz
|
||||||
|
youtube.co.ug
|
||||||
|
youtube.co.uk
|
||||||
|
youtube.co.ve
|
||||||
|
youtube.co.za
|
||||||
|
youtube.co.zw
|
||||||
|
youtube.com.ar
|
||||||
|
youtube.com.au
|
||||||
|
youtube.com.az
|
||||||
|
youtube.com.bd
|
||||||
|
youtube.com.bh
|
||||||
|
youtube.com.bo
|
||||||
|
youtube.com.br
|
||||||
|
youtube.com.by
|
||||||
|
youtube.com.co
|
||||||
|
youtube.com.do
|
||||||
|
youtube.com.ec
|
||||||
|
youtube.com.ee
|
||||||
|
youtube.com.eg
|
||||||
|
youtube.com.es
|
||||||
|
youtube.com.gh
|
||||||
|
youtube.com.gr
|
||||||
|
youtube.com.gt
|
||||||
|
youtube.com.hk
|
||||||
|
youtube.com.hn
|
||||||
|
youtube.com.hr
|
||||||
|
youtube.com.jm
|
||||||
|
youtube.com.jo
|
||||||
|
youtube.com.kw
|
||||||
|
youtube.com.lb
|
||||||
|
youtube.com.lv
|
||||||
|
youtube.com.ly
|
||||||
|
youtube.com.mk
|
||||||
|
youtube.com.mt
|
||||||
|
youtube.com.mx
|
||||||
|
youtube.com.my
|
||||||
|
youtube.com.ng
|
||||||
|
youtube.com.ni
|
||||||
|
youtube.com.om
|
||||||
|
youtube.com.pa
|
||||||
|
youtube.com.pe
|
||||||
|
youtube.com.ph
|
||||||
|
youtube.com.pk
|
||||||
|
youtube.com.pt
|
||||||
|
youtube.com.py
|
||||||
|
youtube.com.qa
|
||||||
|
youtube.com.ro
|
||||||
|
youtube.com.sa
|
||||||
|
youtube.com.sg
|
||||||
|
youtube.com.sv
|
||||||
|
youtube.com.tn
|
||||||
|
youtube.com.tr
|
||||||
|
youtube.com.tw
|
||||||
|
youtube.com.ua
|
||||||
|
youtube.com.uy
|
||||||
|
youtube.com.ve
|
||||||
|
youtube.cr
|
||||||
|
youtube.cz
|
||||||
|
youtube.de
|
||||||
|
youtube.dk
|
||||||
|
youtube.ee
|
||||||
|
youtube.es
|
||||||
|
youtube.fi
|
||||||
|
youtube.fr
|
||||||
|
youtube.ge
|
||||||
|
youtube.gr
|
||||||
|
youtube.gt
|
||||||
|
youtube.hk
|
||||||
|
youtube.hr
|
||||||
|
youtube.hu
|
||||||
|
youtube.ie
|
||||||
|
youtube.in
|
||||||
|
youtube.iq
|
||||||
|
youtube.is
|
||||||
|
youtube.it
|
||||||
|
youtube.jo
|
||||||
|
youtube.jp
|
||||||
|
youtube.kr
|
||||||
|
youtube.kz
|
||||||
|
youtube.la
|
||||||
|
youtube.lk
|
||||||
|
youtube.lt
|
||||||
|
youtube.lu
|
||||||
|
youtube.lv
|
||||||
|
youtube.ly
|
||||||
|
youtube.ma
|
||||||
|
youtube.md
|
||||||
|
youtube.me
|
||||||
|
youtube.mk
|
||||||
|
youtube.mn
|
||||||
|
youtube.mx
|
||||||
|
youtube.my
|
||||||
|
youtube.ng
|
||||||
|
youtube.ni
|
||||||
|
youtube.nl
|
||||||
|
youtube.no
|
||||||
|
youtube.pa
|
||||||
|
youtube.pe
|
||||||
|
youtube.ph
|
||||||
|
youtube.pk
|
||||||
|
youtube.pl
|
||||||
|
youtube.pr
|
||||||
|
youtube.pt
|
||||||
|
youtube.qa
|
||||||
|
youtube.ro
|
||||||
|
youtube.rs
|
||||||
|
youtube.ru
|
||||||
|
youtube.sa
|
||||||
|
youtube.se
|
||||||
|
youtube.sg
|
||||||
|
youtube.si
|
||||||
|
youtube.sk
|
||||||
|
youtube.sn
|
||||||
|
youtube.soy
|
||||||
|
youtube.sv
|
||||||
|
youtube.tn
|
||||||
|
youtube.tv
|
||||||
|
youtube.ua
|
||||||
|
youtube.ug
|
||||||
|
youtube.uy
|
||||||
|
youtube.vn
|
||||||
|
youtubego.co.id
|
||||||
|
youtubego.co.in
|
||||||
|
youtubego.com
|
||||||
|
youtubego.com.br
|
||||||
|
youtubego.id
|
||||||
|
youtubego.in
|
||||||
|
|||||||
@ -95,6 +95,7 @@ sync_param AUTOHOSTLIST_DEBUGLOG
|
|||||||
sync_param NFQWS_ENABLE
|
sync_param NFQWS_ENABLE
|
||||||
sync_param DESYNC_MARK
|
sync_param DESYNC_MARK
|
||||||
sync_param DESYNC_MARK_POSTNAT
|
sync_param DESYNC_MARK_POSTNAT
|
||||||
|
sync_param FILTER_MARK str
|
||||||
sync_param NFQWS_PORTS_TCP str
|
sync_param NFQWS_PORTS_TCP str
|
||||||
sync_param NFQWS_PORTS_UDP str
|
sync_param NFQWS_PORTS_UDP str
|
||||||
sync_param NFQWS_TCP_PKT_OUT str
|
sync_param NFQWS_TCP_PKT_OUT str
|
||||||
|
|||||||
Reference in New Issue
Block a user