├── README ├── openssl1.1 ├── Makefile └── patches │ └── 1.1.1 │ ├── 100-Configure-afalg-support.patch │ ├── 110-openwrt_targets.patch │ ├── 120-strip-cflags-from-binary.patch │ └── 130-dont-build-tests-fuzz.patch └── trojan ├── Makefile ├── files ├── trojan.config └── trojan.init └── patches └── 001-force-openssl-version.patch /README: -------------------------------------------------------------------------------- 1 | openwrt-trojan 2 | ============== 3 | 4 | Usage 5 | --- 6 | 7 | 1. copy these two folders to /package. 8 | 9 | 2. install feeds from openwrt official package repository. 10 | 11 | ./scripts/feeds update -a 12 | ./scripts/feeds install -a 13 | 14 | 3. use 'make menuconfig' to select trojan package 15 | 16 | 4. the buildroot generate trojan binary linked to our openssl. 17 | You may use 'make package/trojan/{clean,compile} V=99' or 18 | whatever you like. 19 | 20 | 5. edit '/etc/config/trojan' file to enable it. 21 | The init script is disabled by default to avoid startup 22 | before configuration. 23 | 24 | FAQ 25 | --- 26 | 27 | Q: May I use openssl from openwrt? 28 | A: As long as you don't need cutting-edge features, e.g. TLS 1.3. 29 | BTW, the Makefile doesn't depend on official openssl package. 30 | -------------------------------------------------------------------------------- /openssl1.1/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2006-2016 OpenWrt.org 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | ### Modified by wongsyrone to fit need of trojan-gfw/trojan 9 | 10 | include $(TOPDIR)/rules.mk 11 | 12 | PKG_NAME:=openssl1.1 13 | 14 | PKG_BASE:=1.1.1 15 | PKG_BUGFIX:=k 16 | PKG_VERSION:=$(PKG_BASE)$(PKG_BUGFIX) 17 | PKG_HASH:=892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5 18 | ENGINES_DIR=engines-1.1 19 | 20 | 21 | PKG_RELEASE:=1 22 | PKG_USE_MIPS16:=0 23 | PATCH_DIR=./patches/$(PKG_BASE) 24 | 25 | PKG_BUILD_PARALLEL:=0 26 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/openssl-$(PKG_VERSION) 27 | 28 | PKG_SOURCE:=openssl-$(PKG_VERSION).tar.gz 29 | PKG_SOURCE_URL:= \ 30 | http://www.openssl.org/source/ \ 31 | http://www.openssl.org/source/old/$(PKG_BASE)/ \ 32 | http://ftp.fi.muni.cz/pub/openssl/source/ \ 33 | http://ftp.fi.muni.cz/pub/openssl/source/old/$(PKG_BASE)/ \ 34 | ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \ 35 | ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/ 36 | 37 | PKG_LICENSE:=OpenSSL 38 | PKG_LICENSE_FILES:=LICENSE 39 | PKG_CPE_ID:=cpe:/a:openssl:openssl 40 | 41 | include $(INCLUDE_DIR)/package.mk 42 | 43 | ifneq ($(CONFIG_CCACHE),) 44 | HOSTCC=$(HOSTCC_NOCACHE) 45 | HOSTCXX=$(HOSTCXX_NOCACHE) 46 | endif 47 | 48 | define Package/$(PKG_NAME)/Default 49 | TITLE:=Open source SSL toolkit 50 | URL:=http://www.openssl.org/ 51 | SECTION:=libs 52 | CATEGORY:=Libraries 53 | endef 54 | 55 | define Package/openssl1.1/Default/description 56 | The OpenSSL Project is a collaborative effort to develop a robust, 57 | commercial-grade, full-featured, and Open Source toolkit implementing the 58 | Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols as well 59 | as a full-strength general-purpose cryptography library. 60 | endef 61 | 62 | define Package/libopenssl1.1 63 | $(call Package/openssl1.1/Default) 64 | SUBMENU:=SSL 65 | TITLE+= (libraries) 66 | ABI_VERSION:=$(PKG_VERSION) 67 | MENU:=1 68 | endef 69 | 70 | define Package/libopenssl1.1/description 71 | $(call Package/openssl/Default/description) 72 | This package contains the OpenSSL shared libraries, needed by other programs. 73 | endef 74 | 75 | 76 | define Package/libopenssl1.1/conffiles 77 | /etc/ssl/openssl.cnf 78 | endef 79 | 80 | # do NOT interfere original openssl staging dir 81 | MY_PKG_STAGING_DIR:=$(BUILD_DIR)/openssl1.1_staging_dir 82 | 83 | OPENSSL_OPTIONS:= no-shared no-ssl3-method 84 | 85 | # https://github.com/openssl/openssl/issues/1607 86 | # it seems musl-libc doesn't support this 87 | OPENSSL_OPTIONS += no-async 88 | 89 | OPENSSL_OPTIONS += no-sm2 no-sm3 no-sm4 90 | 91 | OPENSSL_OPTIONS += no-idea 92 | 93 | OPENSSL_OPTIONS += no-seed 94 | 95 | OPENSSL_OPTIONS += no-whirlpool 96 | 97 | OPENSSL_OPTIONS += no-deprecated 98 | 99 | TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) -O3 100 | 101 | 102 | 103 | OPENSSL_TARGET:=linux-$(call qstrip,$(CONFIG_ARCH))-openwrt 104 | 105 | 106 | STAMP_CONFIGURED := $(STAMP_CONFIGURED)_$(shell echo $(OPENSSL_OPTIONS) | mkhash md5) 107 | 108 | define Build/Configure 109 | [ -f $(STAMP_CONFIGURED) ] || { \ 110 | rm -f $(PKG_BUILD_DIR)/*.so.* $(PKG_BUILD_DIR)/*.a; \ 111 | find $(PKG_BUILD_DIR) -name \*.o | xargs rm -f; \ 112 | rm -rf $(MY_PKG_STAGING_DIR); \ 113 | } 114 | (cd $(PKG_BUILD_DIR); \ 115 | ./Configure $(OPENSSL_TARGET) \ 116 | --prefix=/usr \ 117 | --openssldir=/etc/ssl \ 118 | --libdir=lib \ 119 | $(TARGET_CPPFLAGS) \ 120 | $(TARGET_LDFLAGS) \ 121 | $(OPENSSL_OPTIONS) && \ 122 | { [ -f $(STAMP_CONFIGURED) ] || make clean; } \ 123 | ) 124 | 125 | endef 126 | 127 | TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections 128 | TARGET_LDFLAGS += -Wl,--gc-sections 129 | 130 | define Build/Compile 131 | +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ 132 | CROSS_COMPILE="$(TARGET_CROSS)" \ 133 | CC="$(TARGET_CC)" \ 134 | SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ 135 | OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \ 136 | $(OPENSSL_MAKEFLAGS) \ 137 | all 138 | $(MAKE) -C $(PKG_BUILD_DIR) \ 139 | CROSS_COMPILE="$(TARGET_CROSS)" \ 140 | CC="$(TARGET_CC)" \ 141 | DESTDIR="$(PKG_INSTALL_DIR)" \ 142 | $(OPENSSL_MAKEFLAGS) \ 143 | install_sw install_ssldirs 144 | endef 145 | 146 | define Build/InstallDev 147 | $(INSTALL_DIR) $(MY_PKG_STAGING_DIR)/usr/include 148 | $(CP) $(PKG_INSTALL_DIR)/usr/include/openssl $(MY_PKG_STAGING_DIR)/usr/include/ 149 | $(INSTALL_DIR) $(MY_PKG_STAGING_DIR)/usr/lib/ 150 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{crypto,ssl}.a $(MY_PKG_STAGING_DIR)/usr/lib/ 151 | endef 152 | 153 | define Build/Clean 154 | rm -rf $(MY_PKG_STAGING_DIR) 155 | $(call Build/Clean/Default) 156 | endef 157 | 158 | define Package/libopenssl1.1/install 159 | true 160 | endef 161 | 162 | $(eval $(call BuildPackage,libopenssl1.1)) 163 | -------------------------------------------------------------------------------- /openssl1.1/patches/1.1.1/100-Configure-afalg-support.patch: -------------------------------------------------------------------------------- 1 | From 559fbff13af9ce2fbc0b9bc5727a7323e1db6217 Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:29:21 -0300 4 | Subject: Do not use host kernel version to disable AFALG 5 | 6 | This patch prevents the Configure script from using the host kernel 7 | version to disable building the AFALG engine on openwrt targets. 8 | 9 | Signed-off-by: Eneas U de Queiroz 10 | 11 | diff --git a/Configure b/Configure 12 | index 5a699836f3..74d057c219 100755 13 | --- a/Configure 14 | +++ b/Configure 15 | @@ -1545,7 +1545,9 @@ unless ($disabled{"crypto-mdebug-backtrace"}) 16 | 17 | unless ($disabled{afalgeng}) { 18 | $config{afalgeng}=""; 19 | - if (grep { $_ eq 'afalgeng' } @{$target{enable}}) { 20 | + if ($target =~ m/openwrt$/) { 21 | + push @{$config{engdirs}}, "afalg"; 22 | + } elsif (grep { $_ eq 'afalgeng' } @{$target{enable}}) { 23 | my $minver = 4*10000 + 1*100 + 0; 24 | if ($config{CROSS_COMPILE} eq "") { 25 | my $verstr = `uname -r`; 26 | -------------------------------------------------------------------------------- /openssl1.1/patches/1.1.1/110-openwrt_targets.patch: -------------------------------------------------------------------------------- 1 | From 3d43acc6068f00dbfc0c9a06355e2c8f7d302d0f Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:30:24 -0300 4 | Subject: Add openwrt targets 5 | 6 | Targets are named: linux-$(CONFIG_ARCH)-openwrt 7 | 8 | Signed-off-by: Eneas U de Queiroz 9 | 10 | diff --git a/Configurations/25-openwrt.conf b/Configurations/25-openwrt.conf 11 | new file mode 100644 12 | index 0000000000..86a86d31e4 13 | --- /dev/null 14 | +++ b/Configurations/25-openwrt.conf 15 | @@ -0,0 +1,48 @@ 16 | +## Openwrt "CONFIG_ARCH" matching targets. 17 | + 18 | +# The targets need to end in '-openwrt' for the AFALG patch to work 19 | + 20 | +my %targets = ( 21 | + "openwrt" => { 22 | + template => 1, 23 | + CFLAGS => add("\$(OPENWRT_OPTIMIZATION_FLAGS)"), 24 | + }, 25 | + "linux-aarch64-openwrt" => { 26 | + inherit_from => [ "linux-aarch64", "openwrt" ], 27 | + }, 28 | + "linux-arc-openwrt" => { 29 | + inherit_from => [ "linux-generic32", "openwrt" ], 30 | + }, 31 | + "linux-arm-openwrt" => { 32 | + inherit_from => [ "linux-armv4", "openwrt" ], 33 | + }, 34 | + "linux-armeb-openwrt" => { 35 | + inherit_from => [ "linux-armv4", "openwrt" ], 36 | + }, 37 | + "linux-i386-openwrt" => { 38 | + inherit_from => [ "linux-x86", "openwrt" ], 39 | + }, 40 | + "linux-mips-openwrt" => { 41 | + inherit_from => [ "linux-mips32", "openwrt" ], 42 | + }, 43 | + "linux-mips64-openwrt" => { 44 | + inherit_from => [ "linux64-mips64", "openwrt" ], 45 | + }, 46 | + "linux-mips64el-openwrt" => { 47 | + inherit_from => [ "linux64-mips64", "openwrt" ], 48 | + }, 49 | + "linux-mipsel-openwrt" => { 50 | + inherit_from => [ "linux-mips32", "openwrt" ], 51 | + }, 52 | + "linux-powerpc-openwrt" => { 53 | + inherit_from => [ "linux-ppc", "openwrt" ], 54 | + }, 55 | + "linux-x86_64-openwrt" => { 56 | + inherit_from => [ "linux-x86_64", "openwrt" ], 57 | + }, 58 | + 59 | +### Basic default option 60 | + "linux-generic32-openwrt" => { 61 | + inherit_from => [ "linux-generic32", "openwrt" ], 62 | + }, 63 | +); 64 | -------------------------------------------------------------------------------- /openssl1.1/patches/1.1.1/120-strip-cflags-from-binary.patch: -------------------------------------------------------------------------------- 1 | From 4ad8f2fe6bf3b91df7904fcbe960e5fdfca36336 Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:31:38 -0300 4 | Subject: Avoid exposing build directories 5 | 6 | The CFLAGS contain the build directories, and are shown by calling 7 | OpenSSL_version(OPENSSL_CFLAGS), or running openssl version -a 8 | 9 | Signed-off-by: Eneas U de Queiroz 10 | 11 | diff --git a/crypto/build.info b/crypto/build.info 12 | index 2c619c62e8..893128345a 100644 13 | --- a/crypto/build.info 14 | +++ b/crypto/build.info 15 | @@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ 16 | ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl 17 | 18 | DEPEND[cversion.o]=buildinf.h 19 | -GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" 20 | +GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(filter-out -I% -iremap% -fmacro-prefix-map% -ffile-prefix-map%,$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q))" "$(PLATFORM)" 21 | DEPEND[buildinf.h]=../configdata.pm 22 | 23 | GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME) 24 | -------------------------------------------------------------------------------- /openssl1.1/patches/1.1.1/130-dont-build-tests-fuzz.patch: -------------------------------------------------------------------------------- 1 | From ba2fe646f2d9104a18b066e43582154049e9ffcb Mon Sep 17 00:00:00 2001 2 | From: Eneas U de Queiroz 3 | Date: Thu, 27 Sep 2018 08:34:38 -0300 4 | Subject: Do not build tests and fuzz directories 5 | 6 | This shortens build time. 7 | 8 | Signed-off-by: Eneas U de Queiroz 9 | 10 | diff --git a/Configure b/Configure 11 | index 74d057c219..5813e9f8fe 100755 12 | --- a/Configure 13 | +++ b/Configure 14 | @@ -318,7 +318,7 @@ my $auto_threads=1; # enable threads automatically? true by default 15 | my $default_ranlib; 16 | 17 | # Top level directories to build 18 | -$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ]; 19 | +$config{dirs} = [ "crypto", "ssl", "engines", "apps", "util", "tools" ]; 20 | # crypto/ subdirectories to build 21 | $config{sdirs} = [ 22 | "objects", 23 | @@ -330,7 +330,7 @@ $config{sdirs} = [ 24 | "cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store" 25 | ]; 26 | # test/ subdirectories to build 27 | -$config{tdirs} = [ "ossl_shim" ]; 28 | +$config{tdirs} = []; 29 | 30 | # Known TLS and DTLS protocols 31 | my @tls = qw(ssl3 tls1 tls1_1 tls1_2 tls1_3); 32 | -------------------------------------------------------------------------------- /trojan/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2018-2020 wongsyrone 3 | # 4 | # This is free software, licensed under the GNU General Public License v3. 5 | # See /LICENSE for more information. 6 | # 7 | include $(TOPDIR)/rules.mk 8 | 9 | PKG_NAME:=trojan 10 | PKG_VERSION:=1.16.0 11 | PKG_RELEASE:=1 12 | 13 | PKG_SOURCE_PROTO:=git 14 | PKG_SOURCE_URL:=https://github.com/trojan-gfw/trojan.git 15 | PKG_MIRROR_HASH:=2f7f60ae2ef6e57b9565b984df2e7b9560786ad0a63402e93523804f140e39ca 16 | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) 17 | PKG_SOURCE_VERSION:=8606b7110fe79f8ab02d60c897f87ffb0a9b23f0 18 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz 19 | CMAKE_INSTALL:=1 20 | PKG_BUILD_PARALLEL:=1 21 | 22 | PKG_BUILD_DEPENDS:=openssl1.1 23 | 24 | PKG_LICENSE:=GPL-3.0 25 | 26 | PKG_MAINTAINER:=GreaterFire 27 | 28 | include $(INCLUDE_DIR)/package.mk 29 | include $(INCLUDE_DIR)/cmake.mk 30 | 31 | TARGET_CXXFLAGS += -Wall -Wextra 32 | TARGET_CXXFLAGS += $(FPIC) 33 | 34 | # LTO 35 | TARGET_CXXFLAGS += -flto 36 | TARGET_LDFLAGS += -flto 37 | 38 | # CXX standard 39 | TARGET_CXXFLAGS += -std=c++11 40 | 41 | TARGET_CXXFLAGS := $(filter-out -O%,$(TARGET_CXXFLAGS)) -O3 42 | MY_OPENSSL_DIR:=$(BUILD_DIR)/openssl1.1_staging_dir/usr 43 | 44 | TARGET_CXXFLAGS += -ffunction-sections -fdata-sections 45 | TARGET_LDFLAGS += -Wl,--gc-sections 46 | 47 | CMAKE_FIND_ROOT_PATH := $(MY_OPENSSL_DIR);$(CMAKE_FIND_ROOT_PATH) 48 | TARGET_CXXFLAGS := -I$(MY_OPENSSL_DIR)/include $(TARGET_CXXFLAGS) 49 | TARGET_LDFLAGS := -L$(MY_OPENSSL_DIR)/lib $(TARGET_LDFLAGS) 50 | 51 | 52 | 53 | CMAKE_OPTIONS += \ 54 | -DENABLE_MYSQL=OFF \ 55 | -DENABLE_NAT=ON \ 56 | -DENABLE_REUSE_PORT=ON \ 57 | -DENABLE_SSL_KEYLOG=ON \ 58 | -DENABLE_TLS13_CIPHERSUITES=ON \ 59 | -DFORCE_TCP_FASTOPEN=OFF \ 60 | -DSYSTEMD_SERVICE=OFF \ 61 | -DOPENSSL_USE_STATIC_LIBS=TRUE \ 62 | -DBoost_DEBUG=ON \ 63 | -DBoost_NO_BOOST_CMAKE=ON 64 | 65 | 66 | 67 | define Package/trojan 68 | SECTION:=net 69 | CATEGORY:=Network 70 | TITLE:=An unidentifiable mechanism that helps you bypass GFW 71 | URL:=https://github.com/trojan-gfw/trojan 72 | DEPENDS:=+libpthread +libstdcpp \ 73 | +boost +boost-system +boost-program_options +boost-date_time 74 | endef 75 | 76 | 77 | 78 | define Package/trojan/install 79 | $(INSTALL_DIR) $(1)/usr/sbin 80 | $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/trojan $(1)/usr/sbin/trojan 81 | $(INSTALL_DIR) $(1)/etc/config 82 | $(INSTALL_DATA) ./files/trojan.config $(1)/etc/config/trojan 83 | $(INSTALL_DIR) $(1)/etc/init.d 84 | $(INSTALL_BIN) ./files/trojan.init $(1)/etc/init.d/trojan 85 | $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/trojan/config.json $(1)/etc/trojan.json 86 | endef 87 | 88 | define Package/trojan/conffiles 89 | /etc/config/trojan 90 | /etc/trojan.json 91 | endef 92 | 93 | $(eval $(call BuildPackage,trojan)) 94 | -------------------------------------------------------------------------------- /trojan/files/trojan.config: -------------------------------------------------------------------------------- 1 | 2 | config trojan 3 | option enabled '0' 4 | 5 | -------------------------------------------------------------------------------- /trojan/files/trojan.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # Copyright (C) 2018 wongsyrone 3 | 4 | . /lib/functions.sh 5 | . /usr/share/libubox/jshn.sh 6 | 7 | START=95 8 | USE_PROCD=1 9 | #PROCD_DEBUG=1 10 | 11 | PROG=/usr/sbin/trojan 12 | CONF=/etc/trojan.json 13 | 14 | config_load "trojan" 15 | 16 | parse_trojan() { 17 | config_get ENABLED "$section" "enabled" 18 | } 19 | 20 | config_foreach parse_trojan 'trojan' 21 | 22 | check_multicore() { 23 | local is_reuse_port= 24 | json_init 25 | json_load_file "${CONF}" 26 | json_select "tcp" 27 | json_get_var is_reuse_port "reuse_port" 28 | json_select ".." 29 | if [ "1" = "$is_reuse_port" ] || [ "true" = "$is_reuse_port" ]; then 30 | multicore_ready=true 31 | else 32 | multicore_ready=false 33 | fi 34 | echo multicore_ready is $multicore_ready 35 | local cpunum 36 | cpunum=$(grep '^cpu\scores' /proc/cpuinfo | uniq | awk '{print $4}' ) 37 | echo real cpu core num is $cpunum 38 | if [ "x" = "x$cpunum" ]; then 39 | cpunum=$(grep -c '^processor' /proc/cpuinfo ) 40 | echo all cpu core num is $cpunum, including Hyper-threading virtual cores 41 | fi 42 | if [ "xtrue" = "x$multicore_ready" ]; then 43 | return "$cpunum" 44 | else 45 | return 1 46 | fi 47 | } 48 | 49 | start_service() { 50 | check_multicore 51 | local cpunum=$? 52 | echo cpunum is $cpunum 53 | if [ "1" = "$ENABLED" ] || [ "on" = "$ENABLED" ] || [ "true" = "$ENABLED" ]; then 54 | for i in $(seq 1 ${cpunum}); 55 | do 56 | procd_open_instance 57 | procd_set_param command $PROG --config $CONF 58 | procd_set_param user root # run service as user root 59 | procd_set_param stdout 1 # forward stdout of the command to logd 60 | procd_set_param stderr 1 # same for stderr 61 | procd_set_param limits nofile="1048576 1048576" # max allowed value can be fetched via /proc/sys/fs/nr_open 62 | [ -e /proc/sys/kernel/core_pattern ] && { 63 | procd_append_param limits core="unlimited" 64 | } 65 | procd_close_instance 66 | done 67 | else 68 | echo "trojan is disabled, please check /etc/config/trojan" 69 | fi 70 | } 71 | -------------------------------------------------------------------------------- /trojan/patches/001-force-openssl-version.patch: -------------------------------------------------------------------------------- 1 | --- a/CMakeLists.txt 2 | +++ b/CMakeLists.txt 3 | @@ -43,7 +43,7 @@ if(MSVC) 4 | add_definitions(-DBOOST_DATE_TIME_NO_LIB) 5 | endif() 6 | 7 | -find_package(OpenSSL 1.1.0 REQUIRED) 8 | +find_package(OpenSSL 1.1.1 REQUIRED) 9 | include_directories(${OPENSSL_INCLUDE_DIR}) 10 | target_link_libraries(trojan ${OPENSSL_LIBRARIES}) 11 | if(OPENSSL_VERSION VERSION_GREATER_EQUAL 1.1.1) 12 | --------------------------------------------------------------------------------