Merge branch 'develop'
0
.circleci/config.yml
Normal file → Executable file
6
.github/workflows/main.yml
vendored
Normal file → Executable file
|
@ -8,8 +8,8 @@ jobs:
|
|||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, l1000, zbt4019]
|
||||
OMR_KERNEL: [5.4, 5.14]
|
||||
OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, cm520-79f, x86_64, ubnt-erx, r4s, r7800, l1000, zbt4019]
|
||||
OMR_KERNEL: [5.4, 5.15]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
|
||||
|
@ -73,6 +73,8 @@ jobs:
|
|||
env:
|
||||
OMR_TARGET: ${{ matrix.OMR_TARGET }}
|
||||
run: |
|
||||
cat "feeds/openmptcprouter/openmptcprouter/files/etc/init.d/getserveratboot"
|
||||
sudo rm -rf "feeds/openmptcprouter/openmptcprouter/files/etc/init.d/getserveratboot" >/dev/null 2>&1 || true
|
||||
make IGNORE_ERRORS=m -C $OMR_TARGET/source package/{compile,install,index} -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/source package/{compile,install,index} -j1 V=s
|
||||
- name: Build image
|
||||
working-directory: ../../omr
|
||||
|
|
0
.github/workflows/workspace.code-workspace
vendored
Normal file → Executable file
20
README.md
|
@ -3,7 +3,7 @@
|
|||
|
||||
This is the OpenWrt OpenMPTCProuter feed containing all modified and necessary packages to build the OpenMPTCProuter image.
|
||||
|
||||
For More information, see [https://github.com/suyuan168/3grouter](https://github.com/suyuan168/3grouter) and [https://www.openmptcprouter.com](https://www.openmptcprouter.com/).
|
||||
For More information, see [https://github.com/ysurac/openmptcprouter](https://github.com/ysurac/openmptcprouter) and [https://www.openmptcprouter.com](https://www.openmptcprouter.com/).
|
||||
|
||||
|
||||
## Glorytun
|
||||
|
@ -66,7 +66,7 @@ Added support to gateway set by user for 6in4. Used for IPv6 over the glorytun I
|
|||
|
||||
|
||||
## luci-omr-bypass
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-bypass](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-bypass)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-bypass](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-bypass)
|
||||
|
||||
*Description:* Luci interface to bypass domains, IPs and networks with shadowsocks
|
||||
|
||||
|
@ -74,7 +74,7 @@ Domains, IPs, networks and protocol (using DPI) added are bypassed when shadowso
|
|||
|
||||
|
||||
## omr-tracker
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-tracker](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-tracker)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-tracker](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-tracker)
|
||||
|
||||
*Description:* Track connection status. This check if gateway is up then check if the connection work. If it's not working this execute scripts. This also detect if ShadowSocks is up or not.
|
||||
|
||||
|
@ -82,7 +82,7 @@ This is used for OpenMPTCProuter failover.
|
|||
|
||||
|
||||
## luci-omr-tracker
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-tracker](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-tracker)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-tracker](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-tracker)
|
||||
|
||||
*Description:* Luci interface to omr-tracker
|
||||
|
||||
|
@ -90,37 +90,37 @@ Interface to omr-tracker.
|
|||
|
||||
|
||||
## luci-app-iperf
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-iperf](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-iperf)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-iperf](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-iperf)
|
||||
|
||||
*Description:* Luci interface to iPerf
|
||||
|
||||
|
||||
## omr-6in4
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-6in4](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-6in4)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-6in4](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-6in4)
|
||||
|
||||
*Description:* Set tunnel configuration by tracking tunnel configuration.
|
||||
|
||||
|
||||
## omr-update
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-update](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-update)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-update](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-update)
|
||||
|
||||
*Description:* Update old config with new settings.
|
||||
|
||||
|
||||
## luci-app-mptcp
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-mptcp](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-mptcp)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-mptcp](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-mptcp)
|
||||
|
||||
*Description:* Luci interface for all MPTCP settings
|
||||
|
||||
|
||||
## luci-app-openmptcprouter
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-openmptcprouter](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-openmptcprouter)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-openmptcprouter](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-openmptcprouter)
|
||||
|
||||
*Description:* Wizard for OpenMPTCProuter settings and status page
|
||||
|
||||
|
||||
## mptcp
|
||||
*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/mptcp](https://github.com/suyuan168/3grouter-feeds/tree/master/mptcp)
|
||||
*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/mptcp](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/mptcp)
|
||||
|
||||
*Description:* This package set all MPTCP settings
|
||||
|
||||
|
|
0
aquantia/Makefile
Normal file → Executable file
0
cryptodev-linux/Makefile
Normal file → Executable file
0
fast-classifier/Makefile
Normal file → Executable file
0
fast-classifier/src/Makefile
Normal file → Executable file
0
fast-classifier/src/fast-classifier.c
Normal file → Executable file
0
fast-classifier/src/fast-classifier.h
Normal file → Executable file
0
fast-classifier/src/nl_classifier_test.c
Normal file → Executable file
0
fast-classifier/src/sfe.h
Normal file → Executable file
0
fast-classifier/src/sfe_backport.h
Normal file → Executable file
0
fast-classifier/src/sfe_cm.h
Normal file → Executable file
0
fast-classifier/src/userspace_example.c
Normal file → Executable file
|
@ -62,6 +62,7 @@ start_instance() {
|
|||
uci -q set network.omrvpn.device=${dev}
|
||||
uci -q commit network
|
||||
fi
|
||||
|
||||
_log "starting ${PROG_NAME} ${1} instance $*"
|
||||
|
||||
procd_open_instance
|
||||
|
|
|
@ -13,10 +13,11 @@ endif
|
|||
# Unset environment variables
|
||||
# There are more magic variables to track down, but ain't nobody got time for that
|
||||
|
||||
# From https://golang.org/cmd/go/#hdr-Environment_variables
|
||||
# From https://pkg.go.dev/cmd/go#hdr-Environment_variables
|
||||
|
||||
# General-purpose environment variables:
|
||||
unexport \
|
||||
GO111MODULE \
|
||||
GCCGO \
|
||||
GOARCH \
|
||||
GOBIN \
|
||||
|
@ -36,6 +37,7 @@ unexport \
|
|||
# GONOPROXY
|
||||
# GOSUMDB
|
||||
# GONOSUMDB
|
||||
# GOVCS
|
||||
|
||||
# Environment variables for use with cgo:
|
||||
unexport \
|
||||
|
@ -63,23 +65,20 @@ unexport \
|
|||
# Special-purpose environment variables:
|
||||
unexport \
|
||||
GCCGOTOOLDIR \
|
||||
GOEXPERIMENT \
|
||||
GOROOT_FINAL \
|
||||
GO_EXTLINK_ENABLED
|
||||
# Unmodified:
|
||||
# GIT_ALLOW_PROTOCOL
|
||||
|
||||
# From https://golang.org/cmd/go/#hdr-Module_support
|
||||
unexport \
|
||||
GO111MODULE
|
||||
|
||||
# From https://golang.org/pkg/runtime/#hdr-Environment_Variables
|
||||
# From https://pkg.go.dev/runtime#hdr-Environment_Variables
|
||||
unexport \
|
||||
GOGC \
|
||||
GOMAXPROCS \
|
||||
GORACE \
|
||||
GOTRACEBACK
|
||||
|
||||
# From https://golang.org/cmd/cgo/#hdr-Using_cgo_with_the_go_command
|
||||
# From https://pkg.go.dev/cmd/cgo#hdr-Using_cgo_with_the_go_command
|
||||
unexport \
|
||||
CC_FOR_TARGET \
|
||||
CXX_FOR_TARGET
|
||||
|
@ -111,10 +110,6 @@ unexport \
|
|||
BOOT_GO_GCFLAGS \
|
||||
BOOT_GO_LDFLAGS
|
||||
|
||||
# From https://golang.org/src/cmd/dist/buildruntime.go
|
||||
unexport \
|
||||
GOEXPERIMENT
|
||||
|
||||
# From https://golang.org/src/cmd/dist/buildtool.go
|
||||
unexport \
|
||||
GOBOOTSTRAP_TOOLEXEC
|
||||
|
@ -148,8 +143,11 @@ else
|
|||
endif
|
||||
|
||||
ifeq ($(GO_ARCH),386)
|
||||
# ensure binaries can run on older CPUs
|
||||
GO_386:=387
|
||||
ifeq ($(CONFIG_TARGET_x86_geode)$(CONFIG_TARGET_x86_legacy),y)
|
||||
GO_386:=softfloat
|
||||
else
|
||||
GO_386:=sse2
|
||||
endif
|
||||
|
||||
# -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors
|
||||
GO_CFLAGS_TO_REMOVE:=-fno-plt
|
||||
|
@ -195,19 +193,23 @@ GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mips64||mips64el||mipsel||pow
|
|||
|
||||
# ASLR/PIE
|
||||
|
||||
# From https://golang.org/src/cmd/internal/sys/supported.go
|
||||
GO_PIE_SUPPORTED_OS_ARCH:= \
|
||||
android_386 android_amd64 android_arm android_arm64 \
|
||||
linux_386 linux_amd64 linux_arm linux_arm64 \
|
||||
android_386 android_amd64 android_arm android_arm64 \
|
||||
linux_386 linux_amd64 linux_arm linux_arm64 \
|
||||
\
|
||||
windows_386 windows_amd64 windows_arm \
|
||||
windows_386 windows_amd64 windows_arm \
|
||||
\
|
||||
darwin_amd64 darwin_arm64 \
|
||||
ios_amd64 ios_arm64 \
|
||||
\
|
||||
darwin_amd64 \
|
||||
freebsd_amd64 \
|
||||
\
|
||||
aix_ppc64 \
|
||||
\
|
||||
linux_ppc64le linux_s390x
|
||||
linux_ppc64le linux_riscv64 linux_s390x
|
||||
|
||||
# From https://golang.org/src/cmd/go/internal/work/init.go
|
||||
go_pie_install_suffix=$(if $(filter $(1),aix_ppc64 windows_386 windows_amd64 windows_arm),,shared)
|
||||
|
||||
ifneq ($(filter $(GO_HOST_OS_ARCH),$(GO_PIE_SUPPORTED_OS_ARCH)),)
|
||||
|
@ -236,7 +238,7 @@ endif
|
|||
|
||||
# General build info
|
||||
|
||||
GO_BUILD_CACHE_DIR:=$(or $(call qstrip,$(CONFIG_GOLANG_BUILD_CACHE_DIR)),$(TOPDIR)/.go-build)
|
||||
GO_BUILD_CACHE_DIR:=$(or $(call qstrip,$(CONFIG_GOLANG_BUILD_CACHE_DIR)),$(TMP_DIR)/go-build)
|
||||
GO_MOD_CACHE_DIR:=$(DL_DIR)/go-mod-cache
|
||||
|
||||
GO_MOD_ARGS= \
|
||||
|
@ -249,6 +251,6 @@ GO_GENERAL_BUILD_CONFIG_VARS= \
|
|||
GO_MOD_ARGS="$(GO_MOD_ARGS)"
|
||||
|
||||
define Go/CacheCleanup
|
||||
$(GENERAL_BUILD_CONFIG_VARS) \
|
||||
$(GO_GENERAL_BUILD_CONFIG_VARS) \
|
||||
$(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh cache_cleanup
|
||||
endef
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
GO_VERSION_MAJOR_MINOR:=1.17
|
||||
GO_VERSION_PATCH:=2
|
||||
GO_VERSION_PATCH:=3
|
||||
|
||||
PKG_NAME:=golang
|
||||
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
|
||||
|
@ -20,7 +20,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
|
|||
|
||||
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
|
||||
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
|
||||
PKG_HASH:=2255eb3e4e824dd7d5fcdc2e7f84534371c186312e546fb1086a34c17752f431
|
||||
PKG_HASH:=705c64251e5b25d5d55ede1039c6aa22bea40a7a931d14c370339853643c3df0
|
||||
|
||||
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
|
@ -48,12 +48,13 @@ HOST_GO_VALID_OS_ARCH:= \
|
|||
freebsd_386 freebsd_amd64 freebsd_arm freebsd_arm64 \
|
||||
linux_386 linux_amd64 linux_arm linux_arm64 \
|
||||
openbsd_386 openbsd_amd64 openbsd_arm openbsd_arm64 \
|
||||
netbsd_386 netbsd_amd64 netbsd_arm netbsd_arm64 \
|
||||
windows_386 windows_amd64 windows_arm windows_arm64 \
|
||||
\
|
||||
netbsd_386 netbsd_amd64 netbsd_arm \
|
||||
plan9_386 plan9_amd64 plan9_arm \
|
||||
windows_386 windows_amd64 windows_arm \
|
||||
\
|
||||
darwin_amd64 darwin_arm64 \
|
||||
ios_amd64 ios_arm64 \
|
||||
\
|
||||
dragonfly_amd64 \
|
||||
illumos_amd64 \
|
||||
|
@ -64,7 +65,9 @@ HOST_GO_VALID_OS_ARCH:= \
|
|||
\
|
||||
linux_ppc64 linux_ppc64le \
|
||||
linux_mips linux_mipsle linux_mips64 linux_mips64le \
|
||||
linux_riscv64 linux_s390x
|
||||
linux_riscv64 linux_s390x \
|
||||
\
|
||||
openbsd_mips64
|
||||
|
||||
BOOTSTRAP_SOURCE:=go1.4-bootstrap-20171003.tar.gz
|
||||
BOOTSTRAP_SOURCE_URL:=$(GO_SOURCE_URLS)
|
||||
|
@ -258,12 +261,14 @@ endif
|
|||
$(eval $(call GoCompiler/AddProfile,Package,$(PKG_BUILD_DIR),$(PKG_GO_PREFIX),$(PKG_GO_VERSION_ID),$(GO_OS_ARCH),$(PKG_GO_INSTALL_SUFFIX)))
|
||||
|
||||
PKG_GO_ZBOOTSTRAP_MODS:= \
|
||||
s/defaultGO386 = `[^`]*`/defaultGO386 = `$(or $(GO_386),387)`/; \
|
||||
s/defaultGO386 = `[^`]*`/defaultGO386 = `$(or $(GO_386),sse2)`/; \
|
||||
s/defaultGOARM = `[^`]*`/defaultGOARM = `$(or $(GO_ARM),5)`/; \
|
||||
s/defaultGOMIPS = `[^`]*`/defaultGOMIPS = `$(or $(GO_MIPS),hardfloat)`/; \
|
||||
s/defaultGOMIPS64 = `[^`]*`/defaultGOMIPS64 = `$(or $(GO_MIPS64),hardfloat)`/; \
|
||||
s/defaultGOPPC64 = `[^`]*`/defaultGOPPC64 = `power8`/;
|
||||
|
||||
PKG_GO_ZBOOTSTRAP_PATH:=$(PKG_BUILD_DIR)/src/internal/buildcfg/zbootstrap.go
|
||||
|
||||
PKG_GO_VARS= \
|
||||
GOCACHE="$(GO_BUILD_CACHE_DIR)" \
|
||||
GOENV=off \
|
||||
|
@ -306,8 +311,17 @@ define Build/Compile
|
|||
$(PKG_GO_VARS) \
|
||||
)
|
||||
|
||||
$(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' \
|
||||
"$(PKG_BUILD_DIR)/src/cmd/internal/objabi/zbootstrap.go"
|
||||
$(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' "$(PKG_GO_ZBOOTSTRAP_PATH)"
|
||||
|
||||
( \
|
||||
if echo 'int main() { return 0; }' | $(TARGET_CC) -o $(PKG_BUILD_DIR)/test-ldso -x c - > /dev/null 2>&1; then \
|
||||
LDSO=$$$$( \
|
||||
readelf -l $(PKG_BUILD_DIR)/test-ldso | \
|
||||
sed -n -e 's/^.*interpreter: \(.*\)[]]/\1/p' \
|
||||
) ; \
|
||||
fi ; \
|
||||
$(SED) "s,defaultGO_LDSO = \`[^\`]*\`,defaultGO_LDSO = \`$$$$LDSO\`," "$(PKG_GO_ZBOOTSTRAP_PATH)" ; \
|
||||
)
|
||||
|
||||
@echo "Building target Go second stage"
|
||||
|
||||
|
|
0
https-dns-proxy/test.sh
Normal file → Executable file
0
iperf3/Makefile
Normal file → Executable file
0
iperf3/patches/remove-in6_flowlabel_req.patch
Normal file → Executable file
|
@ -1,65 +0,0 @@
|
|||
#
|
||||
# Copyright (C) 2018 Chion Tang <tech@chionlab.moe>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=fullconenat
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_DATE:=2019-10-21
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/Chion82/netfilter-full-cone-nat.git
|
||||
PKG_SOURCE_VERSION:=0cf3b48fd7d2fa81d0297d1fff12bbd0580fc435
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/iptables-mod-fullconenat
|
||||
SUBMENU:=Firewall
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=FULLCONENAT iptables extension
|
||||
DEPENDS:=+iptables +kmod-ipt-fullconenat
|
||||
MAINTAINER:=Chion Tang <tech@chionlab.moe>
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-fullconenat/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/iptables
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libipt_FULLCONENAT.so $(1)/usr/lib/iptables
|
||||
endef
|
||||
|
||||
define KernelPackage/ipt-fullconenat
|
||||
SUBMENU:=Netfilter Extensions
|
||||
TITLE:=FULLCONENAT netfilter module
|
||||
DEPENDS:=+kmod-nf-ipt +kmod-nf-nat
|
||||
MAINTAINER:=Chion Tang <tech@chionlab.moe>
|
||||
KCONFIG:=CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y
|
||||
FILES:=$(PKG_BUILD_DIR)/xt_FULLCONENAT.ko
|
||||
endef
|
||||
|
||||
include $(INCLUDE_DIR)/kernel-defaults.mk
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
$(CP) ./files/Makefile $(PKG_BUILD_DIR)/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
M="$(PKG_BUILD_DIR)" \
|
||||
EXTRA_CFLAGS="$(BUILDFLAGS)" \
|
||||
modules
|
||||
$(call Build/Compile/Default)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,iptables-mod-fullconenat))
|
||||
$(eval $(call KernelPackage,ipt-fullconenat))
|
|
@ -1,27 +0,0 @@
|
|||
## Netfilter and iptables extension for [FULLCONENAT](https://github.com/Chion82/netfilter-full-cone-nat) target ported to OpenWrt.
|
||||
|
||||
Compile
|
||||
---
|
||||
```
|
||||
# cd to OpenWrt source path
|
||||
# Clone this repo
|
||||
git clone -b master --single-branch https://github.com/LGA1150/openwrt-fullconenat package/fullconenat
|
||||
# Select Network -> Firewall -> iptables-mod-fullconenat
|
||||
make menuconfig
|
||||
# Compile
|
||||
make V=s
|
||||
```
|
||||
|
||||
Usage
|
||||
---
|
||||
You can apply [this patch](https://github.com/LGA1150/fullconenat-fw3-patch) to OpenWrt's Firewall3 (Recommended).
|
||||
|
||||
Or manually add the following rules to `/etc/firewall.user`
|
||||
```
|
||||
iptables -t nat -A zone_wan_prerouting -j FULLCONENAT
|
||||
iptables -t nat -A zone_wan_postrouting -j FULLCONENAT
|
||||
```
|
||||
|
||||
Workaround for conflicting with module `nf_conntrack_netlink`
|
||||
---
|
||||
This module uses conntrack events to register a callback function. In the same netns, only one callback method can be registered, that causes conflicts with `nf_conntrack_netlink`, which also uses conntrack events. Qualcomm Shortcut FE has introduced a patch to allow multiple callbacks to be registered. To apply, put [this patch](https://github.com/coolsnowwolf/lede/blob/master/target/linux/generic/hack-4.14/952-net-conntrack-events-support-multiple-registrant.patch) into `target/linux/generic/hack-4.14`.
|
|
@ -1,7 +0,0 @@
|
|||
libipt_FULLCONENAT.so: libipt_FULLCONENAT.o
|
||||
$(CC) -shared -lxtables -o $@ $^;
|
||||
libipt_FULLCONENAT.o: libipt_FULLCONENAT.c
|
||||
$(CC) ${CFLAGS} -fPIC -D_INIT=$*_init -c -o $@ $<;
|
||||
|
||||
obj-m += xt_FULLCONENAT.o
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/xt_FULLCONENAT.c b/xt_FULLCONENAT.c
|
||||
index 9e52eba..8658c5f 100644
|
||||
--- a/xt_FULLCONENAT.c
|
||||
+++ b/xt_FULLCONENAT.c
|
||||
@@ -702,9 +702,11 @@ static struct xt_target tg_reg[] __read_mostly = {
|
||||
|
||||
static int __init fullconenat_tg_init(void)
|
||||
{
|
||||
+ printk(KERN_INFO "xt_FULLCONENAT: RFC3489 Full Cone NAT module\n"
|
||||
+ "xt_FULLCONENAT: Copyright (C) 2018 Chion Tang <tech@chionlab.moe>\n");
|
||||
wq = create_singlethread_workqueue("xt_FULLCONENAT");
|
||||
if (wq == NULL) {
|
||||
- printk("xt_FULLCONENAT: warning: failed to create workqueue\n");
|
||||
+ printk(KERN_WARNING "xt_FULLCONENAT: warning: failed to create workqueue\n");
|
||||
}
|
||||
|
||||
return xt_register_targets(tg_reg, ARRAY_SIZE(tg_reg));
|
|
@ -8,12 +8,12 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libmbim
|
||||
PKG_VERSION:=1.26.2
|
||||
PKG_VERSION:=1.26.0
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libmbim
|
||||
PKG_HASH:=10c77bf5b5eb8c92ba80e9b519923ad9b898362bc8e1928e2bc9a17eeba649af
|
||||
PKG_HASH:=1e1f0926b22c77210442129eca689722ecf324ab9c9abf421a5c989f46e813cf
|
||||
|
||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||
|
||||
|
|
16
libqmi/Config.in
Normal file
|
@ -0,0 +1,16 @@
|
|||
menu "Configuration"
|
||||
depends on PACKAGE_libqmi
|
||||
|
||||
config LIBQMI_WITH_MBIM_QMUX
|
||||
bool "Include MBIM QMUX service support"
|
||||
default y
|
||||
help
|
||||
Compile libqmi with QMI-over-MBIM support
|
||||
|
||||
config LIBQMI_WITH_QRTR_GLIB
|
||||
bool "Include QRTR support"
|
||||
default y
|
||||
help
|
||||
Compile libqmi with QRTR support
|
||||
|
||||
endmenu
|
119
libqmi/Makefile
Normal file
|
@ -0,0 +1,119 @@
|
|||
#
|
||||
# Copyright (C) 2016 Velocloud Inc.
|
||||
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libqmi
|
||||
PKG_VERSION:=1.30.2
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libqmi
|
||||
PKG_HASH:=be01ece0ea2c2194cbea5744bf5aaf06c04ba5fb7ec7887a13116c76d114fedd
|
||||
|
||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
define Package/libqmi/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/libqmi
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:= \
|
||||
+glib2 \
|
||||
+LIBQMI_WITH_MBIM_QMUX:libmbim \
|
||||
+LIBQMI_WITH_QRTR_GLIB:libqrtr-glib
|
||||
TITLE:=Helper library to talk to QMI enabled modems
|
||||
URL:=https://www.freedesktop.org/wiki/Software/libqmi
|
||||
LICENSE:=LGPL-2.0-or-later
|
||||
LICENSE_FILES:=COPYING.LIB
|
||||
endef
|
||||
|
||||
define Package/libqmi/description
|
||||
Helper library talk to QMI enabled modems.
|
||||
Add qmi-utils for extra utilities.
|
||||
endef
|
||||
|
||||
define Package/qmi-utils
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=+libqmi
|
||||
TITLE:=Utilities to talk to QMI enabled modems
|
||||
URL:=https://www.freedesktop.org/wiki/Software/libqmi
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=COPYING
|
||||
endef
|
||||
|
||||
define Package/libqmi-utils/description
|
||||
Utils to talk to QMI enabled modems
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-static \
|
||||
--disable-gtk-doc \
|
||||
--disable-gtk-doc-html \
|
||||
--disable-gtk-doc-pdf \
|
||||
--disable-silent-rules \
|
||||
--enable-firmware-update \
|
||||
--enable-more-warnings=yes \
|
||||
--without-udev \
|
||||
--without-udev-base-dir
|
||||
|
||||
ifeq ($(CONFIG_LIBQMI_WITH_MBIM_QMUX),y)
|
||||
CONFIGURE_ARGS += --enable-mbim-qmux
|
||||
else
|
||||
CONFIGURE_ARGS += --disable-mbim-qmux
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LIBQMI_WITH_QRTR_GLIB),y)
|
||||
CONFIGURE_ARGS += --enable-qrtr
|
||||
else
|
||||
CONFIGURE_ARGS += --disable-qrtr
|
||||
endif
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/include/libqmi-glib \
|
||||
$(1)/usr/include/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so* \
|
||||
$(1)/usr/lib/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/qmi-glib.pc \
|
||||
$(1)/usr/lib/pkgconfig
|
||||
endef
|
||||
|
||||
define Package/libqmi/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
|
||||
$(1)/usr/lib/
|
||||
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/qmi-proxy $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/qmi-utils/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmicli $(1)/usr/bin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-network $(1)/usr/bin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-firmware-update $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libqmi))
|
||||
$(eval $(call BuildPackage,qmi-utils))
|
0
luci-app-dsvpn/po/fr/dsvpn.po~
Normal file → Executable file
0
luci-app-dsvpn/po/ru/dsvpn.po
Normal file → Executable file
0
luci-app-dsvpn/po/zh_Hans/dsvpn.po~
Normal file → Executable file
0
luci-app-glorytun-tcp/po/fr/glorytun-tcp.po~
Normal file → Executable file
0
luci-app-glorytun-tcp/po/ru/glorytun-tcp.po
Normal file → Executable file
0
luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po~
Normal file → Executable file
0
luci-app-glorytun-udp/po/fr/glorytun-udp.po~
Normal file → Executable file
0
luci-app-glorytun-udp/po/ru/glorytun-udp.po
Normal file → Executable file
0
luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po~
Normal file → Executable file
0
luci-app-iperf/po/de/iperf.po~
Normal file → Executable file
0
luci-app-iperf/po/fr/iperf.po~
Normal file → Executable file
0
luci-app-iperf/po/it/iperf.po~
Normal file → Executable file
0
luci-app-iperf/po/oc/iperf.po~
Normal file → Executable file
0
luci-app-iperf/po/ru/iperf.po
Normal file → Executable file
0
luci-app-iperf/po/zh_Hans/iperf.po~
Normal file → Executable file
0
luci-app-mail/po/de/mail.po~
Normal file → Executable file
0
luci-app-mail/po/fr/mail.po~
Normal file → Executable file
0
luci-app-mail/po/it/mail.po~
Normal file → Executable file
0
luci-app-mail/po/oc/mail.po~
Normal file → Executable file
0
luci-app-mail/po/ru/mail.po
Normal file → Executable file
0
luci-app-mail/po/zh_Hans/mail.po~
Normal file → Executable file
0
luci-app-mlvpn/po/fr/mlvpn.po~
Normal file → Executable file
0
luci-app-mlvpn/po/ru/mlvpn.po
Normal file → Executable file
0
luci-app-mlvpn/po/zh_Hans/mlvpn.po~
Normal file → Executable file
0
luci-app-mptcp/po/de/mptcp.po~
Normal file → Executable file
0
luci-app-mptcp/po/it/mptcp.po~
Normal file → Executable file
0
luci-app-mptcp/po/oc/mptcp.po~
Normal file → Executable file
0
luci-app-mptcp/po/ru/mptcp.po
Normal file → Executable file
0
luci-app-omr-bypass/po/de/omr-bypass.po~
Normal file → Executable file
0
luci-app-omr-bypass/po/it/omr-bypass.po~
Normal file → Executable file
0
luci-app-omr-bypass/po/oc/omr-bypass.po~
Normal file → Executable file
0
luci-app-omr-bypass/po/ru/omr-bypass.po
Normal file → Executable file
|
@ -539,7 +539,7 @@ _intf_rule() {
|
|||
EOF
|
||||
else
|
||||
ip rule add prio 1 fwmark 0x539$count lookup $count pref 1 > /dev/null 2>&1
|
||||
ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count > /dev/null 2>&1
|
||||
ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count pref 1 > /dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
if [ "$(iptables-save | grep omr-bypass | grep omr_dst_bypass_$intf)" = "" ]; then
|
||||
|
|
0
luci-app-omr-dscp/po/de/omr-dscp.po~
Normal file → Executable file
0
luci-app-omr-dscp/po/fr/omr-dscp.po~
Normal file → Executable file
0
luci-app-omr-dscp/po/it/omr-dscp.po~
Normal file → Executable file
0
luci-app-omr-dscp/po/oc/omr-dscp.po~
Normal file → Executable file
0
luci-app-omr-dscp/po/zh_Hans/omr-dscp.po~
Normal file → Executable file
|
@ -19,10 +19,10 @@ config_get lan_device lan ifname
|
|||
config_load dscp
|
||||
|
||||
_ipt4() {
|
||||
iptables -w -t mangle "$@"
|
||||
iptables -w -t mangle "$@" 2>&1 >/dev/null
|
||||
}
|
||||
_ipt6() {
|
||||
ip6tables -w -t mangle "$@"
|
||||
ip6tables -w -t mangle "$@" >/dev/null
|
||||
}
|
||||
|
||||
_add_dscp_rule() {
|
||||
|
|
0
luci-app-omr-quota/po/de/omr-quota.po~
Normal file → Executable file
0
luci-app-omr-quota/po/fr/omr-quota.po~
Normal file → Executable file
0
luci-app-omr-quota/po/it/omr-quota.po~
Normal file → Executable file
0
luci-app-omr-quota/po/oc/omr-quota.po~
Normal file → Executable file
0
luci-app-omr-quota/po/ru/omr-quota.po
Normal file → Executable file
0
luci-app-omr-quota/po/zh_Hans/omr-quota.po~
Normal file → Executable file
0
luci-app-omr-tracker/po/de/omr-tracker.po~
Normal file → Executable file
0
luci-app-omr-tracker/po/fr/omr-tracker.po~
Normal file → Executable file
0
luci-app-omr-tracker/po/it/omr-tracker.po~
Normal file → Executable file
0
luci-app-omr-tracker/po/oc/omr-tracker.po~
Normal file → Executable file
|
@ -201,7 +201,7 @@ function wizard_add()
|
|||
ucic:set("sqm","wan" .. i,"script","simple.qos")
|
||||
ucic:set("sqm","wan" .. i,"qdisc_advanced","0")
|
||||
ucic:set("sqm","wan" .. i,"linklayer","none")
|
||||
ucic:set("sqm","wan" .. i,"enabled","0")
|
||||
ucic:set("sqm","wan" .. i,"enabled","1")
|
||||
ucic:set("sqm","wan" .. i,"debug_logging","0")
|
||||
ucic:set("sqm","wan" .. i,"verbosity","5")
|
||||
ucic:set("sqm","wan" .. i,"download","0")
|
||||
|
|
|
@ -682,7 +682,7 @@
|
|||
<div class="cbi-value" id="cbi-network-<%=ifname%>-ipv6address" data-index="8">
|
||||
<label class="cbi-value-title"><%:IPv6 address%></label>
|
||||
<div class="cbi-value-field">
|
||||
<input type="text" id="cbid.network.<%=ifname%>.ip6addr" name="cbid.network.<%=ifname%>.ip6addr" class="cbi-input-text" value="<%=value%>" data-type="ip6addr">
|
||||
<input type="text" id="cbid.network.<%=ifname%>.ip6addr" name="cbid.network.<%=ifname%>.ip6addr" class="cbi-input-text" value="<%=value%>" data-type="ip6addr" data-optional="true">
|
||||
<br />
|
||||
<div class="cbi-value-description">
|
||||
<%:Set an IP in the same network as the modem%>
|
||||
|
@ -696,7 +696,7 @@
|
|||
<div class="cbi-value" id="cbi-network-<%=ifname%>-ip6gw" data-index="9">
|
||||
<label class="cbi-value-title"><%:IPv6 gateway%></label>
|
||||
<div class="cbi-value-field">
|
||||
<input type="text" id="cbid.network.<%=ifname%>.ip6gw" name="cbid.network.<%=ifname%>.ip6gw" class="cbi-input-text" value="<%=uci:get("network",ifname,"ip6gw")%>" data-type="ip6addr">
|
||||
<input type="text" id="cbid.network.<%=ifname%>.ip6gw" name="cbid.network.<%=ifname%>.ip6gw" class="cbi-input-text" value="<%=uci:get("network",ifname,"ip6gw")%>" data-type="ip6addr" data-optional="true">
|
||||
<br />
|
||||
<div class="cbi-value-description">
|
||||
<%:Set here IP of the modem%>
|
||||
|
@ -896,7 +896,7 @@
|
|||
<div class="cbi-value" data-index="14">
|
||||
<label class="cbi-value-title"><%:Force TTL%></label>
|
||||
<div class="cbi-value-field">
|
||||
<input type="text" name="cbid.network.<%=ifname%>.ttl" class="cbi-input-text" value="<%=ttl%>" data-type="uinteger">
|
||||
<input type="text" name="cbid.network.<%=ifname%>.ttl" class="cbi-input-text" value="<%=ttl%>" data-type="uinteger" data-optional="true">
|
||||
<br />
|
||||
<div class="cbi-value-description">
|
||||
<%:You can force a TTL. Some LTE provider detect tethering by inpecting packet TTL value, setting it to 65 often solve the issue.%>
|
||||
|
|
0
luci-app-openmptcprouter/po/de/openmptcprouter.po~
Normal file → Executable file
0
luci-app-openmptcprouter/po/fr/openmptcprouter.po~
Normal file → Executable file
0
luci-app-openmptcprouter/po/it/openmptcprouter.po~
Normal file → Executable file
0
luci-app-openmptcprouter/po/oc/openmptcprouter.po~
Normal file → Executable file
0
luci-app-openmptcprouter/po/zh_Hans/openmptcprouter.po~
Normal file → Executable file
|
@ -150,15 +150,15 @@ start_service() {
|
|||
if [ "$(uci -q get openmptcprouter.settings.country)" = "china" ] && [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" ]; then
|
||||
uci -q batch <<-EOF > /dev/null
|
||||
del_list dhcp.@dnsmasq[0].server='127.0.0.1#5353'
|
||||
add_list dhcp.@dnsmasq[0].server='223.5.5.5'
|
||||
add_list dhcp.@dnsmasq[0].server='114.114.114.114'
|
||||
set dhcp.@dnsmasq[0].dnsseccheckunsigned='0'
|
||||
delete dhcp.@dnsmasq[0].dnssec
|
||||
commit dhcp
|
||||
EOF
|
||||
elif [ "$(uci -q get openmptcprouter.settings.country)" = "world" ] && [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '223.5.5.5')" ]; then
|
||||
elif [ "$(uci -q get openmptcprouter.settings.country)" = "world" ] && [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '114.114.114.114')" ]; then
|
||||
uci -q batch <<-EOF > /dev/null
|
||||
add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353'
|
||||
del_list dhcp.@dnsmasq[0].server='223.5.5.5'
|
||||
del_list dhcp.@dnsmasq[0].server='114.114.114.114'
|
||||
commit dhcp
|
||||
EOF
|
||||
fi
|
||||
|
|
0
luci-app-packet-capture/po/zh_Hans/packet-capture.po
Normal file → Executable file
0
luci-app-shutdown/po/fr/shutdown.po
Normal file → Executable file
0
luci-app-shutdown/po/ru/shutdown.po
Normal file → Executable file
0
luci-app-status/Makefile
Normal file → Executable file
0
luci-app-status/htdocs/luci-static/resources/status/css/wanstatus.css
Normal file → Executable file
0
luci-app-status/htdocs/luci-static/resources/status/images/status-doing.png
Normal file → Executable file
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
0
luci-app-status/htdocs/luci-static/resources/status/images/status-done.png
Normal file → Executable file
Before Width: | Height: | Size: 607 B After Width: | Height: | Size: 607 B |
0
luci-app-status/htdocs/luci-static/resources/status/images/status-error.png
Normal file → Executable file
Before Width: | Height: | Size: 575 B After Width: | Height: | Size: 575 B |
0
luci-app-status/htdocs/luci-static/resources/status/images/status-todo.png
Normal file → Executable file
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
0
luci-app-status/htdocs/luci-static/resources/status/images/status-warn.png
Normal file → Executable file
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 544 B |
0
luci-app-status/htdocs/luci-static/resources/status/images/statusError.png
Normal file → Executable file
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
0
luci-app-status/htdocs/luci-static/resources/status/images/statusOK.png
Normal file → Executable file
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
0
luci-app-status/htdocs/luci-static/resources/status/images/statusWarning.png
Normal file → Executable file
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |