Use gcc instead of qmake -> no qtbase needed. (Idk why the image is larger now) & add more init steps to Dockerfile & Threadcount 4 -> 6.

This commit is contained in:
markus
2024-09-13 02:52:46 +02:00
parent ce91380e9b
commit 325b72187a
4 changed files with 48 additions and 14 deletions

View File

@@ -1,16 +1,15 @@
FROM archlinux AS build
RUN pacman -Suuy --noconfirm
RUN pacman -S openssl gcc make qt5-base --noconfirm
RUN pacman -S openssl curl gcc --noconfirm
WORKDIR /work
COPY . .
COPY ./src/* .
RUN qmake S_New4.pro
RUN make
RUN g++ --std=c++17 accountManager.cpp accountManager.h main.cpp pageManager.cpp pageManager.h parameterManager.cpp parameterManager.h programManager.cpp programManager.h logger.h logger.cpp -lcurl -lpthread -o S_New4
FROM archlinux
RUN pacman -Suuy --noconfirm
RUN pacman -S tor openssl --noconfirm
RUN pacman -S tor openssl curl openbsd-netcat --noconfirm
COPY docker-entry.sh /bin/docker-entry.sh
COPY --from=build /work/S_New4 /bin/S_New4
@@ -19,6 +18,19 @@ COPY --from=build /work/S_New4 /bin/S_New4
RUN /bin/S_New4 --help
# change to buildin tor
RUN sed -i 's/9150/9050/g' /root/.config/S_New4/Defaults
RUN sed -i 's/search_ProgrammUpdateWarnungNachTagen=.*/search_ProgrammUpdateWarnungNachTagen=0/g' /root/.config/S_New4/Defaults
WORKDIR /root
# Ensure the script is executable
RUN chmod +x /bin/docker-entry.sh
# Update Searchfile
RUN ["/bin/docker-entry.sh", "search", "-u"]
# Create Accounts-File
RUN ["/bin/docker-entry.sh", "default", "-f", "-E", "1", "One Piece"]
ENTRYPOINT [ "/bin/docker-entry.sh" ]

25
docker-entry.sh Executable file → Normal file
View File

@@ -1,6 +1,25 @@
#!/bin/bash
tor &
sleep 1s
MAX_RETRIES=100
INTERVAL=0.1
S_New4 $@
# Start tor service
tor > /dev/null &
# Wait until finished
for i in $(seq 1 $MAX_RETRIES); do
if nc -z localhost 9050 > /dev/null 2>&1; then
break
fi
sleep $INTERVAL
# Check if the maximum number of retries has been reached
if [ $i -eq $MAX_RETRIES ]; then
echo "Error: Timed out waiting for Tor to start"
exit 1
fi
done
# Run SNew4
S_New4 "$@"

View File

@@ -258,7 +258,7 @@ int loadDefaulOptions(Settings &settings)
ofs << "#default_CheckMaxDirs=20" << std::endl << std::endl;
ofs << "# -> Standart Wert für Parameter: -t, --threads:" << std::endl;
ofs << "default_maxThreads=4" << std::endl << std::endl;
ofs << "default_maxThreads=6" << std::endl << std::endl;
ofs << "#" << std::endl << "# -> Einstellungen für search Modus:" << std::endl << "#" << std::endl << std::endl;
@@ -346,8 +346,8 @@ int loadDefaulOptions(Settings &settings)
if(!isNumber(data) ) {
std::cout << " => Error_Defaults: Thread-Max Ungültige Zahl: " << data << std::endl;
return 18;
} else if (settings.maxThreads > 4) {
std::cout << " => Error_Defaults: Thread-Max: Zahl größer 4: " << data << std::endl;
} else if (settings.maxThreads > 8) {
std::cout << " => Error_Defaults: Thread-Max: Zahl größer 8: " << data << std::endl;
return 19;
}
if(settings.debugMode)
@@ -612,8 +612,8 @@ int unterOption_default(Settings *settings, int argc, char ** argv)
if(!isNumber(optarg)) {
std::cout << " => Error: [-t]: Thread-Max: Ungültige Zahl: " << optarg << std::endl;
return 18;
} else if (settings->maxThreads > 4 && !settings->debugMode) {
std::cout << " => Error: [-t]: Thread-Max: Zahl ist größer 4: " << optarg << std::endl;
} else if (settings->maxThreads > 8 && !settings->debugMode) {
std::cout << " => Error: [-t]: Thread-Max: Zahl ist größer 8: " << optarg << std::endl;
return 19;
}
if(settings->debugMode)

View File

@@ -186,7 +186,7 @@ int ProgramManager::waitForThreads()
return e->exitState;
} else
if(e->returnValue != "")
std::cout << ("\33[2K\r(T" + std::to_string(e->id) + ")" + e->returnValue ) << std::endl;
std::cout << ("\33[2K\r" + e->returnValue ) << std::endl;
}
e->exitState = -1;
e->returnValue = "";
@@ -524,6 +524,9 @@ int ProgramManager::checkLastUpdate(Settings *settings, ssize_t *days = nullptr)
return 0;
}
int ProgramManager::defaultModus(Settings *settings)
{