Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
ImSejin committed Dec 14, 2022
2 parents 0e3760b + cd7f6b7 commit ae75d97
Show file tree
Hide file tree
Showing 109 changed files with 5,354 additions and 2,735 deletions.
28 changes: 28 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale.
daysUntilStale: 90

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 180

# Issues with these labels will never be considered stale.
exemptLabels:
- pinned
- security

# Label to use when marking an issue as stale.
staleLabel: "🗑 stale"

# Comment to post when marking an issue as stale. Set to `false` to disable.
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable.
closeComment: false

# Limit to only `issues` or `pulls`.
only: issues
8 changes: 4 additions & 4 deletions .github/workflows/maven-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ name: Java CI with Maven
on:
push:
branches:
# - release
- dev
- release
# - dev

schedule:
- cron: "0 20 * * 6" # Runs at 05:00 Asia/Seoul on Sun.
# schedule:
# - cron: "0 20 * * 6" # Runs at 05:00 Asia/Seoul on Sun.

jobs:
build:
Expand Down
33 changes: 11 additions & 22 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,51 +1,40 @@
target/
bin/
L_*/
.gitconfig
!.mvn/wrapper/maven-wrapper.jar
*.log
*.conf*

# Downloaded Directories -------------------------------------------------------
L_*/

#################################
# Chrome driver #
#################################
chromedriver*
# Chrome Driver ----------------------------------------------------------------
chromedriver
chromedriver.exe
!src/test/**/chrome-driver/**/chromedriver*
src/test/**/chrome-driver/**/chromedriver-m1-*
src/test/**/google-chrome/**/googlechrome-m1-*
#################################

# Maven ------------------------------------------------------------------------
target/
!.mvn/wrapper/maven-wrapper.jar

#################################
# STS #
#################################
# Spring Tool Suite ------------------------------------------------------------
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
#################################


#################################
# IntelliJ IDEA #
#################################
# IntelliJ IDEA ----------------------------------------------------------------
.idea
*.iws
*.iml
*.ipr
#################################


#################################
# NetBeans #
#################################
# NetBeans ---------------------------------------------------------------------
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/
#################################
60 changes: 60 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Table of Contents

- [v3.0.0](#v300): 2022-12-14
- [v2.9.0](#v290): 2022-02-20

# v3.0.0

- ♻️ Refactor: entire application architecture
- ♻️ Change: base package from `io.github.imsejin.lzcodl` to `io.github.imsejin.dl.lezhin`
- 🔥 Remove: model class `Arguments`
- 🔥 Remove: common classes `CommandParser`, `URLFactory`, `UsagePrinter`
- 🔥 Remove: core classes `Crawler`, `Downloader`, `LoginHelper`

# v2.9.0

## Modification

- ⚡️ Improve: parsing `application.properties`
- ⚡️ Improve: validation using assertion
- ♻️ Change: type of `Arguments#language` from `String` to `Language`
- 🚚 Rename: method `of(String)` to `from(String)` in `EpisodeRange`
- 🔧 Update: build script

## New features

- ⚡️ Add: chrome driver options
- ✨ Add: method `getVersion()` in `ChromeBrowser`
- 👷 Add: github actions CI

## Dependencies

- ⬆️ Upgrade: dependency `progressbar` from `0.9.2` to `0.9.3`
- ⬆️ Upgrade: dependency `common-utils` from `0.7.0` to `0.7.1`
- ⬆️ Upgrade: dependency `lombok` from `1.18.20` to `1.18.22`
- ⬆️ Upgrade: dependency `selenium-java` from `3.141.59` to `4.1.2`
- ⬆️ Upgrade: dependency `commons-cli` from `1.4` to `1.5.0`
- ⬆️ Upgrade: dependency `slf4j-api` from `1.7.31` to `1.7.36`
- ⬆️ Upgrade: dependency `logback-classic` from `1.2.3` to `1.2.10`
- ⬆️ Upgrade: test dependency `junit5` from `5.7.2` to `5.8.2`
- ⬆️ Upgrade: test dependency `assertj-core` from `3.20.2` to `3.22.0`
- ⬆️ Upgrade: build dependency `maven-assembly-plugin` from `2.6` to `3.3.0`
- ➖ Remove: useless build dependency `maven-dependency-plugin`

## Troubleshooting

- 🐞 Fix: not found hostname(`cdn.lezhin.com` -> `ccdn.lezhin.com`)
- 🐞 Fix: `301 Moved Permanently` with changing to http/s protocol

```html
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>CloudFront</center>
</body>
</html>
```

- 🐞 Fix: mis-computation of parsing `EpisodeRange`
- 🐞 Fix: invocation `Object#equals(Object)` comparing incomparable types `Enum<Languages>` and `String`
44 changes: 23 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img alt="Lezhin Comics Downloader" src="./src/main/resources/assets/lezhin-comics-downloader-logo.png" width="20%">
<img alt="Lezhin Comics Downloader" src="./asset/lezhin-comics-downloader-logo.png" width="20%">
</p>

<h1 align="center">Lezhin Comics Downloader</h1>
Expand All @@ -13,7 +13,7 @@
<a href="https://app.codacy.com/gh/ImSejin/lezhin-comics-downloader/dashboard">
<img alt="Codacy grade" src="https://img.shields.io/codacy/grade/1a2400c31a8346ddbf108fb3ac78f481?label=codacy%3A%20code%20quality&style=flat-square">
</a>
<img alt="jdk8" src="https://img.shields.io/badge/jdk-8-orange?style=flat-square">
<img alt="jdk11" src="https://img.shields.io/badge/jdk-11-orange?style=flat-square">
<br/>
<img alt="GitHub All Releases" src="https://img.shields.io/github/downloads/imsejin/lezhin-comics-downloader/total?style=flat-square">
<img alt="GitHub Releases" src="https://img.shields.io/github/downloads/imsejin/lezhin-comics-downloader/latest/total?style=flat-square">
Expand All @@ -24,7 +24,7 @@

# Preview

<img alt="preview" src="./src/main/resources/assets/preview.gif">
<img alt="preview" src="./asset/preview.gif">

<p align="center">This is downloader that helps you to login and downloads the specified comic for all lezhin-comics even adults.</p>
<p align="center">※ <i>The user is responsible for everything that happens using this program.</i></p>
Expand All @@ -40,13 +40,16 @@

(The first line is the version. e.g. 83.0.4103.116)

3. Download the `chrome driver` that matches <ins>its version</ins> and your device OS [here](https://chromedriver.chromium.org/downloads) and decompress it.
3. Download the `chrome driver` that matches <ins>its version</ins> and your device
OS [here](https://chromedriver.chromium.org/downloads) and decompress it.

4. Check if JRE(or JDK) version is greater than or equal to 8 or install it.
4. Check if your JRE(or JDK) version is 11 or higher. If you don't have, install it.

5. Download the latest released `lezhin-comics-downloader.jar` [here](https://github.com/ImSejin/lezhin-comics-downloader/releases).
5. Download the latest
released `lezhin-comics-downloader.jar` [here](https://github.com/ImSejin/lezhin-comics-downloader/releases).

6. Download `config.ini` [here](https://raw.githubusercontent.com/ImSejin/lezhin-comics-downloader/master/config.ini) and write your account in the file.
6. Download `config.ini` [here](https://raw.githubusercontent.com/ImSejin/lezhin-comics-downloader/master/config.ini)
and write your account in the file.

7. Place three files in the same path.

Expand All @@ -57,26 +60,26 @@
## Usage

```bash
java -jar {JAR filename} -l=<language> -n=<comic_name> [-r=<episode_range> -j -d]
java -jar {JAR filename} -l=<locale_language> -n=<content_name> [-r=<episode_range> -j -d]
```

- *<ins>language</ins> (required)*: language of lezhin platform you want to see.
- **ko** : korean
- **en** : english
- **ja** : japanese
- *<ins>comic name</ins> (required)*: webtoon name you want to download.
- *<ins>locale language</ins> (required)*: language of lezhin platform you want to download the webtoon on.

- **ko** : korean
- **en** : english
- **ja** : japanese

- *<ins>content name</ins> (required)*: webtoon name you want to download.

<p>
<img alt="comic name" src="./src/main/resources/assets/comic-name.png">
<img alt="comic name" src="./asset/comic-name.png">
</p>

- *<ins>episode range</ins> (optional)*: range of episodes you want to download.
- __skipped__ : all episodes
- __n~__ : from ep.N to the last episode
- __~n__ : from the first episode to ep.N
- __m~n__ : from ep.M to ep.N
- __skipped__ : all episodes
- __n~__ : from ep.N to the last episode
- __~n__ : from the first episode to ep.N
- __m~n__ : from ep.M to ep.N
- <ins>jpg</ins> (optional): save images as JPEG format (default: WEBP format).
- <ins>debug</ins> (optional): enables debugging mode.

Expand Down Expand Up @@ -125,4 +128,3 @@ Downloads the episodes of the comic named appetite from ep.1 to ep.10.
```

Then you will get a file `lezhin-comics-downloader-{version}.jar`.

File renamed without changes
File renamed without changes
File renamed without changes
1 change: 0 additions & 1 deletion config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,3 @@
[account]
username = USERNAME
password = PASSWORD

Loading

0 comments on commit ae75d97

Please sign in to comment.