Compare commits

...

7 Commits

Author SHA1 Message Date
remittor
dd35b5d50a Bump version to v0.7.20251227 2025-12-27 13:18:59 +03:00
remittor
072b742a13 luci: tools: Fix modal dialog for NFQWS2_OPT 2025-12-27 10:47:53 +03:00
remittor
487d92bda2 updater: Fix files renaming 2025-12-26 15:44:11 +03:00
remittor
71eccc6057 Bump version to v0.7.20251226 2025-12-26 09:00:21 +03:00
remittor
5f92425261 luci: Rename handleSave to handleSaveAdv 2025-12-26 08:58:30 +03:00
remittor
950672426c updater: Update func download_releases_info 2025-12-26 08:56:45 +03:00
remittor
d0c49a8e6f def-cfg: Add new strategy v2_by_Schiz23 2025-12-26 08:03:58 +03:00
7 changed files with 88 additions and 36 deletions

View File

@@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-zapret2
PKG_VERSION:=0.7.20251225
PKG_RELEASE:=2
PKG_VERSION:=0.7.20251227
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_MAINTAINER:=remittor <https://github.com/remittor>

View File

@@ -403,13 +403,13 @@ return baseclass.extend({
E('button', {
'id': 'btn_save',
'class': 'btn cbi-button-positive important',
'click': ui.createHandlerFn(this, this.handleSave),
'click': ui.createHandlerFn(this, this.handleSaveAdv),
}, _('Save')),
]),
]);
},
handleSave: function(ev) {
handleSaveAdv: function(ev) {
let txt = document.getElementById('widget.modal_content');
let value = txt.value.trim().replace(/\r\n/g, '\n') + '\n';
@@ -514,13 +514,13 @@ return baseclass.extend({
E('button', {
'id': 'btn_save',
'class': 'btn cbi-button-positive important',
'click': ui.createHandlerFn(this, this.handleSave),
'click': ui.createHandlerFn(this, this.handleSaveAdv),
}, _('Save')),
]),
]);
},
handleSave: function(ev) {
handleSaveAdv: function(ev) {
let txt = document.getElementById('widget.modal_content');
let value = txt.value.trim();
if (this.multiline) {
@@ -543,17 +543,30 @@ return baseclass.extend({
}
value = value.replace(/˂/g, '<');
value = value.replace(/˃/g, '>');
let elem = document.getElementById("cbi-zapret2-" + this.cfgsec + "-_" + this.cfgparam);
if (elem) {
let val = value.trim();
if (this.multiline) {
val = val.replace(/</g, '˂');
val = val.replace(/>/g, '˃');
val = val.replace(/\n/g, '<br/>');
elem.querySelector('div').innerHTML = val;
} else {
elem.querySelector('div').textContent = val;
try {
let elem2 = null;
let elem = document.getElementById("cbi-zapret-" + this.cfgsec + "-_" + this.cfgparam);
if (elem) {
if (!elem2) {
elem2 = elem.querySelector('div');
}
if (!elem2) {
elem2 = elem.querySelector('output');
}
}
if (elem2) {
let val = value.trim();
if (this.multiline) {
val = val.replace(/</g, '˂');
val = val.replace(/>/g, '˃');
val = val.replace(/\n/g, '<br/>');
elem2.innerHTML = val;
} else {
elem2.textContent = val;
}
}
} catch(e) {
console.error('ERROR: cannot found elem for ' + this.cfgparam);
}
uci.set('zapret2', this.cfgsec, this.cfgparam, value);
uci.save().then(ui.hideModal);

View File

@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zapret2-ip2net
PKG_VERSION:=0.7.20251225
PKG_RELEASE:=2
PKG_VERSION:=0.7.20251227
PKG_RELEASE:=1
PKG_MAINTAINER:=bol-van
PKG_LICENSE:=MIT
@@ -10,8 +10,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
PKG_SOURCE_URL:=https://github.com/bol-van/zapret2.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=9e2222549e7c2eee6f4827f7c36fb7e7c3a07b4c
PKG_SOURCE_DATE:=2025-12-25
PKG_SOURCE_VERSION:=6a520f508a6b480e79f4d4d50f61b18bba660021
PKG_SOURCE_DATE:=2025-12-27
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret2/archive/refs/tags/v$(PKG_VERSION).tar.gz?

View File

@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zapret2-mdig
PKG_VERSION:=0.7.20251225
PKG_RELEASE:=2
PKG_VERSION:=0.7.20251227
PKG_RELEASE:=1
PKG_MAINTAINER:=bol-van
PKG_LICENSE:=MIT
@@ -10,8 +10,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
PKG_SOURCE_URL:=https://github.com/bol-van/zapret2.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=9e2222549e7c2eee6f4827f7c36fb7e7c3a07b4c
PKG_SOURCE_DATE:=2025-12-25
PKG_SOURCE_VERSION:=6a520f508a6b480e79f4d4d50f61b18bba660021
PKG_SOURCE_DATE:=2025-12-27
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret2/archive/refs/tags/v$(PKG_VERSION).tar.gz?

View File

@@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zapret2
PKG_VERSION:=0.7.20251225
PKG_RELEASE:=2
PKG_VERSION:=0.7.20251227
PKG_RELEASE:=1
PKG_MAINTAINER:=bol-van
PKG_LICENSE:=MIT
@@ -14,8 +14,8 @@ PKG_LICENSE_FILES:=docs/LICENSE.txt
PKG_SOURCE_URL:=https://github.com/bol-van/zapret2.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=9e2222549e7c2eee6f4827f7c36fb7e7c3a07b4c
PKG_SOURCE_DATE:=2025-12-25
PKG_SOURCE_VERSION:=6a520f508a6b480e79f4d4d50f61b18bba660021
PKG_SOURCE_DATE:=2025-12-27
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret2/archive/refs/tags/v$(PKG_VERSION).tar.gz?

View File

@@ -130,6 +130,35 @@ function set_cfg_nfqws_strat
commit $cfgname
EOF
fi
if [ "$strat" = "v2_by_Schiz23" ]; then
uci batch <<-EOF
set $cfgname.config.NFQWS2_PORTS_TCP='80,443'
set $cfgname.config.NFQWS2_PORTS_UDP='443'
set $cfgname.config.NFQWS2_OPT="
# Strategy $strat
--filter-tcp=80
--filter-l7=http <HOSTLIST>
--payload=http_req
--lua-desync=fake:blob=fake_default_http:tcp_md5
--lua-desync=multisplit:pos=method+2
--new
--filter-tcp=443
--filter-l7=tls <HOSTLIST>
--payload=tls_client_hello
--lua-desync=multidisorder:payload=tls_client_hello:pos=100,midsld,sniext+1,endhost-2,-10
--lua-desync=send:sni=.microsoft
--new
--filter-udp=443
--filter-l7=quic <HOSTLIST_NOAUTO>
--payload=quic_initial
--lua-desync=fake:blob=fake_default_quic:repeats=4
"
commit $cfgname
EOF
fi
return 0
}

View File

@@ -154,14 +154,24 @@ function pkg_version_cmp
function download_releases_info
{
local txt txtlen txtlines generated_at
local fname resp hdr txt txtlen txtlines generated_at
REL_JSON=
echo "Download releases info..."
txt=$(download_json $ZAP_REL_URL)
fname="${ZAP_REL_URL##*/}"
resp=$( curl -s -D - --max-time $CURL_TIMEOUT -H "$CURL_HEADER1" -H "$CURL_HEADER2" "$ZAP_REL_URL" 2>/dev/null )
hdr="${resp%%$'\r\n\r\n'*}"
status=$( printf '%s\n' "$hdr" | head -n 1 | awk '{print $2}' )
if [ "$status" != 200 ]; then
echo "ERROR: Cannot download file \"$ZAP_REL_URL\" (status = $status)"
return 103
fi
txtlen=$( printf '%s\n' "$hdr" | awk -F': ' 'BEGIN{IGNORECASE=1} $1=="Content-Length"{print $2}' | tr -d '\r')
echo "Content-Length: $txtlen bytes"
txt="${resp#*$'\r\n\r\n'}"
txtlen=${#txt}
txtlines=$(printf '%s\n' "$txt" | wc -l)
if [[ $txtlen -lt 64 ]]; then
echo "ERROR: Cannot download releases info!"
echo "ERROR: Cannot download releases info! (size = $txtlen)"
return 104
fi
echo "Releases info downloaded! Size = $txtlen, Lines = $txtlines"
@@ -342,7 +352,7 @@ if [ "$opt_update" != "" ]; then
fi
fi
ZAP_PKG_DIR=/tmp/zapret2_pkg
rm -rf $ZAP_PKG_DIR
rm -rf $ZAP_PKG_DIR 2>/dev/null
ZAP_PKG_HDRS=$( curl -s -I -L --max-time $CURL_TIMEOUT -H "$CURL_HEADER2" "$ZAP_PKG_URL" )
ZAP_PKG_SIZE=$( echo "$ZAP_PKG_HDRS" | grep -i 'content-length: ' | tail -n1 | awk '{print $2}' | tr -d '\r' )
echo "Downloded ZIP-file size = $ZAP_PKG_SIZE bytes"
@@ -368,16 +378,16 @@ if [ "$opt_update" != "" ]; then
return 218
fi
unzip -q "$ZAP_PKG_FN" -d $ZAP_PKG_DIR
rm -f "$ZAP_PKG_FN"
rm -f "$ZAP_PKG_FN" 2>/dev/null
if [ "$PKG_MGR" = "apk" ]; then
if [ ! -d "$ZAP_PKG_DIR/apk" ]; then
echo "ERROR: APK-files not founded"
return 221
fi
rm -f "$ZAP_PKG_DIR/*.ipk"
mv "$ZAP_PKG_DIR/apk/*" "$ZAP_PKG_DIR/"
rm -f $ZAP_PKG_DIR/*.ipk 2>/dev/null
mv $ZAP_PKG_DIR/apk/* $ZAP_PKG_DIR/
else
rm -rf "$ZAP_PKG_DIR/apk"
rm -rf $ZAP_PKG_DIR/apk 2>/dev/null
fi
ZAP_PKG_LIST=$( ls -1 "$ZAP_PKG_DIR" )
echo "------ Downloaded packages:"