From b89a8b1f7cf7c218164013257549e1fe19a4d56d Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Thu, 26 Dec 2019 20:37:47 +0800 Subject: [PATCH] Add CMake support Clean up file structure. Update build scripts. --- .travis.yml | 5 +- CMakeLists.txt | 58 +++++++++++ forcerule.yml => base/forcerule.yml | 0 gistconf.ini => base/gistconf.ini | 0 mellow.conf => base/mellow.conf | 0 pref.ini => base/pref.ini | 0 .../ConnersHua/Surge/Ruleset/Advertising.list | 0 .../ConnersHua/Surge/Ruleset/Apple.list | 0 .../ConnersHua/Surge/Ruleset/AppleNews.list | 0 .../ConnersHua/Surge/Ruleset/China.list | 0 .../ConnersHua/Surge/Ruleset/Cloudflare.list | 0 .../Surge/Ruleset/DomesticMedia.list | 0 .../Surge/Ruleset/ForeignMedia.list | 0 .../ConnersHua/Surge/Ruleset/Global.list | 0 .../ConnersHua/Surge/Ruleset/GlobalMedia.list | 0 .../ConnersHua/Surge/Ruleset/Google.list | 0 .../ConnersHua/Surge/Ruleset/HKMTMedia.list | 0 .../ConnersHua/Surge/Ruleset/Hijacking.list | 0 .../rules}/ConnersHua/Surge/Ruleset/Mail.list | 0 .../Surge/Ruleset/Media/AbemaTV.list | 0 .../ConnersHua/Surge/Ruleset/Media/All4.list | 0 .../Surge/Ruleset/Media/Amazon.list | 0 .../Surge/Ruleset/Media/BBC_iPlayer.list | 0 .../Surge/Ruleset/Media/Bahamut.list | 0 .../ConnersHua/Surge/Ruleset/Media/DAZN.list | 0 .../Surge/Ruleset/Media/Deezer.list | 0 .../Surge/Ruleset/Media/DisneyPlus.list | 0 .../ConnersHua/Surge/Ruleset/Media/Fox.list | 0 .../ConnersHua/Surge/Ruleset/Media/HBO.list | 0 .../Surge/Ruleset/Media/HBO_GO_HKG.list | 0 .../ConnersHua/Surge/Ruleset/Media/HWTV.list | 0 .../ConnersHua/Surge/Ruleset/Media/Hulu.list | 0 .../Surge/Ruleset/Media/Hulu_Japan.list | 0 .../ConnersHua/Surge/Ruleset/Media/ITV.list | 0 .../ConnersHua/Surge/Ruleset/Media/JOOX.list | 0 .../ConnersHua/Surge/Ruleset/Media/KKBOX.list | 0 .../ConnersHua/Surge/Ruleset/Media/KKTV.list | 0 .../ConnersHua/Surge/Ruleset/Media/LiTV.list | 0 .../Surge/Ruleset/Media/LineTV.list | 0 .../ConnersHua/Surge/Ruleset/Media/My5.list | 0 .../Surge/Ruleset/Media/Netflix.list | 0 .../ConnersHua/Surge/Ruleset/Media/PBS.list | 0 .../Surge/Ruleset/Media/Pandora.list | 0 .../Surge/Ruleset/Media/Pornhub.list | 0 .../Surge/Ruleset/Media/SoundCloud.list | 0 .../Surge/Ruleset/Media/Spotify.list | 0 .../ConnersHua/Surge/Ruleset/Media/TIDAL.list | 0 .../Surge/Ruleset/Media/TaiWanGood.list | 0 .../Surge/Ruleset/Media/TikTok.list | 0 .../Surge/Ruleset/Media/Twitch.list | 0 .../ConnersHua/Surge/Ruleset/Media/ViuTV.list | 0 .../Surge/Ruleset/Media/YouTube.list | 0 .../Surge/Ruleset/Media/YouTubeMusic.list | 0 .../Surge/Ruleset/Media/encoreTVB.list | 0 .../Surge/Ruleset/Media/myTV_SUPER.list | 0 .../Surge/Ruleset/Media/niconico.list | 0 .../ConnersHua/Surge/Ruleset/OneDrive.list | 0 .../ConnersHua/Surge/Ruleset/PayPal.list | 0 .../ConnersHua/Surge/Ruleset/Speedtest.list | 0 .../ConnersHua/Surge/Ruleset/Telegram.list | 0 .../ConnersHua/Surge/Ruleset/Unbreak.list | 0 {rules => base/rules}/LocalAreaNetwork.list | 0 .../rules}/NobyDa/Surge/AdRule.list | 0 .../rules}/NobyDa/Surge/AdRuleRegex.list | 0 .../rules}/NobyDa/Surge/AdRuleTest.list | 0 .../rules}/NobyDa/Surge/Download.list | 0 {rules => base/rules}/lhie1/Surge3/Apple.list | 0 .../rules}/lhie1/Surge3/AsianTV.list | 0 .../rules}/lhie1/Surge3/Domestic.list | 0 .../rules}/lhie1/Surge3/GlobalTV.list | 0 .../rules}/lhie1/Surge3/Media/AbemaTV.list | 0 .../rules}/lhie1/Surge3/Media/Amazon.list | 0 .../rules}/lhie1/Surge3/Media/AppleNews.list | 0 .../lhie1/Surge3/Media/BBC_iPlayer.list | 0 .../rules}/lhie1/Surge3/Media/Bahamut.list | 0 .../rules}/lhie1/Surge3/Media/Bilibili.list | 0 .../rules}/lhie1/Surge3/Media/DisneyPlus.list | 0 .../rules}/lhie1/Surge3/Media/FoxPlus.list | 0 .../rules}/lhie1/Surge3/Media/Fox_Now.list | 0 .../rules}/lhie1/Surge3/Media/HBO.list | 0 .../rules}/lhie1/Surge3/Media/Hulu.list | 0 .../rules}/lhie1/Surge3/Media/Hulu_Japan.list | 0 .../rules}/lhie1/Surge3/Media/JOOX.list | 0 .../rules}/lhie1/Surge3/Media/Japonx.list | 0 .../rules}/lhie1/Surge3/Media/KKBOX.list | 0 .../rules}/lhie1/Surge3/Media/Line_TV.list | 0 .../rules}/lhie1/Surge3/Media/Netflix.list | 0 .../rules}/lhie1/Surge3/Media/PBS.list | 0 .../rules}/lhie1/Surge3/Media/Pandora.list | 0 .../rules}/lhie1/Surge3/Media/Spotify.list | 0 .../rules}/lhie1/Surge3/Media/ViuTV.list | 0 .../rules}/lhie1/Surge3/Media/YouTube.list | 0 .../lhie1/Surge3/Media/YouTube_Music.list | 0 .../rules}/lhie1/Surge3/Media/encoreTVB.list | 0 .../rules}/lhie1/Surge3/Media/iQiyi.list | 0 .../rules}/lhie1/Surge3/Media/myTV_SUPER.list | 0 {rules => base/rules}/lhie1/Surge3/Proxy.list | 0 .../rules}/lhie1/Surge3/Reject.list | 0 .../rules}/lhie1/Surge3/Speedtest.list | 0 simple_base.yml => base/simple_base.yml | 0 surfboard.conf => base/surfboard.conf | 0 surge.conf => base/surge.conf | 0 build.alpine.release.sh | 40 -------- build.macos.release.sh | 44 --------- cmake/FindLibEvent.cmake | 38 ++++++++ cmake/FindPCRE.cmake | 37 +++++++ cmake/FindRapidjson.cmake | 97 +++++++++++++++++++ scripts/build.alpine.release.sh | 34 +++++++ build.clang.sh => scripts/build.clang.sh | 0 scripts/build.macos.release.sh | 39 ++++++++ config.termux.sh => scripts/config.termux.sh | 0 ini_reader.h => src/ini_reader.h | 20 ++++ logger.cpp => src/logger.cpp | 0 logger.h => src/logger.h | 0 main.cpp => src/main.cpp | 0 misc.cpp => src/misc.cpp | 0 misc.h => src/misc.h | 0 multithread.cpp => src/multithread.cpp | 0 multithread.h => src/multithread.h | 0 nodeinfo.h => src/nodeinfo.h | 0 nodemanip.cpp => src/nodemanip.cpp | 0 nodemanip.h => src/nodemanip.h | 0 printout.h => src/printout.h | 0 .../rapidjson_extra.cpp | 0 rapidjson_extra.h => src/rapidjson_extra.h | 0 socket.h => src/socket.h | 0 speedtestutil.cpp => src/speedtestutil.cpp | 0 speedtestutil.h => src/speedtestutil.h | 0 subexport.cpp => src/subexport.cpp | 0 subexport.h => src/subexport.h | 0 version.h => src/version.h | 0 webget.cpp => src/webget.cpp | 2 +- webget.h => src/webget.h | 0 webserver.cpp => src/webserver.cpp | 0 webserver.h => src/webserver.h | 0 .../webserver_libevent.cpp | 0 136 files changed, 326 insertions(+), 88 deletions(-) create mode 100644 CMakeLists.txt rename forcerule.yml => base/forcerule.yml (100%) rename gistconf.ini => base/gistconf.ini (100%) rename mellow.conf => base/mellow.conf (100%) rename pref.ini => base/pref.ini (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Advertising.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Apple.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/AppleNews.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/China.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Cloudflare.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/DomesticMedia.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/ForeignMedia.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Global.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/GlobalMedia.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Google.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/HKMTMedia.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Hijacking.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Mail.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/AbemaTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/All4.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Amazon.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/BBC_iPlayer.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Bahamut.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/DAZN.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Deezer.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/DisneyPlus.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Fox.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/HBO.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/HBO_GO_HKG.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/HWTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Hulu.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Hulu_Japan.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/ITV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/JOOX.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/KKBOX.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/KKTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/LiTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/LineTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/My5.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Netflix.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/PBS.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Pandora.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Pornhub.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/SoundCloud.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Spotify.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/TIDAL.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/TaiWanGood.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/TikTok.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/Twitch.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/ViuTV.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/YouTube.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/YouTubeMusic.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/encoreTVB.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/myTV_SUPER.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Media/niconico.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/OneDrive.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/PayPal.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Speedtest.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Telegram.list (100%) rename {rules => base/rules}/ConnersHua/Surge/Ruleset/Unbreak.list (100%) rename {rules => base/rules}/LocalAreaNetwork.list (100%) rename {rules => base/rules}/NobyDa/Surge/AdRule.list (100%) rename {rules => base/rules}/NobyDa/Surge/AdRuleRegex.list (100%) rename {rules => base/rules}/NobyDa/Surge/AdRuleTest.list (100%) rename {rules => base/rules}/NobyDa/Surge/Download.list (100%) rename {rules => base/rules}/lhie1/Surge3/Apple.list (100%) rename {rules => base/rules}/lhie1/Surge3/AsianTV.list (100%) rename {rules => base/rules}/lhie1/Surge3/Domestic.list (100%) rename {rules => base/rules}/lhie1/Surge3/GlobalTV.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/AbemaTV.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Amazon.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/AppleNews.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/BBC_iPlayer.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Bahamut.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Bilibili.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/DisneyPlus.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/FoxPlus.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Fox_Now.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/HBO.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Hulu.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Hulu_Japan.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/JOOX.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Japonx.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/KKBOX.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Line_TV.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Netflix.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/PBS.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Pandora.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/Spotify.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/ViuTV.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/YouTube.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/YouTube_Music.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/encoreTVB.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/iQiyi.list (100%) rename {rules => base/rules}/lhie1/Surge3/Media/myTV_SUPER.list (100%) rename {rules => base/rules}/lhie1/Surge3/Proxy.list (100%) rename {rules => base/rules}/lhie1/Surge3/Reject.list (100%) rename {rules => base/rules}/lhie1/Surge3/Speedtest.list (100%) rename simple_base.yml => base/simple_base.yml (100%) rename surfboard.conf => base/surfboard.conf (100%) rename surge.conf => base/surge.conf (100%) delete mode 100644 build.alpine.release.sh delete mode 100644 build.macos.release.sh create mode 100644 cmake/FindLibEvent.cmake create mode 100644 cmake/FindPCRE.cmake create mode 100644 cmake/FindRapidjson.cmake create mode 100644 scripts/build.alpine.release.sh rename build.clang.sh => scripts/build.clang.sh (100%) create mode 100644 scripts/build.macos.release.sh rename config.termux.sh => scripts/config.termux.sh (100%) rename ini_reader.h => src/ini_reader.h (96%) rename logger.cpp => src/logger.cpp (100%) rename logger.h => src/logger.h (100%) rename main.cpp => src/main.cpp (100%) rename misc.cpp => src/misc.cpp (100%) rename misc.h => src/misc.h (100%) rename multithread.cpp => src/multithread.cpp (100%) rename multithread.h => src/multithread.h (100%) rename nodeinfo.h => src/nodeinfo.h (100%) rename nodemanip.cpp => src/nodemanip.cpp (100%) rename nodemanip.h => src/nodemanip.h (100%) rename printout.h => src/printout.h (100%) rename rapidjson_extra.cpp => src/rapidjson_extra.cpp (100%) rename rapidjson_extra.h => src/rapidjson_extra.h (100%) rename socket.h => src/socket.h (100%) rename speedtestutil.cpp => src/speedtestutil.cpp (100%) rename speedtestutil.h => src/speedtestutil.h (100%) rename subexport.cpp => src/subexport.cpp (100%) rename subexport.h => src/subexport.h (100%) rename version.h => src/version.h (100%) rename webget.cpp => src/webget.cpp (98%) rename webget.h => src/webget.h (100%) rename webserver.cpp => src/webserver.cpp (100%) rename webserver.h => src/webserver.h (100%) rename webserver_libevent.cpp => src/webserver_libevent.cpp (100%) diff --git a/.travis.yml b/.travis.yml index c595adb..7cf2b0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,8 +11,7 @@ matrix: compiler: clang osx_image: xcode10.3 script: - - chmod +x build.macos.release.sh - - ./build.macos.release.sh + - bash scripts/build.macos.release.sh deploy: provider: releases api_key: "$GITHUB_OAUTH_TOKEN" @@ -24,7 +23,7 @@ matrix: - services: docker script: - docker pull alpine:latest - - docker run -v $TRAVIS_BUILD_DIR:/root/workdir alpine:latest /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x build.alpine.release.sh && bash build.alpine.release.sh" + - docker run -v $TRAVIS_BUILD_DIR:/root/workdir alpine:latest /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh" deploy: provider: releases api_key: "$GITHUB_OAUTH_TOKEN" diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ddd9903 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,58 @@ +project(subconverter LANGUAGES CXX) +cmake_minimum_required(VERSION 3.4) +SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") +IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE Release) +ENDIF() +SET(CMAKE_CXX_STANDARD 17) +ADD_DEFINITIONS(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result) + +ADD_EXECUTABLE(subconverter + src/logger.cpp + src/main.cpp + src/misc.cpp + src/multithread.cpp + src/nodemanip.cpp + src/rapidjson_extra.cpp + src/speedtestutil.cpp + src/subexport.cpp + src/webget.cpp + src/webserver_libevent.cpp) +INCLUDE_DIRECTORIES(src) + +SET(THREADS_PREFER_PTHREAD_FLAG ON) +FIND_PACKAGE(Threads REQUIRED) +TARGET_LINK_LIBRARIES(subconverter ${CMAKE_THREAD_LIBS_INIT}) + +FIND_PACKAGE(LibEvent REQUIRED) +FIND_LIBRARY(LIBEVENT_STATIC_LIBS libevent.a) +INCLUDE_DIRECTORIES(${LIBEVENT_INCLUDE_DIR}) +TARGET_LINK_LIBRARIES(subconverter ${LIBEVENT_STATIC_LIBS}) + +FIND_PACKAGE(CURL 7.54.0 REQUIRED) +INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) +TARGET_LINK_LIBRARIES(subconverter ${CURL_LIBRARIES}) +ADD_DEFINITIONS(-DCURL_STATICLIB) + +FIND_PACKAGE(OpenSSL 1.1.0 REQUIRED) +INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) +TARGET_LINK_LIBRARIES(subconverter ${OPENSSL_LIBRARIES}) + +FIND_PACKAGE(Rapidjson REQUIRED) +INCLUDE_DIRECTORIES(${RAPIDJSON_INCLUDE_DIRS}) + +FIND_PACKAGE(yaml-cpp REQUIRED) +INCLUDE_DIRECTORIES(${YAML_CPP_INCLUDE_DIRS}) +TARGET_LINK_LIBRARIES(subconverter yaml-cpp.a) + +FIND_PACKAGE(PCRE REQUIRED) +INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIRS}) +TARGET_LINK_LIBRARIES(subconverter pcrecpp.a ${PCRE_LIBRARIES}) +ADD_DEFINITIONS(-DPCRE_STATIC) + +IF(WIN32) + TARGET_LINK_LIBRARIES(subconverter wsock32 ws2_32) +ELSE() + INCLUDE(GNUInstallDirs) + INSTALL(TARGETS subconverter DESTINATION ${CMAKE_INSTALL_BINDIR}) +ENDIF() diff --git a/forcerule.yml b/base/forcerule.yml similarity index 100% rename from forcerule.yml rename to base/forcerule.yml diff --git a/gistconf.ini b/base/gistconf.ini similarity index 100% rename from gistconf.ini rename to base/gistconf.ini diff --git a/mellow.conf b/base/mellow.conf similarity index 100% rename from mellow.conf rename to base/mellow.conf diff --git a/pref.ini b/base/pref.ini similarity index 100% rename from pref.ini rename to base/pref.ini diff --git a/rules/ConnersHua/Surge/Ruleset/Advertising.list b/base/rules/ConnersHua/Surge/Ruleset/Advertising.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Advertising.list rename to base/rules/ConnersHua/Surge/Ruleset/Advertising.list diff --git a/rules/ConnersHua/Surge/Ruleset/Apple.list b/base/rules/ConnersHua/Surge/Ruleset/Apple.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Apple.list rename to base/rules/ConnersHua/Surge/Ruleset/Apple.list diff --git a/rules/ConnersHua/Surge/Ruleset/AppleNews.list b/base/rules/ConnersHua/Surge/Ruleset/AppleNews.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/AppleNews.list rename to base/rules/ConnersHua/Surge/Ruleset/AppleNews.list diff --git a/rules/ConnersHua/Surge/Ruleset/China.list b/base/rules/ConnersHua/Surge/Ruleset/China.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/China.list rename to base/rules/ConnersHua/Surge/Ruleset/China.list diff --git a/rules/ConnersHua/Surge/Ruleset/Cloudflare.list b/base/rules/ConnersHua/Surge/Ruleset/Cloudflare.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Cloudflare.list rename to base/rules/ConnersHua/Surge/Ruleset/Cloudflare.list diff --git a/rules/ConnersHua/Surge/Ruleset/DomesticMedia.list b/base/rules/ConnersHua/Surge/Ruleset/DomesticMedia.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/DomesticMedia.list rename to base/rules/ConnersHua/Surge/Ruleset/DomesticMedia.list diff --git a/rules/ConnersHua/Surge/Ruleset/ForeignMedia.list b/base/rules/ConnersHua/Surge/Ruleset/ForeignMedia.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/ForeignMedia.list rename to base/rules/ConnersHua/Surge/Ruleset/ForeignMedia.list diff --git a/rules/ConnersHua/Surge/Ruleset/Global.list b/base/rules/ConnersHua/Surge/Ruleset/Global.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Global.list rename to base/rules/ConnersHua/Surge/Ruleset/Global.list diff --git a/rules/ConnersHua/Surge/Ruleset/GlobalMedia.list b/base/rules/ConnersHua/Surge/Ruleset/GlobalMedia.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/GlobalMedia.list rename to base/rules/ConnersHua/Surge/Ruleset/GlobalMedia.list diff --git a/rules/ConnersHua/Surge/Ruleset/Google.list b/base/rules/ConnersHua/Surge/Ruleset/Google.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Google.list rename to base/rules/ConnersHua/Surge/Ruleset/Google.list diff --git a/rules/ConnersHua/Surge/Ruleset/HKMTMedia.list b/base/rules/ConnersHua/Surge/Ruleset/HKMTMedia.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/HKMTMedia.list rename to base/rules/ConnersHua/Surge/Ruleset/HKMTMedia.list diff --git a/rules/ConnersHua/Surge/Ruleset/Hijacking.list b/base/rules/ConnersHua/Surge/Ruleset/Hijacking.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Hijacking.list rename to base/rules/ConnersHua/Surge/Ruleset/Hijacking.list diff --git a/rules/ConnersHua/Surge/Ruleset/Mail.list b/base/rules/ConnersHua/Surge/Ruleset/Mail.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Mail.list rename to base/rules/ConnersHua/Surge/Ruleset/Mail.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/AbemaTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/AbemaTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/AbemaTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/AbemaTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/All4.list b/base/rules/ConnersHua/Surge/Ruleset/Media/All4.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/All4.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/All4.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Amazon.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Amazon.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Amazon.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Amazon.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/BBC_iPlayer.list b/base/rules/ConnersHua/Surge/Ruleset/Media/BBC_iPlayer.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/BBC_iPlayer.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/BBC_iPlayer.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Bahamut.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Bahamut.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Bahamut.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Bahamut.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/DAZN.list b/base/rules/ConnersHua/Surge/Ruleset/Media/DAZN.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/DAZN.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/DAZN.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Deezer.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Deezer.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Deezer.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Deezer.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/DisneyPlus.list b/base/rules/ConnersHua/Surge/Ruleset/Media/DisneyPlus.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/DisneyPlus.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/DisneyPlus.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Fox.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Fox.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Fox.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Fox.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/HBO.list b/base/rules/ConnersHua/Surge/Ruleset/Media/HBO.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/HBO.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/HBO.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/HBO_GO_HKG.list b/base/rules/ConnersHua/Surge/Ruleset/Media/HBO_GO_HKG.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/HBO_GO_HKG.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/HBO_GO_HKG.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/HWTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/HWTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/HWTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/HWTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Hulu.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Hulu.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Hulu.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Hulu.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Hulu_Japan.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Hulu_Japan.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Hulu_Japan.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Hulu_Japan.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/ITV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/ITV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/ITV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/ITV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/JOOX.list b/base/rules/ConnersHua/Surge/Ruleset/Media/JOOX.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/JOOX.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/JOOX.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/KKBOX.list b/base/rules/ConnersHua/Surge/Ruleset/Media/KKBOX.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/KKBOX.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/KKBOX.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/KKTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/KKTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/KKTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/KKTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/LiTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/LiTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/LiTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/LiTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/LineTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/LineTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/LineTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/LineTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/My5.list b/base/rules/ConnersHua/Surge/Ruleset/Media/My5.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/My5.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/My5.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Netflix.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Netflix.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Netflix.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Netflix.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/PBS.list b/base/rules/ConnersHua/Surge/Ruleset/Media/PBS.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/PBS.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/PBS.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Pandora.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Pandora.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Pandora.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Pandora.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Pornhub.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Pornhub.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Pornhub.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Pornhub.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/SoundCloud.list b/base/rules/ConnersHua/Surge/Ruleset/Media/SoundCloud.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/SoundCloud.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/SoundCloud.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Spotify.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Spotify.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Spotify.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Spotify.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/TIDAL.list b/base/rules/ConnersHua/Surge/Ruleset/Media/TIDAL.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/TIDAL.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/TIDAL.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/TaiWanGood.list b/base/rules/ConnersHua/Surge/Ruleset/Media/TaiWanGood.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/TaiWanGood.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/TaiWanGood.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/TikTok.list b/base/rules/ConnersHua/Surge/Ruleset/Media/TikTok.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/TikTok.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/TikTok.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/Twitch.list b/base/rules/ConnersHua/Surge/Ruleset/Media/Twitch.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/Twitch.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/Twitch.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/ViuTV.list b/base/rules/ConnersHua/Surge/Ruleset/Media/ViuTV.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/ViuTV.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/ViuTV.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/YouTube.list b/base/rules/ConnersHua/Surge/Ruleset/Media/YouTube.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/YouTube.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/YouTube.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/YouTubeMusic.list b/base/rules/ConnersHua/Surge/Ruleset/Media/YouTubeMusic.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/YouTubeMusic.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/YouTubeMusic.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/encoreTVB.list b/base/rules/ConnersHua/Surge/Ruleset/Media/encoreTVB.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/encoreTVB.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/encoreTVB.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/myTV_SUPER.list b/base/rules/ConnersHua/Surge/Ruleset/Media/myTV_SUPER.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/myTV_SUPER.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/myTV_SUPER.list diff --git a/rules/ConnersHua/Surge/Ruleset/Media/niconico.list b/base/rules/ConnersHua/Surge/Ruleset/Media/niconico.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Media/niconico.list rename to base/rules/ConnersHua/Surge/Ruleset/Media/niconico.list diff --git a/rules/ConnersHua/Surge/Ruleset/OneDrive.list b/base/rules/ConnersHua/Surge/Ruleset/OneDrive.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/OneDrive.list rename to base/rules/ConnersHua/Surge/Ruleset/OneDrive.list diff --git a/rules/ConnersHua/Surge/Ruleset/PayPal.list b/base/rules/ConnersHua/Surge/Ruleset/PayPal.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/PayPal.list rename to base/rules/ConnersHua/Surge/Ruleset/PayPal.list diff --git a/rules/ConnersHua/Surge/Ruleset/Speedtest.list b/base/rules/ConnersHua/Surge/Ruleset/Speedtest.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Speedtest.list rename to base/rules/ConnersHua/Surge/Ruleset/Speedtest.list diff --git a/rules/ConnersHua/Surge/Ruleset/Telegram.list b/base/rules/ConnersHua/Surge/Ruleset/Telegram.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Telegram.list rename to base/rules/ConnersHua/Surge/Ruleset/Telegram.list diff --git a/rules/ConnersHua/Surge/Ruleset/Unbreak.list b/base/rules/ConnersHua/Surge/Ruleset/Unbreak.list similarity index 100% rename from rules/ConnersHua/Surge/Ruleset/Unbreak.list rename to base/rules/ConnersHua/Surge/Ruleset/Unbreak.list diff --git a/rules/LocalAreaNetwork.list b/base/rules/LocalAreaNetwork.list similarity index 100% rename from rules/LocalAreaNetwork.list rename to base/rules/LocalAreaNetwork.list diff --git a/rules/NobyDa/Surge/AdRule.list b/base/rules/NobyDa/Surge/AdRule.list similarity index 100% rename from rules/NobyDa/Surge/AdRule.list rename to base/rules/NobyDa/Surge/AdRule.list diff --git a/rules/NobyDa/Surge/AdRuleRegex.list b/base/rules/NobyDa/Surge/AdRuleRegex.list similarity index 100% rename from rules/NobyDa/Surge/AdRuleRegex.list rename to base/rules/NobyDa/Surge/AdRuleRegex.list diff --git a/rules/NobyDa/Surge/AdRuleTest.list b/base/rules/NobyDa/Surge/AdRuleTest.list similarity index 100% rename from rules/NobyDa/Surge/AdRuleTest.list rename to base/rules/NobyDa/Surge/AdRuleTest.list diff --git a/rules/NobyDa/Surge/Download.list b/base/rules/NobyDa/Surge/Download.list similarity index 100% rename from rules/NobyDa/Surge/Download.list rename to base/rules/NobyDa/Surge/Download.list diff --git a/rules/lhie1/Surge3/Apple.list b/base/rules/lhie1/Surge3/Apple.list similarity index 100% rename from rules/lhie1/Surge3/Apple.list rename to base/rules/lhie1/Surge3/Apple.list diff --git a/rules/lhie1/Surge3/AsianTV.list b/base/rules/lhie1/Surge3/AsianTV.list similarity index 100% rename from rules/lhie1/Surge3/AsianTV.list rename to base/rules/lhie1/Surge3/AsianTV.list diff --git a/rules/lhie1/Surge3/Domestic.list b/base/rules/lhie1/Surge3/Domestic.list similarity index 100% rename from rules/lhie1/Surge3/Domestic.list rename to base/rules/lhie1/Surge3/Domestic.list diff --git a/rules/lhie1/Surge3/GlobalTV.list b/base/rules/lhie1/Surge3/GlobalTV.list similarity index 100% rename from rules/lhie1/Surge3/GlobalTV.list rename to base/rules/lhie1/Surge3/GlobalTV.list diff --git a/rules/lhie1/Surge3/Media/AbemaTV.list b/base/rules/lhie1/Surge3/Media/AbemaTV.list similarity index 100% rename from rules/lhie1/Surge3/Media/AbemaTV.list rename to base/rules/lhie1/Surge3/Media/AbemaTV.list diff --git a/rules/lhie1/Surge3/Media/Amazon.list b/base/rules/lhie1/Surge3/Media/Amazon.list similarity index 100% rename from rules/lhie1/Surge3/Media/Amazon.list rename to base/rules/lhie1/Surge3/Media/Amazon.list diff --git a/rules/lhie1/Surge3/Media/AppleNews.list b/base/rules/lhie1/Surge3/Media/AppleNews.list similarity index 100% rename from rules/lhie1/Surge3/Media/AppleNews.list rename to base/rules/lhie1/Surge3/Media/AppleNews.list diff --git a/rules/lhie1/Surge3/Media/BBC_iPlayer.list b/base/rules/lhie1/Surge3/Media/BBC_iPlayer.list similarity index 100% rename from rules/lhie1/Surge3/Media/BBC_iPlayer.list rename to base/rules/lhie1/Surge3/Media/BBC_iPlayer.list diff --git a/rules/lhie1/Surge3/Media/Bahamut.list b/base/rules/lhie1/Surge3/Media/Bahamut.list similarity index 100% rename from rules/lhie1/Surge3/Media/Bahamut.list rename to base/rules/lhie1/Surge3/Media/Bahamut.list diff --git a/rules/lhie1/Surge3/Media/Bilibili.list b/base/rules/lhie1/Surge3/Media/Bilibili.list similarity index 100% rename from rules/lhie1/Surge3/Media/Bilibili.list rename to base/rules/lhie1/Surge3/Media/Bilibili.list diff --git a/rules/lhie1/Surge3/Media/DisneyPlus.list b/base/rules/lhie1/Surge3/Media/DisneyPlus.list similarity index 100% rename from rules/lhie1/Surge3/Media/DisneyPlus.list rename to base/rules/lhie1/Surge3/Media/DisneyPlus.list diff --git a/rules/lhie1/Surge3/Media/FoxPlus.list b/base/rules/lhie1/Surge3/Media/FoxPlus.list similarity index 100% rename from rules/lhie1/Surge3/Media/FoxPlus.list rename to base/rules/lhie1/Surge3/Media/FoxPlus.list diff --git a/rules/lhie1/Surge3/Media/Fox_Now.list b/base/rules/lhie1/Surge3/Media/Fox_Now.list similarity index 100% rename from rules/lhie1/Surge3/Media/Fox_Now.list rename to base/rules/lhie1/Surge3/Media/Fox_Now.list diff --git a/rules/lhie1/Surge3/Media/HBO.list b/base/rules/lhie1/Surge3/Media/HBO.list similarity index 100% rename from rules/lhie1/Surge3/Media/HBO.list rename to base/rules/lhie1/Surge3/Media/HBO.list diff --git a/rules/lhie1/Surge3/Media/Hulu.list b/base/rules/lhie1/Surge3/Media/Hulu.list similarity index 100% rename from rules/lhie1/Surge3/Media/Hulu.list rename to base/rules/lhie1/Surge3/Media/Hulu.list diff --git a/rules/lhie1/Surge3/Media/Hulu_Japan.list b/base/rules/lhie1/Surge3/Media/Hulu_Japan.list similarity index 100% rename from rules/lhie1/Surge3/Media/Hulu_Japan.list rename to base/rules/lhie1/Surge3/Media/Hulu_Japan.list diff --git a/rules/lhie1/Surge3/Media/JOOX.list b/base/rules/lhie1/Surge3/Media/JOOX.list similarity index 100% rename from rules/lhie1/Surge3/Media/JOOX.list rename to base/rules/lhie1/Surge3/Media/JOOX.list diff --git a/rules/lhie1/Surge3/Media/Japonx.list b/base/rules/lhie1/Surge3/Media/Japonx.list similarity index 100% rename from rules/lhie1/Surge3/Media/Japonx.list rename to base/rules/lhie1/Surge3/Media/Japonx.list diff --git a/rules/lhie1/Surge3/Media/KKBOX.list b/base/rules/lhie1/Surge3/Media/KKBOX.list similarity index 100% rename from rules/lhie1/Surge3/Media/KKBOX.list rename to base/rules/lhie1/Surge3/Media/KKBOX.list diff --git a/rules/lhie1/Surge3/Media/Line_TV.list b/base/rules/lhie1/Surge3/Media/Line_TV.list similarity index 100% rename from rules/lhie1/Surge3/Media/Line_TV.list rename to base/rules/lhie1/Surge3/Media/Line_TV.list diff --git a/rules/lhie1/Surge3/Media/Netflix.list b/base/rules/lhie1/Surge3/Media/Netflix.list similarity index 100% rename from rules/lhie1/Surge3/Media/Netflix.list rename to base/rules/lhie1/Surge3/Media/Netflix.list diff --git a/rules/lhie1/Surge3/Media/PBS.list b/base/rules/lhie1/Surge3/Media/PBS.list similarity index 100% rename from rules/lhie1/Surge3/Media/PBS.list rename to base/rules/lhie1/Surge3/Media/PBS.list diff --git a/rules/lhie1/Surge3/Media/Pandora.list b/base/rules/lhie1/Surge3/Media/Pandora.list similarity index 100% rename from rules/lhie1/Surge3/Media/Pandora.list rename to base/rules/lhie1/Surge3/Media/Pandora.list diff --git a/rules/lhie1/Surge3/Media/Spotify.list b/base/rules/lhie1/Surge3/Media/Spotify.list similarity index 100% rename from rules/lhie1/Surge3/Media/Spotify.list rename to base/rules/lhie1/Surge3/Media/Spotify.list diff --git a/rules/lhie1/Surge3/Media/ViuTV.list b/base/rules/lhie1/Surge3/Media/ViuTV.list similarity index 100% rename from rules/lhie1/Surge3/Media/ViuTV.list rename to base/rules/lhie1/Surge3/Media/ViuTV.list diff --git a/rules/lhie1/Surge3/Media/YouTube.list b/base/rules/lhie1/Surge3/Media/YouTube.list similarity index 100% rename from rules/lhie1/Surge3/Media/YouTube.list rename to base/rules/lhie1/Surge3/Media/YouTube.list diff --git a/rules/lhie1/Surge3/Media/YouTube_Music.list b/base/rules/lhie1/Surge3/Media/YouTube_Music.list similarity index 100% rename from rules/lhie1/Surge3/Media/YouTube_Music.list rename to base/rules/lhie1/Surge3/Media/YouTube_Music.list diff --git a/rules/lhie1/Surge3/Media/encoreTVB.list b/base/rules/lhie1/Surge3/Media/encoreTVB.list similarity index 100% rename from rules/lhie1/Surge3/Media/encoreTVB.list rename to base/rules/lhie1/Surge3/Media/encoreTVB.list diff --git a/rules/lhie1/Surge3/Media/iQiyi.list b/base/rules/lhie1/Surge3/Media/iQiyi.list similarity index 100% rename from rules/lhie1/Surge3/Media/iQiyi.list rename to base/rules/lhie1/Surge3/Media/iQiyi.list diff --git a/rules/lhie1/Surge3/Media/myTV_SUPER.list b/base/rules/lhie1/Surge3/Media/myTV_SUPER.list similarity index 100% rename from rules/lhie1/Surge3/Media/myTV_SUPER.list rename to base/rules/lhie1/Surge3/Media/myTV_SUPER.list diff --git a/rules/lhie1/Surge3/Proxy.list b/base/rules/lhie1/Surge3/Proxy.list similarity index 100% rename from rules/lhie1/Surge3/Proxy.list rename to base/rules/lhie1/Surge3/Proxy.list diff --git a/rules/lhie1/Surge3/Reject.list b/base/rules/lhie1/Surge3/Reject.list similarity index 100% rename from rules/lhie1/Surge3/Reject.list rename to base/rules/lhie1/Surge3/Reject.list diff --git a/rules/lhie1/Surge3/Speedtest.list b/base/rules/lhie1/Surge3/Speedtest.list similarity index 100% rename from rules/lhie1/Surge3/Speedtest.list rename to base/rules/lhie1/Surge3/Speedtest.list diff --git a/simple_base.yml b/base/simple_base.yml similarity index 100% rename from simple_base.yml rename to base/simple_base.yml diff --git a/surfboard.conf b/base/surfboard.conf similarity index 100% rename from surfboard.conf rename to base/surfboard.conf diff --git a/surge.conf b/base/surge.conf similarity index 100% rename from surge.conf rename to base/surge.conf diff --git a/build.alpine.release.sh b/build.alpine.release.sh deleted file mode 100644 index d2042d9..0000000 --- a/build.alpine.release.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -mkdir obj -set -xe - -apk add gcc g++ build-base linux-headers cmake make autoconf automake libtool -apk add libressl-dev zlib-dev rapidjson-dev libevent-dev libevent-static zlib-static pcre-dev - -git clone https://github.com/curl/curl -cd curl -./buildconf -./configure --with-ssl --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null -make install -j4 > /dev/null -cd .. - -git clone https://github.com/jbeder/yaml-cpp -cd yaml-cpp -cmake . > /dev/null -make install -j4 > /dev/null -cd .. - -git clone git://sourceware.org/git/bzip2.git -cd bzip2 -make install -j4 > /dev/null -cd .. - -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c logger.cpp -o obj/logger.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c main.cpp -o obj/main.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c misc.cpp -o obj/misc.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c multithread.cpp -o obj/multithread.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c nodemanip.cpp -o obj/nodemanip.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c rapidjson_extra.cpp -o obj/rapidjson_extra.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c speedtestutil.cpp -o obj/speedtestutil.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c subexport.cpp -o obj/subexport.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c webget.cpp -o obj/webget.o -g++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -c webserver_libevent.cpp -o obj/webserver_libevent.o -g++ -o subconverter obj/logger.o obj/main.o obj/misc.o obj/multithread.o obj/nodemanip.o obj/rapidjson_extra.o obj/speedtestutil.o obj/subexport.o obj/webget.o obj/webserver_libevent.o -static -lpcrecpp -lpcre -levent -lyaml-cpp -lcurl -lssl -lcrypto -lz -lbz2 -ldl -lpthread -O3 -s - -chmod +rx subconverter -chmod +r pref.ini *.yml *.conf README* rules/* -tar czf subconverter_linux64.tar.gz subconverter pref.ini *.yml *.conf README* rules/ diff --git a/build.macos.release.sh b/build.macos.release.sh deleted file mode 100644 index be030cf..0000000 --- a/build.macos.release.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -mkdir obj -set -xe - -brew reinstall yaml-cpp rapidjson libevent zlib pcre - -git clone https://github.com/curl/curl -cd curl -./buildconf > /dev/null -./configure --with-ssl=/usr/local/opt/openssl@1.1 --without-mbedtls --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null -make -j8 > /dev/null -cd .. - -curl -L -o bzip2-1.0.6.tar.gz https://sourceforge.net/projects/bzip2/files/bzip2-1.0.6.tar.gz/download -tar xvf bzip2-1.0.6.tar.gz -cd bzip2-1.0.6 -make -j8 > /dev/null -cd .. - -cp /usr/local/lib/libevent.a . -cp /usr/local/opt/zlib/lib/libz.a . -cp /usr/local/opt/openssl@1.1/lib/libssl.a . -cp /usr/local/opt/openssl@1.1/lib/libcrypto.a . -cp /usr/local/lib/libyaml-cpp.a . -cp /usr/local/lib/libpcre.a . -cp /usr/local/lib/libpcrecpp.a . - -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c logger.cpp -o obj/logger.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c main.cpp -o obj/main.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c misc.cpp -o obj/misc.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c multithread.cpp -o obj/multithread.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c nodemanip.cpp -o obj/nodemanip.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c rapidjson_extra.cpp -o obj/rapidjson_extra.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c speedtestutil.cpp -o obj/speedtestutil.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c subexport.cpp -o obj/subexport.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c webget.cpp -o obj/webget.o -c++ -Wall -std=c++17 -fexceptions -DCURL_STATICLIB -DPCRE_STATIC -D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include -c webserver_libevent.cpp -o obj/webserver_libevent.o -c++ -Xlinker -unexported_symbol -Xlinker "*" -o subconverter obj/logger.o obj/main.o obj/misc.o obj/multithread.o obj/nodemanip.o obj/rapidjson_extra.o obj/speedtestutil.o obj/subexport.o obj/webget.o obj/webserver_libevent.o libpcrecpp.a libpcre.a libevent.a curl/lib/.libs/libcurl.a libz.a libssl.a libcrypto.a libyaml-cpp.a bzip2-1.0.6/libbz2.a -ldl -lpthread -O3 - -chmod +rx subconverter -chmod +r pref.ini *.yml *.conf README* rules/* -tar czf subconverter_darwin64.tar.gz subconverter pref.ini *.yml *.conf README* rules/ - -set +xe diff --git a/cmake/FindLibEvent.cmake b/cmake/FindLibEvent.cmake new file mode 100644 index 0000000..ad2b4de --- /dev/null +++ b/cmake/FindLibEvent.cmake @@ -0,0 +1,38 @@ +# - Find LibEvent (a cross event library) +# This module defines +# LIBEVENT_INCLUDE_DIR, where to find LibEvent headers +# LIBEVENT_LIB, LibEvent libraries +# LibEvent_FOUND, If false, do not try to use libevent + +set(LibEvent_EXTRA_PREFIXES /usr/local /opt/local "$ENV{HOME}") +foreach(prefix ${LibEvent_EXTRA_PREFIXES}) + list(APPEND LibEvent_INCLUDE_PATHS "${prefix}/include") + list(APPEND LibEvent_LIB_PATHS "${prefix}/lib") +endforeach() + +find_path(LIBEVENT_INCLUDE_DIR event.h PATHS ${LibEvent_INCLUDE_PATHS}) +find_library(LIBEVENT_LIB NAMES libevent.a PATHS ${LibEvent_LIB_PATHS}) +find_library(LIBEVENT_PTHREAD_LIB NAMES event_pthreads PATHS ${LibEvent_LIB_PATHS}) + +if (LIBEVENT_LIB AND LIBEVENT_INCLUDE_DIR AND LIBEVENT_PTHREAD_LIB) + set(LibEvent_FOUND TRUE) + set(LIBEVENT_LIB ${LIBEVENT_LIB} ${LIBEVENT_PTHREAD_LIB}) +else () + set(LibEvent_FOUND FALSE) +endif () + +if (LibEvent_FOUND) + if (NOT LibEvent_FIND_QUIETLY) + message(STATUS "Found libevent: ${LIBEVENT_LIB}") + endif () +else () + if (LibEvent_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find libevent and libevent_pthread.") + endif () + message(STATUS "libevent and libevent_pthread NOT found.") +endif () + +mark_as_advanced( + LIBEVENT_LIB + LIBEVENT_INCLUDE_DIR + ) diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake new file mode 100644 index 0000000..dbbd60a --- /dev/null +++ b/cmake/FindPCRE.cmake @@ -0,0 +1,37 @@ +# Copyright (C) 2007-2009 LuaDist. +# Created by Peter Kapec +# Redistribution and use of this file is allowed according to the terms of the MIT license. +# For details see the COPYRIGHT file distributed with LuaDist. +# Note: +# Searching headers and libraries is very simple and is NOT as powerful as scripts +# distributed with CMake, because LuaDist defines directories to search for. +# Everyone is encouraged to contact the author with improvements. Maybe this file +# becomes part of CMake distribution sometimes. + +# - Find pcre +# Find the native PCRE headers and libraries. +# +# PCRE_INCLUDE_DIRS - where to find pcre.h, etc. +# PCRE_LIBRARIES - List of libraries when using pcre. +# PCRE_FOUND - True if pcre found. + +# Look for the header file. +FIND_PATH(PCRE_INCLUDE_DIR NAMES pcre.h) + +# Look for the library. +FIND_LIBRARY(PCRE_LIBRARY NAMES pcre) + +# Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG PCRE_LIBRARY PCRE_INCLUDE_DIR) + +# Copy the results to the output variables. +IF(PCRE_FOUND) + SET(PCRE_LIBRARIES ${PCRE_LIBRARY}) + SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR}) +ELSE(PCRE_FOUND) + SET(PCRE_LIBRARIES) + SET(PCRE_INCLUDE_DIRS) +ENDIF(PCRE_FOUND) + +MARK_AS_ADVANCED(PCRE_INCLUDE_DIRS PCRE_LIBRARIES) diff --git a/cmake/FindRapidjson.cmake b/cmake/FindRapidjson.cmake new file mode 100644 index 0000000..7a0bf47 --- /dev/null +++ b/cmake/FindRapidjson.cmake @@ -0,0 +1,97 @@ +# Copyright (c) 2011 Milo Yip (miloyip@gmail.com) +# Copyright (c) 2013 Rafal Jeczalik (rjeczalik@gmail.com) +# Distributed under the MIT License (see license.txt file) + +# ----------------------------------------------------------------------------------- +# +# Finds the rapidjson library +# +# ----------------------------------------------------------------------------------- +# +# Variables used by this module, they can change the default behaviour. +# Those variables need to be either set before calling find_package +# or exported as environment variables before running CMake: +# +# RAPIDJSON_INCLUDEDIR - Set custom include path, useful when rapidjson headers are +# outside system paths +# RAPIDJSON_USE_SSE2 - Configure rapidjson to take advantage of SSE2 capabilities +# RAPIDJSON_USE_SSE42 - Configure rapidjson to take advantage of SSE4.2 capabilities +# +# ----------------------------------------------------------------------------------- +# +# Variables defined by this module: +# +# RAPIDJSON_FOUND - True if rapidjson was found +# RAPIDJSON_INCLUDE_DIRS - Path to rapidjson include directory +# RAPIDJSON_CXX_FLAGS - Extra C++ flags required for compilation with rapidjson +# +# ----------------------------------------------------------------------------------- +# +# Example usage: +# +# set(RAPIDJSON_USE_SSE2 ON) +# set(RAPIDJSON_INCLUDEDIR "/opt/github.com/rjeczalik/rapidjson/include") +# +# find_package(rapidjson REQUIRED) +# +# include_directories("${RAPIDJSON_INCLUDE_DIRS}") +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RAPIDJSON_CXX_FLAGS}") +# add_executable(foo foo.cc) +# +# ----------------------------------------------------------------------------------- + +foreach(opt RAPIDJSON_INCLUDEDIR RAPIDJSON_USE_SSE2 RAPIDJSON_USE_SSE42) + if(${opt} AND DEFINED ENV{${opt}} AND NOT ${opt} STREQUAL "$ENV{${opt}}") + message(WARNING "Conflicting ${opt} values: ignoring environment variable and using CMake cache entry.") + elseif(DEFINED ENV{${opt}} AND NOT ${opt}) + set(${opt} "$ENV{${opt}}") + endif() +endforeach() + +find_path( + RAPIDJSON_INCLUDE_DIRS + NAMES rapidjson/rapidjson.h + PATHS ${RAPIDJSON_INCLUDEDIR} + DOC "Include directory for the rapidjson library." +) + +mark_as_advanced(RAPIDJSON_INCLUDE_DIRS) + +if(RAPIDJSON_INCLUDE_DIRS) + set(RAPIDJSON_FOUND TRUE) +endif() + +mark_as_advanced(RAPIDJSON_FOUND) + +if(RAPIDJSON_USE_SSE42) + set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE42") + if(MSVC) + set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE4.2") + else() + set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse4.2") + endif() +else() + if(RAPIDJSON_USE_SSE2) + set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE2") + if(MSVC) + set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE2") + else() + set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse2") + endif() + endif() +endif() + +mark_as_advanced(RAPIDJSON_CXX_FLAGS) + +if(RAPIDJSON_FOUND) + if(NOT rapidjson_FIND_QUIETLY) + message(STATUS "Found rapidjson header files in ${RAPIDJSON_INCLUDE_DIRS}") + if(DEFINED RAPIDJSON_CXX_FLAGS) + message(STATUS "Found rapidjson C++ extra compilation flags: ${RAPIDJSON_CXX_FLAGS}") + endif() + endif() +elseif(rapidjson_FIND_REQUIRED) + message(FATAL_ERROR "Could not find rapidjson") +else() + message(STATUS "Optional package rapidjson was not found") +endif() diff --git a/scripts/build.alpine.release.sh b/scripts/build.alpine.release.sh new file mode 100644 index 0000000..acc073c --- /dev/null +++ b/scripts/build.alpine.release.sh @@ -0,0 +1,34 @@ +#!/bin/bash +mkdir obj +set -xe + +apk add gcc g++ build-base linux-headers cmake make autoconf automake libtool +apk add libressl-dev zlib-dev rapidjson-dev libevent-dev libevent-static zlib-static pcre-dev + +git clone https://github.com/curl/curl +cd curl +./buildconf +./configure --with-ssl --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null +make install -j4 > /dev/null +cd .. + +git clone https://github.com/jbeder/yaml-cpp +cd yaml-cpp +cmake . > /dev/null +make install -j4 > /dev/null +cd .. + +git clone git://sourceware.org/git/bzip2.git +cd bzip2 +make install -j4 > /dev/null +cd .. + +cmake . +make -j4 +g++ -o base/subconverter CMakeFiles/subconverter.dir/src/*.o -static -lpcrecpp -lpcre -levent -lyaml-cpp -lcurl -lssl -lcrypto -lz -lbz2 -ldl -lpthread -O3 -s + +cd base +chmod +rx subconverter +chmod +r * + +tar czf subconverter_linux64.tar.gz * diff --git a/build.clang.sh b/scripts/build.clang.sh similarity index 100% rename from build.clang.sh rename to scripts/build.clang.sh diff --git a/scripts/build.macos.release.sh b/scripts/build.macos.release.sh new file mode 100644 index 0000000..f5a5d4e --- /dev/null +++ b/scripts/build.macos.release.sh @@ -0,0 +1,39 @@ +#!/bin/bash +mkdir obj +set -xe + +brew reinstall yaml-cpp rapidjson libevent zlib pcre + +git clone https://github.com/curl/curl +cd curl +./buildconf > /dev/null +./configure --with-ssl=/usr/local/opt/openssl@1.1 --without-mbedtls --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null +make -j8 > /dev/null +cd .. + +curl -L -o bzip2-1.0.6.tar.gz https://sourceforge.net/projects/bzip2/files/bzip2-1.0.6.tar.gz/download +tar xvf bzip2-1.0.6.tar.gz +cd bzip2-1.0.6 +make -j8 > /dev/null +cd .. + +cp /usr/local/lib/libevent.a . +cp /usr/local/opt/zlib/lib/libz.a . +cp /usr/local/opt/openssl@1.1/lib/libssl.a . +cp /usr/local/opt/openssl@1.1/lib/libcrypto.a . +cp /usr/local/lib/libyaml-cpp.a . +cp /usr/local/lib/libpcre.a . +cp /usr/local/lib/libpcrecpp.a . + +export CMAKE_CXX_FLAGS=-D_MACOS -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include +cmake . +make -j8 +c++ -Xlinker -unexported_symbol -Xlinker "*" -o base/subconverter obj/logger.o obj/main.o obj/misc.o obj/multithread.o obj/nodemanip.o obj/rapidjson_extra.o obj/speedtestutil.o obj/subexport.o obj/webget.o obj/webserver_libevent.o libpcrecpp.a libpcre.a libevent.a curl/lib/.libs/libcurl.a libz.a libssl.a libcrypto.a libyaml-cpp.a bzip2-1.0.6/libbz2.a -ldl -lpthread -O3 + +cd base +chmod +rx subconverter +chmod +r * +tar czf subconverter_darwin64.tar.gz * +cd .. + +set +xe diff --git a/config.termux.sh b/scripts/config.termux.sh similarity index 100% rename from config.termux.sh rename to scripts/config.termux.sh diff --git a/ini_reader.h b/src/ini_reader.h similarity index 96% rename from ini_reader.h rename to src/ini_reader.h index 97d8717..c5dbf29 100644 --- a/ini_reader.h +++ b/src/ini_reader.h @@ -27,6 +27,7 @@ private: std::string current_section; ini_data_struct ini_content; string_array exclude_sections, include_sections, read_sections; + string_array section_order; std::string cached_section; string_multimap cached_section_content; @@ -112,6 +113,25 @@ public: isolated_items_section = section; } + INIReader& operator=(const INIReader& src) + { + //copy contents + ini_content = src.ini_content; + //copy status + parsed = src.parsed; + current_section = src.current_section; + exclude_sections = src.exclude_sections; + include_sections = src.include_sections; + read_sections = src.read_sections; + isolated_items_section = src.isolated_items_section; + //copy preferences + do_utf8_to_gbk = src.do_utf8_to_gbk; + store_any_line = src.store_any_line; + store_isolated_line = src.store_isolated_line; + allow_dup_section_titles = src.allow_dup_section_titles; + return *this; + } + /** * @brief Parse INI content into mapped data structure. * If exclude sections are set, these sections will not be stored. diff --git a/logger.cpp b/src/logger.cpp similarity index 100% rename from logger.cpp rename to src/logger.cpp diff --git a/logger.h b/src/logger.h similarity index 100% rename from logger.h rename to src/logger.h diff --git a/main.cpp b/src/main.cpp similarity index 100% rename from main.cpp rename to src/main.cpp diff --git a/misc.cpp b/src/misc.cpp similarity index 100% rename from misc.cpp rename to src/misc.cpp diff --git a/misc.h b/src/misc.h similarity index 100% rename from misc.h rename to src/misc.h diff --git a/multithread.cpp b/src/multithread.cpp similarity index 100% rename from multithread.cpp rename to src/multithread.cpp diff --git a/multithread.h b/src/multithread.h similarity index 100% rename from multithread.h rename to src/multithread.h diff --git a/nodeinfo.h b/src/nodeinfo.h similarity index 100% rename from nodeinfo.h rename to src/nodeinfo.h diff --git a/nodemanip.cpp b/src/nodemanip.cpp similarity index 100% rename from nodemanip.cpp rename to src/nodemanip.cpp diff --git a/nodemanip.h b/src/nodemanip.h similarity index 100% rename from nodemanip.h rename to src/nodemanip.h diff --git a/printout.h b/src/printout.h similarity index 100% rename from printout.h rename to src/printout.h diff --git a/rapidjson_extra.cpp b/src/rapidjson_extra.cpp similarity index 100% rename from rapidjson_extra.cpp rename to src/rapidjson_extra.cpp diff --git a/rapidjson_extra.h b/src/rapidjson_extra.h similarity index 100% rename from rapidjson_extra.h rename to src/rapidjson_extra.h diff --git a/socket.h b/src/socket.h similarity index 100% rename from socket.h rename to src/socket.h diff --git a/speedtestutil.cpp b/src/speedtestutil.cpp similarity index 100% rename from speedtestutil.cpp rename to src/speedtestutil.cpp diff --git a/speedtestutil.h b/src/speedtestutil.h similarity index 100% rename from speedtestutil.h rename to src/speedtestutil.h diff --git a/subexport.cpp b/src/subexport.cpp similarity index 100% rename from subexport.cpp rename to src/subexport.cpp diff --git a/subexport.h b/src/subexport.h similarity index 100% rename from subexport.h rename to src/subexport.h diff --git a/version.h b/src/version.h similarity index 100% rename from version.h rename to src/version.h diff --git a/webget.cpp b/src/webget.cpp similarity index 98% rename from webget.cpp rename to src/webget.cpp index ebed435..ef3e617 100644 --- a/webget.cpp +++ b/src/webget.cpp @@ -26,7 +26,7 @@ std::string curlGet(std::string url, std::string proxy) curl_handle = curl_easy_init(); curl_easy_setopt(curl_handle, CURLOPT_URL, url.data()); - curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 0L); + curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); diff --git a/webget.h b/src/webget.h similarity index 100% rename from webget.h rename to src/webget.h diff --git a/webserver.cpp b/src/webserver.cpp similarity index 100% rename from webserver.cpp rename to src/webserver.cpp diff --git a/webserver.h b/src/webserver.h similarity index 100% rename from webserver.h rename to src/webserver.h diff --git a/webserver_libevent.cpp b/src/webserver_libevent.cpp similarity index 100% rename from webserver_libevent.cpp rename to src/webserver_libevent.cpp