From a1dbf7ec613383071593daf451dc16d3d2dbc10b Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 16:50:02 +0800 Subject: [PATCH 01/10] Prepare for prebuilt binaries Fix client paths and names --- main.cpp | 10 ++++++---- speedtestutil.cpp | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 6e6b7c5..c89c3d7 100644 --- a/main.cpp +++ b/main.cpp @@ -163,9 +163,11 @@ int runClient(int client, string runpath) break; } #else - string v2core_path = "v2ray -config config.json"; - string ssr_libev_path = "ssr-local -c config.json"; - string ss_libev_path = "ss-local -c config.json"; + string v2core_path = "tools/clients/v2ray -config config.json"; + string ssr_libev_path = "tools/clients/ssr-local -c config.json"; + + string ss_libev_dir = "tools/clients/"; + string ss_libev_path = ss_libev_dir + "ss-local -c config.json"; switch(client) { @@ -179,7 +181,7 @@ int runClient(int client, string runpath) break; case SPEEDTEST_MESSAGE_FOUNDSS: writeLog(LOG_TYPE_INFO, "Starting up shadowsocks-libev..."); - runProgram(ss_libev_path, "", false); + runProgram(ss_libev_path, ss_libev_dir, false); break; } #endif // _WIN32 diff --git a/speedtestutil.cpp b/speedtestutil.cpp index 76a2197..993e7e7 100644 --- a/speedtestutil.cpp +++ b/speedtestutil.cpp @@ -96,6 +96,8 @@ string ssConstruct(string server, string port, string password, string method, s string base = base_ss_win; string config = config_ss_win; string config_libev = config_ss_libev; + if(plugin == "obfs-local") + plugin = "simple-obfs"; if(libev == true) config = config_libev; config = replace_all_distinct(config, "?server?", server); From ca4ec855ad2db05fe67b1edd92aca0b08995b698 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 16:58:48 +0800 Subject: [PATCH 02/10] Fix client path --- main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index c89c3d7..afd0bf0 100644 --- a/main.cpp +++ b/main.cpp @@ -167,7 +167,7 @@ int runClient(int client, string runpath) string ssr_libev_path = "tools/clients/ssr-local -c config.json"; string ss_libev_dir = "tools/clients/"; - string ss_libev_path = ss_libev_dir + "ss-local -c config.json"; + string ss_libev_path = "ss-local -c config.json"; switch(client) { From f2bd22e1ef4537f6dac4dfd7359b71995e828fa3 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 17:06:59 +0800 Subject: [PATCH 03/10] Fix broken Shadowsocks link parser --- speedtestutil.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/speedtestutil.cpp b/speedtestutil.cpp index 993e7e7..a247124 100644 --- a/speedtestutil.cpp +++ b/speedtestutil.cpp @@ -382,8 +382,8 @@ void explodeSS(string ss, bool libev, string custom_port, int local_port, nodeIn port = custom_port == "" ? args[2] : custom_port; addition = args[3]; plugins = UrlDecode(getUrlArg(addition, "plugin")); - plugin = plugins.substr(0, plugin.find(";")); - pluginopts = plugins.substr(plugin.find(";") + 1); + plugin = plugins.substr(0, plugins.find(";")); + pluginopts = plugins.substr(plugins.find(";") + 1); if(getUrlArg(addition, "group") != "") group = base64_decode(getUrlArg(addition, "group")); } From 730cb924ceb6c4a0d7e80a07b19b61d447e6015d Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 17:14:36 +0800 Subject: [PATCH 04/10] Fix client startup on non-Windows --- processes.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/processes.cpp b/processes.cpp index 6cf08d8..d37e8e8 100644 --- a/processes.cpp +++ b/processes.cpp @@ -75,9 +75,16 @@ void killByHandle(HANDLE hProc) #else bool runProgram(string command, string runpath, bool wait) { + /* string total_path = runpath == "" ? "" : runpath + PATH_SLASH; - total_path += command + "&"; + total_path += command; pPipe = popen(total_path.data(), "r"); + */ + char curdir[1024] = {}; + getcwd(curdir, 1024); + chdir(runpath.data()); + pPipe = popen(command.data(), "r"); + chdir(curdir); return true; } #endif // _WIN32 From 2b70928cb3b6d8ed18f1962bef93bba97cd0607c Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 17:17:15 +0800 Subject: [PATCH 05/10] Fix wrong config file path --- main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index afd0bf0..3d09217 100644 --- a/main.cpp +++ b/main.cpp @@ -167,7 +167,7 @@ int runClient(int client, string runpath) string ssr_libev_path = "tools/clients/ssr-local -c config.json"; string ss_libev_dir = "tools/clients/"; - string ss_libev_path = "ss-local -c config.json"; + string ss_libev_path = "ss-local -c ../../config.json"; switch(client) { From 221367e5fce4e9f6600f1f98ed951ad3ee898f48 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 23:12:34 +0800 Subject: [PATCH 06/10] Add Linux release build script --- build.alpine.release.sh | 83 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 build.alpine.release.sh diff --git a/build.alpine.release.sh b/build.alpine.release.sh new file mode 100644 index 0000000..2edc867 --- /dev/null +++ b/build.alpine.release.sh @@ -0,0 +1,83 @@ +#!/bin/bash +mkdir obj +mkdir bin +mkdir tools/clients +set -e + +apk add gcc g++ cmake make autoconf automake libtool +apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre libsodium-dev + +git clone https://github.com/curl/curl +cd curl +./buildconf +./configure +make install -j4 +cd .. + +git clone https://github.com/jbeder/yaml-cpp +cd yaml-cpp +cmake . +make install -j4 +cd .. + +git clone https://github.com/pngwriter/pngwriter +cd pngwriter +cmake . +make install -j4 +cd .. + +git clone https://github.com/shadowsocks/simple-obfs +cd simple-obfs +git submodule init +git submodule update +./autogen.sh +./configure --disable-documentation +make -j4 +gcc obfs_local*.o ../libcork/.libs/libcork.a -o simple-obfs -lev -static +mv simple-obfs ../../tools/clients/ +cd ../.. + +git clone https://github.com/shadowsocks/shadowsocks-libev +cd shadowsocks-libev +git submodule init +git submodule update +./autogen.sh +./configure --disable-documentation +make -j4 +cd src +gcc ss_local*.o .libs/libshadowsocks-libev.a -o ss-local -lpcre -lmbedtls -lmbedcrypto -lev -lsodium -static +mv ss-local ../../tools/clients/ +cd ../.. + +git clone https://github.com/shadowsocksrr/shadowsocksr-libev +cd shadowsocksr-libev +./configure --disable-documentation +make -j4 +cd src +gcc ss_local*.o .libs/libshadowsocks-libev.a -o ssr-local -lpcre -lssl -lcrypto -static +mv ssr-local ../../tools/clients/ +cd ../.. + +wget https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip +unzip websocketd-0.3.0-linux_amd64.zip websocketd +mv websocketd tools/gui/ + +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c geoip.cpp -o obj/geoip.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c logger.cpp -o obj/logger.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c main.cpp -o obj/main.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c misc.cpp -o obj/misc.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c multithread-test.cpp -o obj/multithread-test.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c printout.cpp -o obj/printout.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c processes.cpp -o obj/processes.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rapidjson_extra.cpp -o obj/rapidjson_extra.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -I/usr/local/include/freetype2 -I/usr/include/freetype2 -std=c++11 -c renderer.cpp -o obj/renderer.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rulematch.cpp -o obj/rulematch.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c socket.cpp -o obj/socket.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c speedtestutil.cpp -o obj/speedtestutil.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c tcping.cpp -o obj/tcping.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c webget.cpp -o obj/webget.o +g++ -g -o stairspeedtest obj/geoip.o obj/logger.o obj/main.o obj/misc.o obj/multithread-test.o obj/printout.o obj/processes.o obj/rapidjson_extra.o obj/renderer.o obj/rulematch.o obj/socket.o obj/speedtestutil.o obj/tcping.o obj/webget.o -lcurl -lPNGwriter -lpng16 -lfreetype -lz -lssl -lcrypto -ldl -lpthread -lyaml-cpp -s -static + +chmod +rx stairspeedtest pref.ini webgui.sh tools/clients/* tools/gui/* tools/misc/* +tar czf stairspeedtest_reborn_linux64.tar.gz stairspeedtest pref.ini webgui.sh tools/ + From d2f5d32bcf03694368e0e74203d1271980d31f59 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 23:13:03 +0800 Subject: [PATCH 07/10] Add Linux release build script --- build.alpine.release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.alpine.release.sh b/build.alpine.release.sh index 2edc867..99ff2d5 100644 --- a/build.alpine.release.sh +++ b/build.alpine.release.sh @@ -4,8 +4,8 @@ mkdir bin mkdir tools/clients set -e -apk add gcc g++ cmake make autoconf automake libtool -apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre libsodium-dev +apk add gcc g++ cmake make autoconf automake libtool build-base linux-headers +apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre-dev libsodium-dev c-ares-dev git clone https://github.com/curl/curl cd curl From b00102ba3206e2504f264941c58dd1e2975acf4b Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 23:15:06 +0800 Subject: [PATCH 08/10] Bump version to v0.2.16-beta --- version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.h b/version.h index 8d3e2de..278e5e1 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #ifndef VERSION_H_INCLUDED #define VERSION_H_INCLUDED -#define VERSION "v0.2.15-beta" +#define VERSION "v0.2.16-beta" #endif // VERSION_H_INCLUDED From 1adb764cc3073459b139ee00e7be2b12083afd76 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 23:18:03 +0800 Subject: [PATCH 09/10] Fix wrong line break in build script --- build.alpine.release.sh | 166 ++++++++++++++++++++-------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/build.alpine.release.sh b/build.alpine.release.sh index 99ff2d5..20a1f6f 100644 --- a/build.alpine.release.sh +++ b/build.alpine.release.sh @@ -1,83 +1,83 @@ -#!/bin/bash -mkdir obj -mkdir bin -mkdir tools/clients -set -e - -apk add gcc g++ cmake make autoconf automake libtool build-base linux-headers -apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre-dev libsodium-dev c-ares-dev - -git clone https://github.com/curl/curl -cd curl -./buildconf -./configure -make install -j4 -cd .. - -git clone https://github.com/jbeder/yaml-cpp -cd yaml-cpp -cmake . -make install -j4 -cd .. - -git clone https://github.com/pngwriter/pngwriter -cd pngwriter -cmake . -make install -j4 -cd .. - -git clone https://github.com/shadowsocks/simple-obfs -cd simple-obfs -git submodule init -git submodule update -./autogen.sh -./configure --disable-documentation -make -j4 -gcc obfs_local*.o ../libcork/.libs/libcork.a -o simple-obfs -lev -static -mv simple-obfs ../../tools/clients/ -cd ../.. - -git clone https://github.com/shadowsocks/shadowsocks-libev -cd shadowsocks-libev -git submodule init -git submodule update -./autogen.sh -./configure --disable-documentation -make -j4 -cd src -gcc ss_local*.o .libs/libshadowsocks-libev.a -o ss-local -lpcre -lmbedtls -lmbedcrypto -lev -lsodium -static -mv ss-local ../../tools/clients/ -cd ../.. - -git clone https://github.com/shadowsocksrr/shadowsocksr-libev -cd shadowsocksr-libev -./configure --disable-documentation -make -j4 -cd src -gcc ss_local*.o .libs/libshadowsocks-libev.a -o ssr-local -lpcre -lssl -lcrypto -static -mv ssr-local ../../tools/clients/ -cd ../.. - -wget https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip -unzip websocketd-0.3.0-linux_amd64.zip websocketd -mv websocketd tools/gui/ - -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c geoip.cpp -o obj/geoip.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c logger.cpp -o obj/logger.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c main.cpp -o obj/main.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c misc.cpp -o obj/misc.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c multithread-test.cpp -o obj/multithread-test.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c printout.cpp -o obj/printout.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c processes.cpp -o obj/processes.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rapidjson_extra.cpp -o obj/rapidjson_extra.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -I/usr/local/include/freetype2 -I/usr/include/freetype2 -std=c++11 -c renderer.cpp -o obj/renderer.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rulematch.cpp -o obj/rulematch.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c socket.cpp -o obj/socket.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c speedtestutil.cpp -o obj/speedtestutil.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c tcping.cpp -o obj/tcping.o -gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c webget.cpp -o obj/webget.o -g++ -g -o stairspeedtest obj/geoip.o obj/logger.o obj/main.o obj/misc.o obj/multithread-test.o obj/printout.o obj/processes.o obj/rapidjson_extra.o obj/renderer.o obj/rulematch.o obj/socket.o obj/speedtestutil.o obj/tcping.o obj/webget.o -lcurl -lPNGwriter -lpng16 -lfreetype -lz -lssl -lcrypto -ldl -lpthread -lyaml-cpp -s -static - -chmod +rx stairspeedtest pref.ini webgui.sh tools/clients/* tools/gui/* tools/misc/* -tar czf stairspeedtest_reborn_linux64.tar.gz stairspeedtest pref.ini webgui.sh tools/ - +#!/bin/bash +mkdir obj +mkdir bin +mkdir tools/clients +set -e + +apk add gcc g++ cmake make autoconf automake libtool build-base linux-headers +apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre-dev libsodium-dev c-ares-dev + +git clone https://github.com/curl/curl +cd curl +./buildconf +./configure +make install -j4 +cd .. + +git clone https://github.com/jbeder/yaml-cpp +cd yaml-cpp +cmake . +make install -j4 +cd .. + +git clone https://github.com/pngwriter/pngwriter +cd pngwriter +cmake . +make install -j4 +cd .. + +git clone https://github.com/shadowsocks/simple-obfs +cd simple-obfs +git submodule init +git submodule update +./autogen.sh +./configure --disable-documentation +make -j4 +gcc obfs_local*.o ../libcork/.libs/libcork.a -o simple-obfs -lev -static +mv simple-obfs ../../tools/clients/ +cd ../.. + +git clone https://github.com/shadowsocks/shadowsocks-libev +cd shadowsocks-libev +git submodule init +git submodule update +./autogen.sh +./configure --disable-documentation +make -j4 +cd src +gcc ss_local*.o .libs/libshadowsocks-libev.a -o ss-local -lpcre -lmbedtls -lmbedcrypto -lev -lsodium -static +mv ss-local ../../tools/clients/ +cd ../.. + +git clone https://github.com/shadowsocksrr/shadowsocksr-libev +cd shadowsocksr-libev +./configure --disable-documentation +make -j4 +cd src +gcc ss_local*.o .libs/libshadowsocks-libev.a -o ssr-local -lpcre -lssl -lcrypto -static +mv ssr-local ../../tools/clients/ +cd ../.. + +wget https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip +unzip websocketd-0.3.0-linux_amd64.zip websocketd +mv websocketd tools/gui/ + +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c geoip.cpp -o obj/geoip.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c logger.cpp -o obj/logger.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c main.cpp -o obj/main.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c misc.cpp -o obj/misc.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c multithread-test.cpp -o obj/multithread-test.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c printout.cpp -o obj/printout.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c processes.cpp -o obj/processes.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rapidjson_extra.cpp -o obj/rapidjson_extra.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -I/usr/local/include/freetype2 -I/usr/include/freetype2 -std=c++11 -c renderer.cpp -o obj/renderer.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c rulematch.cpp -o obj/rulematch.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c socket.cpp -o obj/socket.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c speedtestutil.cpp -o obj/speedtestutil.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c tcping.cpp -o obj/tcping.o +gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c webget.cpp -o obj/webget.o +g++ -g -o stairspeedtest obj/geoip.o obj/logger.o obj/main.o obj/misc.o obj/multithread-test.o obj/printout.o obj/processes.o obj/rapidjson_extra.o obj/renderer.o obj/rulematch.o obj/socket.o obj/speedtestutil.o obj/tcping.o obj/webget.o -lcurl -lPNGwriter -lpng16 -lfreetype -lz -lssl -lcrypto -ldl -lpthread -lyaml-cpp -s -static + +chmod +rx stairspeedtest pref.ini webgui.sh tools/clients/* tools/gui/* tools/misc/* +tar czf stairspeedtest_reborn_linux64.tar.gz stairspeedtest pref.ini webgui.sh tools/ + From 4c85247ea4f702fd563a59bea6dc792ec86df7f2 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Fri, 30 Aug 2019 23:46:54 +0800 Subject: [PATCH 10/10] Fix release build script Add Web GUI launch script --- build.alpine.release.sh | 19 +++++++++++++++++-- webgui.sh | 2 ++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 webgui.sh diff --git a/build.alpine.release.sh b/build.alpine.release.sh index 20a1f6f..5ce630d 100644 --- a/build.alpine.release.sh +++ b/build.alpine.release.sh @@ -2,10 +2,11 @@ mkdir obj mkdir bin mkdir tools/clients +rm -rf tools/clients/* set -e apk add gcc g++ cmake make autoconf automake libtool build-base linux-headers -apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev openssl rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre-dev libsodium-dev c-ares-dev +apk add libpng-dev libressl-dev freetype-dev freetype-static zlib-dev rapidjson-dev mbedtls-dev mbedtls-static libev-dev pcre-dev libsodium-dev c-ares-dev git clone https://github.com/curl/curl cd curl @@ -33,6 +34,7 @@ git submodule update ./autogen.sh ./configure --disable-documentation make -j4 +cd src gcc obfs_local*.o ../libcork/.libs/libcork.a -o simple-obfs -lev -static mv simple-obfs ../../tools/clients/ cd ../.. @@ -58,10 +60,23 @@ gcc ss_local*.o .libs/libshadowsocks-libev.a -o ssr-local -lpcre -lssl -lcrypto mv ssr-local ../../tools/clients/ cd ../.. +git clone git://sourceware.org/git/bzip2.git +cd bzip2 +make install -j4 +cd .. + +apk del wget +apk add wget + wget https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip unzip websocketd-0.3.0-linux_amd64.zip websocketd mv websocketd tools/gui/ +wget https://github.com/v2ray/v2ray-core/releases/latest/download/v2ray-linux-64.zip +unzip v2ray-linux-64.zip v2ray v2ctl +mv v2ray tools/clients/ +mv v2ctl tools/clients/ + gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c geoip.cpp -o obj/geoip.o gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c logger.cpp -o obj/logger.o gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c main.cpp -o obj/main.o @@ -76,7 +91,7 @@ gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c socket.cpp -o obj/so gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c speedtestutil.cpp -o obj/speedtestutil.o gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c tcping.cpp -o obj/tcping.o gcc -Wall -fexceptions -DCURL_STATICLIB -g -std=c++11 -c webget.cpp -o obj/webget.o -g++ -g -o stairspeedtest obj/geoip.o obj/logger.o obj/main.o obj/misc.o obj/multithread-test.o obj/printout.o obj/processes.o obj/rapidjson_extra.o obj/renderer.o obj/rulematch.o obj/socket.o obj/speedtestutil.o obj/tcping.o obj/webget.o -lcurl -lPNGwriter -lpng16 -lfreetype -lz -lssl -lcrypto -ldl -lpthread -lyaml-cpp -s -static +g++ -g -o stairspeedtest obj/geoip.o obj/logger.o obj/main.o obj/misc.o obj/multithread-test.o obj/printout.o obj/processes.o obj/rapidjson_extra.o obj/renderer.o obj/rulematch.o obj/socket.o obj/speedtestutil.o obj/tcping.o obj/webget.o -lcurl -lPNGwriter -lpng16 -lfreetype -lz -lssl -lcrypto -ldl -lpthread -lyaml-cpp -lbz2 -s -static chmod +rx stairspeedtest pref.ini webgui.sh tools/clients/* tools/gui/* tools/misc/* tar czf stairspeedtest_reborn_linux64.tar.gz stairspeedtest pref.ini webgui.sh tools/ diff --git a/webgui.sh b/webgui.sh new file mode 100644 index 0000000..b142433 --- /dev/null +++ b/webgui.sh @@ -0,0 +1,2 @@ +#!/bin/bash +tools/gui/websocketd --port=65430 --maxforks=1 --staticdir=tools/gui ./stairspeedtest /rpc