mirror of
https://github.com/Waujito/youtubeUnblock.git
synced 2026-01-30 22:20:33 +03:00
Add luci package
This commit is contained in:
98
youtubeUnblock/files/etc/init.d/youtubeUnblock
Executable file
98
youtubeUnblock/files/etc/init.d/youtubeUnblock
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
# Thanks @spvkgn https://github.com/spvkgn/ByeDPI-OpenWrt/blob/main/byedpi/files/byedpi.init
|
||||
# For reference
|
||||
|
||||
|
||||
START=91
|
||||
USE_PROCD=1
|
||||
PROCD_DEBUG=1
|
||||
PROG=/usr/bin/youtubeUnblock
|
||||
|
||||
# You should use uci for configuration
|
||||
OPTS=""
|
||||
|
||||
xappend() {
|
||||
local name="$1" value="$2"
|
||||
OPTS="$OPTS --${name//_/-}=$value"
|
||||
}
|
||||
|
||||
xappend_toggler() {
|
||||
local name="$1"
|
||||
OPTS="$OPTS --${name//_/-}"
|
||||
}
|
||||
|
||||
append_opts() {
|
||||
local name value cfg="$1"; shift
|
||||
for name in $*; do
|
||||
config_get value "$cfg" "$name"
|
||||
[ -n "$value" ] && xappend "$name" "$value"
|
||||
done
|
||||
}
|
||||
|
||||
append_commasep_list() {
|
||||
local name cfg="$1"; shift
|
||||
for name in $*; do
|
||||
local res=""
|
||||
_handle_list() {
|
||||
res="$res$1,"
|
||||
}
|
||||
config_list_foreach "$cfg" "$name" _handle_list
|
||||
[ -n "$res" ] && xappend "$name" "$res"
|
||||
done
|
||||
}
|
||||
|
||||
append_opts_boolean() {
|
||||
local name value cfg="$1"; shift
|
||||
for name in $*; do
|
||||
config_get_bool value "$cfg" "$name"
|
||||
[ -n "$value" ] && xappend "$name" "$value"
|
||||
done
|
||||
}
|
||||
|
||||
append_opts_btoggler() {
|
||||
local name value cfg="$1"; shift
|
||||
for name in $*; do
|
||||
config_get_bool value "$cfg" "$name" 0
|
||||
[ $value -gt 0 ] && xappend_toggler "$name"
|
||||
done
|
||||
}
|
||||
|
||||
parse_options() {
|
||||
local config="$1"
|
||||
local value
|
||||
config_get_bool value "$config" all_domains 0
|
||||
|
||||
if [ $value -gt 0 ]; then
|
||||
xappend "sni_domains" "all"
|
||||
else
|
||||
append_commasep_list "$config" sni_domains
|
||||
fi
|
||||
|
||||
append_opts "$config" queue_num fake_sni_seq_len faking_strategy faking_ttl fake_seq_offset frag frag_sni_pos fk_winsize synfake_len seg2delay packet_mark
|
||||
append_commasep_list "$config" exclude_domains
|
||||
append_opts_boolean "$config" fake_sni frag_sni_reverse frag_sni_faked frag_middle_sni synfake
|
||||
append_opts_btoggler "$config" quic_drop silent trace no_gso no_ipv6
|
||||
}
|
||||
|
||||
# Openwrt procd script: https://openwrt.org/docs/guide-developer/procd-init-script-example
|
||||
# The program should be put into /usr/bin/
|
||||
# This file should be put into /etc/init.d/
|
||||
|
||||
start_service() {
|
||||
config_load youtubeUnblock
|
||||
config_foreach parse_options youtubeUnblock
|
||||
|
||||
echo "$OPTS"
|
||||
|
||||
procd_open_instance 'youtubeUnblock'
|
||||
procd_set_param command $PROG $OPTS
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
23
youtubeUnblock/files/etc/uci-defaults/99-youtubeUnblock
Normal file
23
youtubeUnblock/files/etc/uci-defaults/99-youtubeUnblock
Normal file
@@ -0,0 +1,23 @@
|
||||
uci -q batch << EOI
|
||||
add youtubeUnblock youtubeUnblock
|
||||
set youtubeUnblock.youtubeUnblock.frag='tcp'
|
||||
set youtubeUnblock.youtubeUnblock.frag_sni_reverse='1'
|
||||
set youtubeUnblock.youtubeUnblock.frag_middle_sni='1'
|
||||
set youtubeUnblock.youtubeUnblock.frag_sni_pos='1'
|
||||
set youtubeUnblock.youtubeUnblock.fk_winsize='0'
|
||||
set youtubeUnblock.youtubeUnblock.seg2delay='0'
|
||||
set youtubeUnblock.youtubeUnblock.packet_mark='32768'
|
||||
set youtubeUnblock.youtubeUnblock.fake_sni='1'
|
||||
set youtubeUnblock.youtubeUnblock.faking_strategy='pastseq'
|
||||
set youtubeUnblock.youtubeUnblock.fake_sni_seq_len='1'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='googlevideo.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='ggpht.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='ytimg.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='youtube.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='play.google.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='youtu.be'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='googleapis.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='googleusercontent.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='gstatic.com'
|
||||
add_list youtubeUnblock.youtubeUnblock.sni_domains='l.google.com'
|
||||
EOI
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
USE_PROCD=1
|
||||
|
||||
START=50
|
||||
STOP=50
|
||||
|
||||
# Openwrt procd script: https://openwrt.org/docs/guide-developer/procd-init-script-example
|
||||
# The program should be put into /usr/bin/
|
||||
# This file should be put into /etc/init.d/
|
||||
|
||||
start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/bin/youtubeUnblock
|
||||
|
||||
procd_set_param nice -20
|
||||
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
|
||||
procd_close_instance
|
||||
}
|
||||
Reference in New Issue
Block a user