Skip to content

Commit 662f57d

Browse files
set icon to resources path
1 parent 7457dc5 commit 662f57d

17 files changed

Lines changed: 1506 additions & 1486 deletions

LICENSE

Lines changed: 674 additions & 674 deletions
Large diffs are not rendered by default.

LibGenSearchApp.exe

3.39 KB
Binary file not shown.

README.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
## simple-libgen-desktop
2-
3-
A straightforward, reliable, and lightweight Libgen library client written in Java that doesn't require database dumps and avoids the common issues that plague Libgen Desktop. It enables direct downloading from the libgen.li and library.lol mirrors.
4-
5-
<div style="text-align: center;">
6-
<div style="display: inline-block;">
7-
<p>Using simple-libgen-desktop to search for books and mirrors:</p>
8-
<img src="https://raw.githubusercontent.com/JakeTurner616/simple-libgen-desktop/main/docs/libgendemo200percentspeed.gif" alt="Using the application to find book mirrors">
9-
</div>
10-
11-
## Features
12-
13-
- Search and download books from libgen.li and library.lol.
14-
- Displays the list of mirrors for any given book across annas-archive.org, library.lol or any other libgen.li supported mirror.
15-
- Allows for filtering against any language and/or any media type.
16-
- Fetches book details, covers, and direct download URLs across multiple mirrors all in one place.
17-
- Directly download from the libgen.li or library.lol mirror to a selected local location.
18-
- Multi-threaded downloading logic allows for downloading more than one book simultaneously without blocking the UI.
19-
- Pagination allows for in-depth searching of results.
20-
- Uses Java Swing (jswing) and Jsoup for graphics and web scraping, respectively.
21-
22-
## License
23-
24-
This project is licensed under the GNU GPL v3.0 License - see the [LICENSE](https://github.com/JakeTurner616/simple-libgen-desktop/blob/main/LICENSE) file for details.
1+
## simple-libgen-desktop
2+
3+
A straightforward, reliable, and lightweight Libgen library client written in Java that doesn't require database dumps and avoids the common issues that plague Libgen Desktop. It enables direct downloading from the libgen.li and library.lol mirrors.
4+
5+
<div style="text-align: center;">
6+
<div style="display: inline-block;">
7+
<p>Using simple-libgen-desktop to search for books and mirrors:</p>
8+
<img src="https://raw.githubusercontent.com/JakeTurner616/simple-libgen-desktop/main/docs/libgendemo200percentspeed.gif" alt="Using the application to find book mirrors">
9+
</div>
10+
11+
## Features
12+
13+
- Search and download books from libgen.li and library.lol.
14+
- Displays the list of mirrors for any given book across annas-archive.org, library.lol or any other libgen.li supported mirror.
15+
- Allows for filtering against any language and/or any media type.
16+
- Fetches book details, covers, and direct download URLs across multiple mirrors all in one place.
17+
- Directly download from the libgen.li or library.lol mirror to a selected local location.
18+
- Multi-threaded downloading logic allows for downloading more than one book simultaneously without blocking the UI.
19+
- Pagination allows for in-depth searching of results.
20+
- Uses Java Swing (jswing) and Jsoup for graphics and web scraping, respectively.
21+
22+
## License
23+
24+
This project is licensed under the GNU GPL v3.0 License - see the [LICENSE](https://github.com/JakeTurner616/simple-libgen-desktop/blob/main/LICENSE) file for details.

lanuch4j-config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<launch4jConfig>
33
<dontWrapJar>false</dontWrapJar>
44
<headerType>gui</headerType>
5-
<jar>C:\Users\jaked\Documents\simple-libgen-desktop\target\LibGenSearchApp-1.0-SNAPSHOT-jar-with-dependencies.jar</jar>
5+
<jar>C:\Users\jaked\Documents\simple-libgen-desktop\target\LibGenSearchApp-1.0.1-SNAPSHOT-jar-with-dependencies.jar</jar>
66
<outfile>C:\Users\jaked\Documents\simple-libgen-desktop\LibGenSearchApp.exe</outfile>
77
<errTitle></errTitle>
88
<cmdLine></cmdLine>

launch-macOS.sh

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
#!/bin/bash
2-
3-
# Set the current directory as the base for relative paths
4-
BASEDIR=$(dirname "$0")
5-
6-
# Convert BASEDIR to an absolute path (macOS compatible)
7-
BASEDIR=$(cd "$BASEDIR"; pwd)
8-
9-
# Classpath including the jsoup library and your application's jar file
10-
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0-SNAPSHOT-jar-with-dependencies.jar"
11-
12-
# Main class of your application
13-
MAIN_CLASS="LibGenSearchApp"
14-
15-
# Run the application
16-
java -cp "$CLASSPATH" $MAIN_CLASS
1+
#!/bin/bash
2+
3+
# Set the current directory as the base for relative paths
4+
BASEDIR=$(dirname "$0")
5+
6+
# Convert BASEDIR to an absolute path (macOS compatible)
7+
BASEDIR=$(cd "$BASEDIR"; pwd)
8+
9+
# Classpath including the jsoup library and your application's jar file
10+
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0.1-SNAPSHOT-jar-with-dependencies.jar"
11+
12+
# Main class of your application
13+
MAIN_CLASS="LibGenSearchApp"
14+
15+
# Run the application
16+
java -cp "$CLASSPATH" $MAIN_CLASS

launch.sh

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
#!/bin/bash
2-
3-
# Prevent script from running as root
4-
if [ "$(id -u)" == "0" ]; then
5-
echo "This script should not be run as root. Please run as a normal user."
6-
exit 1
7-
fi
8-
9-
# Set the current directory as the base for relative paths
10-
BASEDIR=$(realpath $(dirname "$0"))
11-
12-
# Classpath including the jsoup library and your application's jar file
13-
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0-SNAPSHOT-jar-with-dependencies.jar"
14-
15-
# Main class of your application
16-
MAIN_CLASS="LibGenSearchApp"
17-
18-
# Run the application
19-
java -cp "$CLASSPATH" $MAIN_CLASS
20-
21-
# Uncomment below to add JVM options or application arguments if necessary
22-
# java -cp "$CLASSPATH" $MAIN_CLASS arg1 arg2
23-
24-
# Desktop shortcut file path
25-
DESKTOP_FILE="$HOME/Desktop/simple-libgen-desktop.desktop"
26-
27-
# Check if the desktop file already exists
28-
if [ ! -f "$DESKTOP_FILE" ]; then
29-
echo "[Desktop Entry]" > "$DESKTOP_FILE"
30-
echo "Type=Application" >> "$DESKTOP_FILE"
31-
echo "Name=Simple LibGen Desktop" >> "$DESKTOP_FILE"
32-
echo "Icon=$BASEDIR/docs/icon.png" >> "$DESKTOP_FILE" # Update with the path to your icon
33-
echo "Exec=bash $BASEDIR/launch.sh" >> "$DESKTOP_FILE"
34-
echo "Terminal=false" >> "$DESKTOP_FILE"
35-
echo "Comment=Launch Simple LibGen Application" >> "$DESKTOP_FILE"
36-
echo "Categories=Utility;" >> "$DESKTOP_FILE"
37-
38-
# Make the .desktop file executable
39-
chmod +x "$DESKTOP_FILE"
40-
echo "Desktop shortcut created."
41-
else
42-
echo "Desktop shortcut already exists."
43-
fi
1+
#!/bin/bash
2+
3+
# Prevent script from running as root
4+
if [ "$(id -u)" == "0" ]; then
5+
echo "This script should not be run as root. Please run as a normal user."
6+
exit 1
7+
fi
8+
9+
# Set the current directory as the base for relative paths
10+
BASEDIR=$(realpath $(dirname "$0"))
11+
12+
# Classpath including the jsoup library and your application's jar file
13+
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0.1-SNAPSHOT-jar-with-dependencies.jar"
14+
15+
# Main class of your application
16+
MAIN_CLASS="LibGenSearchApp"
17+
18+
# Run the application
19+
java -cp "$CLASSPATH" $MAIN_CLASS
20+
21+
# Uncomment below to add JVM options or application arguments if necessary
22+
# java -cp "$CLASSPATH" $MAIN_CLASS arg1 arg2
23+
24+
# Desktop shortcut file path
25+
DESKTOP_FILE="$HOME/Desktop/simple-libgen-desktop.desktop"
26+
27+
# Check if the desktop file already exists
28+
if [ ! -f "$DESKTOP_FILE" ]; then
29+
echo "[Desktop Entry]" > "$DESKTOP_FILE"
30+
echo "Type=Application" >> "$DESKTOP_FILE"
31+
echo "Name=Simple LibGen Desktop" >> "$DESKTOP_FILE"
32+
echo "Icon=$BASEDIR/docs/icon.png" >> "$DESKTOP_FILE" # Update with the path to your icon
33+
echo "Exec=bash $BASEDIR/launch.sh" >> "$DESKTOP_FILE"
34+
echo "Terminal=false" >> "$DESKTOP_FILE"
35+
echo "Comment=Launch Simple LibGen Application" >> "$DESKTOP_FILE"
36+
echo "Categories=Utility;" >> "$DESKTOP_FILE"
37+
38+
# Make the .desktop file executable
39+
chmod +x "$DESKTOP_FILE"
40+
echo "Desktop shortcut created."
41+
else
42+
echo "Desktop shortcut already exists."
43+
fi

launch4j.log

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,24 @@ Launcher: C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin\javaw.exe
1717
Launcher args: -jar "C:\Users\jaked\Documents\simple-libgen-desktop\LibGenSearchApp.exe"
1818
Args length: 73/32768 chars
1919
Exit code: 0
20+
21+
22+
Version: 3.50
23+
CmdLine: C:\Users\jaked\Documents\simple-libgen-desktop\LibGenSearchApp.exe --l4j-debug
24+
JNI: No
25+
WOW64: Yes
26+
Working dir: C:\Users\jaked\Documents\simple-libgen-desktop\.
27+
Requires JDK: No
28+
Requires 64-Bit: No
29+
Java min ver:
30+
Java max ver:
31+
Substitute: JAVA_HOME =
32+
Substitute: PATH = C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin;C:\Python39\Scripts\;C:\Python39\;C:\Python311\Scripts\;C:\Python311\;C:\Program Files\Zulu\zulu-19\bin\;C:\Program Files\Oculus\Support\oculus-runtime;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files\PuTTY\;C:\Users\jaked\Desktop\ffmpeg.exe;C:\Users\jaked\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Docker\Docker\resources\bin;C:\Users\jaked\Documents\platform-tools\adb.exe;C:\Users\jaked\AppData\Roaming\flutter_windows_3.3.10-stable\flutter\bin;C:\Program Files\Erlang OTP\bin;C:\Program Files\MongoDB\Server\6.0\bin;C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Users\jaked\ffmpeg-2023-03-30-git-4d216654ca-essentials_build\bin;C:\Users\jaked\AppData\Roaming\Python\Scripts;C:\Program Files\Calibre2\;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.6\bin;C:\Users\jaked\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python312\;C:\Users\jaked\miniconda3;C:\Users\jaked\miniconda3\Library\mingw-w64\bin;C:\Users\jaked\miniconda3\Library\usr\bin;C:\Users\jaked\miniconda3\Library\bin;C:\Users\jaked\miniconda3\Scripts;C:\Users\jaked\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python310\;C:\Ruby31-x64\bin;C:\Users\jaked\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python38\;C:\Users\jaked\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Nmap;C:\Users\jaked\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\jaked\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\jaked\AppData\Roaming\npm;C:\Users\jaked\jq.exe;C:\Program Files (x86)\GnuWin32\bin\make.exe;C:\Users\jaked\.dotnet\tools;C:\Users\jaked\AppData\Roaming\Python\Scripts;;C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin
33+
JRE paths: ;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin;C:\Python39\Scripts\;C:\Python39\;C:\Python311\Scripts\;C:\Python311\;C:\Program Files\Zulu\zulu-19\bin\;C:\Program Files\Oculus\Support\oculus-runtime;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files\PuTTY\;C:\Users\jaked\Desktop\ffmpeg.exe;C:\Users\jaked\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Docker\Docker\resources\bin;C:\Users\jaked\Documents\platform-tools\adb.exe;C:\Users\jaked\AppData\Roaming\flutter_windows_3.3.10-stable\flutter\bin;C:\Program Files\Erlang OTP\bin;C:\Program Files\MongoDB\Server\6.0\bin;C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Users\jaked\ffmpeg-2023-03-30-git-4d216654ca-essentials_build\bin;C:\Users\jaked\AppData\Roaming\Python\Scripts;C:\Program Files\Calibre2\;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.6\bin;C:\Users\jaked\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python312\;C:\Users\jaked\miniconda3;C:\Users\jaked\miniconda3\Library\mingw-w64\bin;C:\Users\jaked\miniconda3\Library\usr\bin;C:\Users\jaked\miniconda3\Library\bin;C:\Users\jaked\miniconda3\Scripts;C:\Users\jaked\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python310\;C:\Ruby31-x64\bin;C:\Users\jaked\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\jaked\AppData\Local\Programs\Python\Python38\;C:\Users\jaked\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Nmap;C:\Users\jaked\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\jaked\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\jaked\AppData\Roaming\npm;C:\Users\jaked\jq.exe;C:\Program Files (x86)\GnuWin32\bin\make.exe;C:\Users\jaked\.dotnet\tools;C:\Users\jaked\AppData\Roaming\Python\Scripts;;C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin
34+
Check launcher: C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common\bin\javaw.exe (not found)
35+
Check launcher: C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin\javaw.exe (OK)
36+
Version string: 1.011.000_018 / 64-Bit (OK)
37+
Launcher: C:\Program Files\Eclipse Adoptium\jdk-11.0.18.10-hotspot\bin\javaw.exe
38+
Launcher args: -jar "C:\Users\jaked\Documents\simple-libgen-desktop\LibGenSearchApp.exe"
39+
Args length: 73/32768 chars
40+
Exit code: 0

pom.xml

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0"
2-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4-
<modelVersion>4.0.0</modelVersion>
5-
6-
<groupId>org.serverboi</groupId>
7-
<artifactId>LibGenSearchApp</artifactId>
8-
<version>1.0-SNAPSHOT</version>
9-
<packaging>jar</packaging>
10-
11-
<dependencies>
12-
<dependency>
13-
<groupId>org.jsoup</groupId>
14-
<artifactId>jsoup</artifactId>
15-
<version>1.17.2</version>
16-
</dependency>
17-
</dependencies>
18-
19-
<build>
20-
<sourceDirectory>src/main/java</sourceDirectory>
21-
<plugins>
22-
<!-- Maven Compiler Plugin -->
23-
<plugin>
24-
<groupId>org.apache.maven.plugins</groupId>
25-
<artifactId>maven-compiler-plugin</artifactId>
26-
<version>3.11.0</version>
27-
<configuration>
28-
<source>9</source> <!-- Set to Java 9 or the version you are using -->
29-
<target>9</target> <!-- Set to Java 9 or the version you are using -->
30-
</configuration>
31-
</plugin>
32-
33-
<!-- Maven Assembly Plugin -->
34-
<plugin>
35-
<artifactId>maven-assembly-plugin</artifactId>
36-
<version>3.3.0</version>
37-
<configuration>
38-
<archive>
39-
<manifest>
40-
<mainClass>LibGenSearchApp</mainClass>
41-
</manifest>
42-
</archive>
43-
<descriptorRefs>
44-
<descriptorRef>jar-with-dependencies</descriptorRef>
45-
</descriptorRefs>
46-
</configuration>
47-
<executions>
48-
<execution>
49-
<id>make-assembly</id>
50-
<phase>package</phase>
51-
<goals>
52-
<goal>single</goal>
53-
</goals>
54-
</execution>
55-
</executions>
56-
</plugin>
57-
</plugins>
58-
</build>
59-
</project>
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<groupId>org.serverboi</groupId>
7+
<artifactId>LibGenSearchApp</artifactId>
8+
<version>1.0.1-SNAPSHOT</version>
9+
<packaging>jar</packaging>
10+
11+
<dependencies>
12+
<dependency>
13+
<groupId>org.jsoup</groupId>
14+
<artifactId>jsoup</artifactId>
15+
<version>1.17.2</version>
16+
</dependency>
17+
</dependencies>
18+
19+
<build>
20+
<sourceDirectory>src/main/java</sourceDirectory>
21+
<plugins>
22+
<!-- Maven Compiler Plugin -->
23+
<plugin>
24+
<groupId>org.apache.maven.plugins</groupId>
25+
<artifactId>maven-compiler-plugin</artifactId>
26+
<version>3.11.0</version>
27+
<configuration>
28+
<source>9</source> <!-- Set to Java 9 or the version you are using -->
29+
<target>9</target> <!-- Set to Java 9 or the version you are using -->
30+
</configuration>
31+
</plugin>
32+
33+
<!-- Maven Assembly Plugin -->
34+
<plugin>
35+
<artifactId>maven-assembly-plugin</artifactId>
36+
<version>3.3.0</version>
37+
<configuration>
38+
<archive>
39+
<manifest>
40+
<mainClass>LibGenSearchApp</mainClass>
41+
</manifest>
42+
</archive>
43+
<descriptorRefs>
44+
<descriptorRef>jar-with-dependencies</descriptorRef>
45+
</descriptorRefs>
46+
</configuration>
47+
<executions>
48+
<execution>
49+
<id>make-assembly</id>
50+
<phase>package</phase>
51+
<goals>
52+
<goal>single</goal>
53+
</goals>
54+
</execution>
55+
</executions>
56+
</plugin>
57+
</plugins>
58+
</build>
59+
</project>

0 commit comments

Comments
 (0)