diff --git a/Makefile b/Makefile index 75275b2..44e6eba 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -# Copyright (C) 2024-2025 Yuxi Yang +# Copyright (C) 2025 Yuxi Yang include $(TOPDIR)/rules.mk @@ -9,7 +9,7 @@ PKG_UPSTREAM_NAME:=FakeHTTP PKG_UPSTREAM_VERSION:=0.9.18 PKG_UPSTREAM_GITHASH:= PKG_VERSION:=$(PKG_UPSTREAM_VERSION)$(if $(PKG_UPSTREAM_GITHASH),~$(call version_abbrev,$(PKG_UPSTREAM_GITHASH))) -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_SUBDIR:=$(PKG_UPSTREAM_NAME)-$(PKG_UPSTREAM_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) @@ -57,6 +57,9 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/config/ $(INSTALL_CONF) $(CURDIR)/files/fakehttp.config $(1)/etc/config/fakehttp + + $(INSTALL_DIR) $(1)/etc/fakehttp/ + $(INSTALL_CONF) $(CURDIR)/files/fakehtttp.payload $(1)/etc/fakehttp/example_payload endef $(eval $(call BuildPackage,$(PKG_NAME))) \ No newline at end of file diff --git a/files/fakehttp.config b/files/fakehttp.config index c9a8354..387da51 100644 --- a/files/fakehttp.config +++ b/files/fakehttp.config @@ -4,16 +4,22 @@ config globals 'globals' option silent '0' config payload - option type 'h' - option hostname 'node-36-250-1-90.speedtest.cn' + option enabled '1' + option type 'http' + option payload 'node-36-250-1-90.speedtest.cn' + option comment '' -#config payload -# option type 'e' -# option hostname 'node-36-250-1-90.speedtest.cn' -# -#config payload -# option type 'b' -# option file '/tmp/fakehttp_payload' +config payload + option enabled '0' + option type 'https' + option payload 'node-36-250-1-90.speedtest.cn' + option comment '' + +config payload + option enabled '0' + option type 'binary' + option payload '/etc/fakehttp/example_payload' + option comment '' config advanced 'advanced' # -f skip firewall rules diff --git a/files/fakehttp.init b/files/fakehttp.init index 07fa0ad..a5a92af 100644 --- a/files/fakehttp.init +++ b/files/fakehttp.init @@ -21,26 +21,26 @@ add_interface() { add_payload() { local section="$1" - local type - config_get type "${section}" "type" "" + local enabled + config_get_bool enabled "${section}" "enabled" "0" - case "${type}" in - "h") - local hostname - config_get hostname "${section}" "hostname" "" - procd_append_param command "-h" "${hostname}" - ;; - "e") - local hostname - config_get hostname "${section}" "hostname" "" - procd_append_param command "-e" "${hostname}" - ;; - "b") - local file - config_get file "${section}" "file" "" - procd_append_param command "-b" "${file}" - ;; - esac + if [ "${enabled}" -eq "1" ] + then + local type payload + config_get type "${section}" "type" "" + config_get payload "${section}" "payload" "" + case "${type}" in + "http") + procd_append_param command "-h" "${payload}" + ;; + "https") + procd_append_param command "-e" "${payload}" + ;; + "binary") + procd_append_param command "-b" "${payload}" + ;; + esac + fi } test_bool_then_append() { diff --git a/files/fakehtttp.payload b/files/fakehtttp.payload new file mode 100644 index 0000000..4875d4a --- /dev/null +++ b/files/fakehtttp.payload @@ -0,0 +1,19 @@ +GET /download?size=25000000&r=0.8063093007466539 HTTP/1.1 +Host: node-36-250-1-90.speedtest.cn:51090 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.7103.48 Safari/537.36 +Accept: */* +Accept-Language: en-US,en;q=0.5 +Accept-Encoding: gzip, deflate, br, zstd +Origin: https://www.speedtest.cn +DNT: 1 +Sec-GPC: 1 +Connection: keep-alive +Referer: https://www.speedtest.cn/ +Sec-Fetch-Dest: empty +Sec-Fetch-Mode: cors +Sec-Fetch-Site: same-site +sec-ch-ua-platform: "Windows" +sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="136", "Google Chrome";v="136" +sec-ch-ua-mobile: ?0 +Pragma: no-cache +Cache-Control: no-cache \ No newline at end of file