mirror of
https://github.com/2dust/v2rayNG.git
synced 2025-06-28 20:29:51 +00:00
parent
73a7c76183
commit
87213c34a6
2 changed files with 99 additions and 99 deletions
|
@ -1,37 +1,32 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -o errexit
|
set -o errexit
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
# Set magic variables for current file & dir
|
# Set magic variables for current file & dir
|
||||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
||||||
__base="$(basename "${__file}" .sh)"
|
__base="$(basename ${__file} .sh)"
|
||||||
|
|
||||||
if [[ ! -d $NDK_HOME ]]; then
|
if [[ ! -d $NDK_HOME ]]; then
|
||||||
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TMPDIR=$(mktemp -d)
|
TMPDIR=$(mktemp -d)
|
||||||
clear_tmp () {
|
clear_tmp () {
|
||||||
rm -rf "$TMPDIR"
|
rm -rf $TMPDIR
|
||||||
}
|
}
|
||||||
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
|
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
|
||||||
|
install -m644 $__dir/tun2socks.mk $TMPDIR/
|
||||||
install -m644 "$__dir/tun2socks.mk" "$TMPDIR/"
|
pushd $TMPDIR
|
||||||
pushd "$TMPDIR"
|
ln -s $__dir/badvpn badvpn
|
||||||
ln -s "$__dir/badvpn" badvpn
|
ln -s $__dir/libancillary libancillary
|
||||||
ln -s "$__dir/libancillary" libancillary
|
|
||||||
$NDK_HOME/ndk-build \
|
$NDK_HOME/ndk-build \
|
||||||
NDK_PROJECT_PATH=. \
|
NDK_PROJECT_PATH=. \
|
||||||
APP_BUILD_SCRIPT=./tun2socks.mk \
|
APP_BUILD_SCRIPT=./tun2socks.mk \
|
||||||
APP_ABI=all \
|
APP_ABI=all \
|
||||||
APP_PLATFORM=android-21 \
|
APP_PLATFORM=android-21 \
|
||||||
NDK_LIBS_OUT="$TMPDIR/libs" \
|
NDK_LIBS_OUT=$TMPDIR/libs \
|
||||||
NDK_OUT="$TMPDIR/tmp" \
|
NDK_OUT=$TMPDIR/tmp \
|
||||||
APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4
|
APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4
|
||||||
cp -r "$TMPDIR/libs" "$__dir/"
|
cp -r $TMPDIR/libs $__dir/
|
||||||
popd
|
popd
|
||||||
rm -rf "$TMPDIR"
|
rm -rf $TMPDIR
|
||||||
|
|
159
tun2socks.mk
159
tun2socks.mk
|
@ -15,17 +15,16 @@
|
||||||
#
|
#
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
ROOT_PATH := $(LOCAL_PATH)
|
ROOT_PATH := $(LOCAL_PATH)
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
## libancillary
|
## libancillary
|
||||||
########################################################
|
########################################################
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
ANCILLARY_SOURCE := fd_recv.c fd_send.c
|
ANCILLARY_SOURCE := fd_recv.c fd_send.c
|
||||||
LOCAL_MODULE := libancillary
|
LOCAL_MODULE := libancillary
|
||||||
|
#LOCAL_CFLAGS += -I$(LOCAL_PATH)/libancillary
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary
|
||||||
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
|
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
## tun2socks
|
## tun2socks
|
||||||
########################################################
|
########################################################
|
||||||
|
@ -35,85 +34,91 @@ LOCAL_CFLAGS += -DBADVPN_THREADWORK_USE_PTHREAD -DBADVPN_LINUX -DBADVPN_BREACTOR
|
||||||
LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL
|
LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL
|
||||||
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
|
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
|
||||||
LOCAL_CFLAGS += -DNDEBUG -DANDROID
|
LOCAL_CFLAGS += -DNDEBUG -DANDROID
|
||||||
LOCAL_CFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2
|
LOCAL_CFLAGS += -I
|
||||||
LOCAL_LDFLAGS := -Wl,-z,relro,-z,now
|
|
||||||
LOCAL_STATIC_LIBRARIES := libancillary
|
LOCAL_STATIC_LIBRARIES := libancillary
|
||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \
|
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \
|
||||||
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv6 \
|
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv6 \
|
||||||
$(LOCAL_PATH)/badvpn/lwip/src/include \
|
$(LOCAL_PATH)/badvpn/lwip/src/include \
|
||||||
$(LOCAL_PATH)/badvpn/lwip/custom \
|
$(LOCAL_PATH)/badvpn/lwip/custom \
|
||||||
$(LOCAL_PATH)/badvpn \
|
$(LOCAL_PATH)/badvpn \
|
||||||
$(LOCAL_PATH)/libancillary
|
$(LOCAL_PATH)/libancillary
|
||||||
|
|
||||||
TUN2SOCKS_SOURCES := \
|
TUN2SOCKS_SOURCES := \
|
||||||
base/BLog_syslog.c \
|
base/BLog_syslog.c \
|
||||||
system/BReactor_badvpn.c \
|
system/BReactor_badvpn.c \
|
||||||
system/BSignal.c \
|
system/BSignal.c \
|
||||||
system/BConnection_common.c \
|
system/BConnection_common.c \
|
||||||
system/BConnection_unix.c \
|
system/BConnection_unix.c \
|
||||||
system/BTime.c \
|
system/BTime.c \
|
||||||
system/BUnixSignal.c \
|
system/BUnixSignal.c \
|
||||||
system/BNetwork.c \
|
system/BNetwork.c \
|
||||||
system/BDatagram_common.c \
|
system/BDatagram_common.c \
|
||||||
system/BDatagram_unix.c \
|
system/BDatagram_unix.c \
|
||||||
flow/StreamRecvInterface.c \
|
flow/StreamRecvInterface.c \
|
||||||
flow/PacketRecvInterface.c \
|
flow/PacketRecvInterface.c \
|
||||||
flow/PacketPassInterface.c \
|
flow/PacketPassInterface.c \
|
||||||
flow/StreamPassInterface.c \
|
flow/StreamPassInterface.c \
|
||||||
flow/SinglePacketBuffer.c \
|
flow/SinglePacketBuffer.c \
|
||||||
flow/BufferWriter.c \
|
flow/BufferWriter.c \
|
||||||
flow/PacketBuffer.c \
|
flow/PacketBuffer.c \
|
||||||
flow/PacketStreamSender.c \
|
flow/PacketStreamSender.c \
|
||||||
flow/PacketPassConnector.c \
|
flow/PacketPassConnector.c \
|
||||||
flow/PacketProtoFlow.c \
|
flow/PacketProtoFlow.c \
|
||||||
flow/PacketPassFairQueue.c \
|
flow/PacketPassFairQueue.c \
|
||||||
flow/PacketProtoEncoder.c \
|
flow/PacketProtoEncoder.c \
|
||||||
flow/PacketProtoDecoder.c \
|
flow/PacketProtoDecoder.c \
|
||||||
socksclient/BSocksClient.c \
|
socksclient/BSocksClient.c \
|
||||||
tuntap/BTap.c \
|
tuntap/BTap.c \
|
||||||
lwip/src/core/udp.c \
|
lwip/src/core/udp.c \
|
||||||
lwip/src/core/memp.c \
|
lwip/src/core/memp.c \
|
||||||
lwip/src/core/init.c \
|
lwip/src/core/init.c \
|
||||||
lwip/src/core/pbuf.c \
|
lwip/src/core/pbuf.c \
|
||||||
lwip/src/core/tcp.c \
|
lwip/src/core/tcp.c \
|
||||||
lwip/src/core/tcp_out.c \
|
lwip/src/core/tcp_out.c \
|
||||||
lwip/src/core/netif.c \
|
lwip/src/core/netif.c \
|
||||||
lwip/src/core/def.c \
|
lwip/src/core/def.c \
|
||||||
lwip/src/core/ip.c \
|
lwip/src/core/ip.c \
|
||||||
lwip/src/core/mem.c \
|
lwip/src/core/mem.c \
|
||||||
lwip/src/core/tcp_in.c \
|
lwip/src/core/tcp_in.c \
|
||||||
lwip/src/core/stats.c \
|
lwip/src/core/stats.c \
|
||||||
lwip/src/core/inet_chksum.c \
|
lwip/src/core/inet_chksum.c \
|
||||||
lwip/src/core/timeouts.c \
|
lwip/src/core/timeouts.c \
|
||||||
lwip/src/core/ipv4/icmp.c \
|
lwip/src/core/ipv4/icmp.c \
|
||||||
lwip/src/core/ipv4/igmp.c \
|
lwip/src/core/ipv4/igmp.c \
|
||||||
lwip/src/core/ipv4/ip4_addr.c \
|
lwip/src/core/ipv4/ip4_addr.c \
|
||||||
lwip/src/core/ipv4/ip4_frag.c \
|
lwip/src/core/ipv4/ip4_frag.c \
|
||||||
lwip/src/core/ipv4/ip4.c \
|
lwip/src/core/ipv4/ip4.c \
|
||||||
lwip/src/core/ipv4/autoip.c \
|
lwip/src/core/ipv4/autoip.c \
|
||||||
lwip/src/core/ipv6/ethip6.c \
|
lwip/src/core/ipv6/ethip6.c \
|
||||||
lwip/src/core/ipv6/inet6.c \
|
lwip/src/core/ipv6/inet6.c \
|
||||||
lwip/src/core/ipv6/ip6_addr.c \
|
lwip/src/core/ipv6/ip6_addr.c \
|
||||||
lwip/src/core/ipv6/mld6.c \
|
lwip/src/core/ipv6/mld6.c \
|
||||||
lwip/src/core/ipv6/dhcp6.c \
|
lwip/src/core/ipv6/dhcp6.c \
|
||||||
lwip/src/core/ipv6/icmp6.c \
|
lwip/src/core/ipv6/icmp6.c \
|
||||||
lwip/src/core/ipv6/ip6.c \
|
lwip/src/core/ipv6/ip6.c \
|
||||||
lwip/src/core/ipv6/ip6_frag.c \
|
lwip/src/core/ipv6/ip6_frag.c \
|
||||||
lwip/src/core/ipv6/nd6.c \
|
lwip/src/core/ipv6/nd6.c \
|
||||||
lwip/custom/sys.c \
|
lwip/custom/sys.c \
|
||||||
tun2socks/tun2socks.c \
|
tun2socks/tun2socks.c \
|
||||||
base/DebugObject.c \
|
base/DebugObject.c \
|
||||||
base/BLog.c \
|
base/BLog.c \
|
||||||
base/BPending.c \
|
base/BPending.c \
|
||||||
flowextra/PacketPassInactivityMonitor.c \
|
flowextra/PacketPassInactivityMonitor.c \
|
||||||
tun2socks/SocksUdpGwClient.c \
|
tun2socks/SocksUdpGwClient.c \
|
||||||
udpgw_client/UdpGwClient.c \
|
udpgw_client/UdpGwClient.c \
|
||||||
socks_udp_client/SocksUdpClient.c
|
socks_udp_client/SocksUdpClient.c
|
||||||
|
|
||||||
LOCAL_MODULE := tun2socks
|
LOCAL_MODULE := tun2socks
|
||||||
LOCAL_LDLIBS := -ldl -llog
|
LOCAL_LDLIBS := -ldl -llog
|
||||||
LOCAL_LDFLAGS := -Wl,--build-id=none
|
LOCAL_LDFLAGS=-Wl,--build-id=none
|
||||||
LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES))
|
LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES))
|
||||||
include $(BUILD_EXECUTABLE)
|
LOCAL_BUILD_SCRIPT := BUILD_EXECUTABLE
|
||||||
|
LOCAL_MAKEFILE := $(local-makefile)
|
||||||
|
$(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
|
||||||
|
$(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
|
||||||
|
$(call check-LOCAL_MODULE_FILENAME)
|
||||||
|
# we are building target objects
|
||||||
|
my := TARGET_
|
||||||
|
$(call handle-module-filename,lib,$(TARGET_SONAME_EXTENSION))
|
||||||
|
$(call handle-module-built)
|
||||||
|
LOCAL_MODULE_CLASS := EXECUTABLE
|
||||||
include $(BUILD_SYSTEM)/build-module.mk
|
include $(BUILD_SYSTEM)/build-module.mk
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue