-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7457dc5
commit 662f57d
Showing
17 changed files
with
1,506 additions
and
1,486 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,24 @@ | ||
## simple-libgen-desktop | ||
|
||
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. | ||
|
||
<div style="text-align: center;"> | ||
<div style="display: inline-block;"> | ||
<p>Using simple-libgen-desktop to search for books and mirrors:</p> | ||
<img src="https://raw.githubusercontent.com/JakeTurner616/simple-libgen-desktop/main/docs/libgendemo200percentspeed.gif" alt="Using the application to find book mirrors"> | ||
</div> | ||
|
||
## Features | ||
|
||
- Search and download books from libgen.li and library.lol. | ||
- Displays the list of mirrors for any given book across annas-archive.org, library.lol or any other libgen.li supported mirror. | ||
- Allows for filtering against any language and/or any media type. | ||
- Fetches book details, covers, and direct download URLs across multiple mirrors all in one place. | ||
- Directly download from the libgen.li or library.lol mirror to a selected local location. | ||
- Multi-threaded downloading logic allows for downloading more than one book simultaneously without blocking the UI. | ||
- Pagination allows for in-depth searching of results. | ||
- Uses Java Swing (jswing) and Jsoup for graphics and web scraping, respectively. | ||
|
||
## License | ||
|
||
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. | ||
## simple-libgen-desktop | ||
|
||
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. | ||
|
||
<div style="text-align: center;"> | ||
<div style="display: inline-block;"> | ||
<p>Using simple-libgen-desktop to search for books and mirrors:</p> | ||
<img src="https://raw.githubusercontent.com/JakeTurner616/simple-libgen-desktop/main/docs/libgendemo200percentspeed.gif" alt="Using the application to find book mirrors"> | ||
</div> | ||
|
||
## Features | ||
|
||
- Search and download books from libgen.li and library.lol. | ||
- Displays the list of mirrors for any given book across annas-archive.org, library.lol or any other libgen.li supported mirror. | ||
- Allows for filtering against any language and/or any media type. | ||
- Fetches book details, covers, and direct download URLs across multiple mirrors all in one place. | ||
- Directly download from the libgen.li or library.lol mirror to a selected local location. | ||
- Multi-threaded downloading logic allows for downloading more than one book simultaneously without blocking the UI. | ||
- Pagination allows for in-depth searching of results. | ||
- Uses Java Swing (jswing) and Jsoup for graphics and web scraping, respectively. | ||
|
||
## License | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
#!/bin/bash | ||
|
||
# Set the current directory as the base for relative paths | ||
BASEDIR=$(dirname "$0") | ||
|
||
# Convert BASEDIR to an absolute path (macOS compatible) | ||
BASEDIR=$(cd "$BASEDIR"; pwd) | ||
|
||
# Classpath including the jsoup library and your application's jar file | ||
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0-SNAPSHOT-jar-with-dependencies.jar" | ||
|
||
# Main class of your application | ||
MAIN_CLASS="LibGenSearchApp" | ||
|
||
# Run the application | ||
java -cp "$CLASSPATH" $MAIN_CLASS | ||
#!/bin/bash | ||
|
||
# Set the current directory as the base for relative paths | ||
BASEDIR=$(dirname "$0") | ||
|
||
# Convert BASEDIR to an absolute path (macOS compatible) | ||
BASEDIR=$(cd "$BASEDIR"; pwd) | ||
|
||
# Classpath including the jsoup library and your application's jar file | ||
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0.1-SNAPSHOT-jar-with-dependencies.jar" | ||
|
||
# Main class of your application | ||
MAIN_CLASS="LibGenSearchApp" | ||
|
||
# Run the application | ||
java -cp "$CLASSPATH" $MAIN_CLASS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,43 @@ | ||
#!/bin/bash | ||
|
||
# Prevent script from running as root | ||
if [ "$(id -u)" == "0" ]; then | ||
echo "This script should not be run as root. Please run as a normal user." | ||
exit 1 | ||
fi | ||
|
||
# Set the current directory as the base for relative paths | ||
BASEDIR=$(realpath $(dirname "$0")) | ||
|
||
# Classpath including the jsoup library and your application's jar file | ||
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0-SNAPSHOT-jar-with-dependencies.jar" | ||
|
||
# Main class of your application | ||
MAIN_CLASS="LibGenSearchApp" | ||
|
||
# Run the application | ||
java -cp "$CLASSPATH" $MAIN_CLASS | ||
|
||
# Uncomment below to add JVM options or application arguments if necessary | ||
# java -cp "$CLASSPATH" $MAIN_CLASS arg1 arg2 | ||
|
||
# Desktop shortcut file path | ||
DESKTOP_FILE="$HOME/Desktop/simple-libgen-desktop.desktop" | ||
|
||
# Check if the desktop file already exists | ||
if [ ! -f "$DESKTOP_FILE" ]; then | ||
echo "[Desktop Entry]" > "$DESKTOP_FILE" | ||
echo "Type=Application" >> "$DESKTOP_FILE" | ||
echo "Name=Simple LibGen Desktop" >> "$DESKTOP_FILE" | ||
echo "Icon=$BASEDIR/docs/icon.png" >> "$DESKTOP_FILE" # Update with the path to your icon | ||
echo "Exec=bash $BASEDIR/launch.sh" >> "$DESKTOP_FILE" | ||
echo "Terminal=false" >> "$DESKTOP_FILE" | ||
echo "Comment=Launch Simple LibGen Application" >> "$DESKTOP_FILE" | ||
echo "Categories=Utility;" >> "$DESKTOP_FILE" | ||
|
||
# Make the .desktop file executable | ||
chmod +x "$DESKTOP_FILE" | ||
echo "Desktop shortcut created." | ||
else | ||
echo "Desktop shortcut already exists." | ||
fi | ||
#!/bin/bash | ||
|
||
# Prevent script from running as root | ||
if [ "$(id -u)" == "0" ]; then | ||
echo "This script should not be run as root. Please run as a normal user." | ||
exit 1 | ||
fi | ||
|
||
# Set the current directory as the base for relative paths | ||
BASEDIR=$(realpath $(dirname "$0")) | ||
|
||
# Classpath including the jsoup library and your application's jar file | ||
CLASSPATH="$BASEDIR/lib/jsoup-1.17.2.jar:$BASEDIR/target/LibGenSearchApp-1.0.1-SNAPSHOT-jar-with-dependencies.jar" | ||
|
||
# Main class of your application | ||
MAIN_CLASS="LibGenSearchApp" | ||
|
||
# Run the application | ||
java -cp "$CLASSPATH" $MAIN_CLASS | ||
|
||
# Uncomment below to add JVM options or application arguments if necessary | ||
# java -cp "$CLASSPATH" $MAIN_CLASS arg1 arg2 | ||
|
||
# Desktop shortcut file path | ||
DESKTOP_FILE="$HOME/Desktop/simple-libgen-desktop.desktop" | ||
|
||
# Check if the desktop file already exists | ||
if [ ! -f "$DESKTOP_FILE" ]; then | ||
echo "[Desktop Entry]" > "$DESKTOP_FILE" | ||
echo "Type=Application" >> "$DESKTOP_FILE" | ||
echo "Name=Simple LibGen Desktop" >> "$DESKTOP_FILE" | ||
echo "Icon=$BASEDIR/docs/icon.png" >> "$DESKTOP_FILE" # Update with the path to your icon | ||
echo "Exec=bash $BASEDIR/launch.sh" >> "$DESKTOP_FILE" | ||
echo "Terminal=false" >> "$DESKTOP_FILE" | ||
echo "Comment=Launch Simple LibGen Application" >> "$DESKTOP_FILE" | ||
echo "Categories=Utility;" >> "$DESKTOP_FILE" | ||
|
||
# Make the .desktop file executable | ||
chmod +x "$DESKTOP_FILE" | ||
echo "Desktop shortcut created." | ||
else | ||
echo "Desktop shortcut already exists." | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,59 @@ | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>org.serverboi</groupId> | ||
<artifactId>LibGenSearchApp</artifactId> | ||
<version>1.0-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.jsoup</groupId> | ||
<artifactId>jsoup</artifactId> | ||
<version>1.17.2</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<sourceDirectory>src/main/java</sourceDirectory> | ||
<plugins> | ||
<!-- Maven Compiler Plugin --> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>3.11.0</version> | ||
<configuration> | ||
<source>9</source> <!-- Set to Java 9 or the version you are using --> | ||
<target>9</target> <!-- Set to Java 9 or the version you are using --> | ||
</configuration> | ||
</plugin> | ||
|
||
<!-- Maven Assembly Plugin --> | ||
<plugin> | ||
<artifactId>maven-assembly-plugin</artifactId> | ||
<version>3.3.0</version> | ||
<configuration> | ||
<archive> | ||
<manifest> | ||
<mainClass>LibGenSearchApp</mainClass> | ||
</manifest> | ||
</archive> | ||
<descriptorRefs> | ||
<descriptorRef>jar-with-dependencies</descriptorRef> | ||
</descriptorRefs> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>make-assembly</id> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>single</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>org.serverboi</groupId> | ||
<artifactId>LibGenSearchApp</artifactId> | ||
<version>1.0.1-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.jsoup</groupId> | ||
<artifactId>jsoup</artifactId> | ||
<version>1.17.2</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<sourceDirectory>src/main/java</sourceDirectory> | ||
<plugins> | ||
<!-- Maven Compiler Plugin --> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>3.11.0</version> | ||
<configuration> | ||
<source>9</source> <!-- Set to Java 9 or the version you are using --> | ||
<target>9</target> <!-- Set to Java 9 or the version you are using --> | ||
</configuration> | ||
</plugin> | ||
|
||
<!-- Maven Assembly Plugin --> | ||
<plugin> | ||
<artifactId>maven-assembly-plugin</artifactId> | ||
<version>3.3.0</version> | ||
<configuration> | ||
<archive> | ||
<manifest> | ||
<mainClass>LibGenSearchApp</mainClass> | ||
</manifest> | ||
</archive> | ||
<descriptorRefs> | ||
<descriptorRef>jar-with-dependencies</descriptorRef> | ||
</descriptorRefs> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>make-assembly</id> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>single</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> |
Oops, something went wrong.