mirror of
https://github.com/dev-claw/vripper-project.git
synced 2026-08-19 08:35:41 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2483c5fa00 | ||
|
|
dfc5810fd3 | ||
|
|
fad418134e | ||
|
|
9dd91bfc07 | ||
|
|
5bd42e2ce5 | ||
|
|
41feb53a83 |
@@ -1,5 +1,17 @@
|
||||
# Changelog
|
||||
|
||||
## [3.5.2] - 2021-05-24
|
||||
|
||||
### Changed
|
||||
|
||||
- Update donation infos
|
||||
|
||||
## [3.5.1] - 2021-05-22
|
||||
|
||||
### Changed
|
||||
|
||||
- Bug fix
|
||||
|
||||
## [3.5.0] - 2021-05-21
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
# VRipper!
|
||||
|
||||
This is my spin for a cross platform gallery ripper app for [vipergirls](https://vipergirls.to) website.
|
||||
The purpose of this project is to build a robust and clean application to conveniently download photo galleries using modern web technologies, Java + Spring boot for the back end and angular + electron for the front end.
|
||||
This is my spin for a cross platform gallery ripper app for [vipergirls](https://vipergirls.to) website. The purpose of
|
||||
this project is to build a robust and clean application to conveniently download photo galleries using modern web
|
||||
technologies, Java + Spring boot for the back end and angular + electron for the front end.
|
||||
|
||||
## How to build
|
||||
|
||||
You need a recent version of maven 3.6.1+.
|
||||
|
||||
The application support 2 build modes:
|
||||
- Desktop app: Self contained app, built with electron includes Java runtimes.
|
||||
- Server app: Depends on Java runtimes, you need a web browser to access the app UI.
|
||||
|
||||
Most people will be interested only on the desktop app, however if you have a nas or a server, the server app is there for you.
|
||||
- Desktop app: Self contained app, built with electron includes Java runtimes.
|
||||
- Server app: Depends on Java runtimes, you need a web browser to access the app UI.
|
||||
|
||||
Most people will be interested only on the desktop app, however if you have a nas or a server, the server app is there
|
||||
for you.
|
||||
|
||||
To build the server app:
|
||||
|
||||
@@ -25,6 +29,7 @@ version of nodejs on your system.
|
||||
|
||||
If you feel generous and want to support me, you can donate some coins, and I would be very grateful 🙏
|
||||
|
||||
I accept Bitcoin (BTC) for donations, following is my address
|
||||
I accept [PayPal](https://www.paypal.com/myaccount/transfer/homepage/buy/preview) donations, following is my email
|
||||
address
|
||||
|
||||
bc1q9jzzw3st49r9vmxgtylq4vrd67cl7zfclf3lsq
|
||||
dev.vripper@gmail.com
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>tn.mnlr</groupId>
|
||||
<artifactId>vripper</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<version>3.5.2</version>
|
||||
<packaging>pom</packaging>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vripper-electron",
|
||||
"version": "3.5.0",
|
||||
"version": "3.5.2",
|
||||
"description": "A ripper for vipergirls.to built using web technolgies",
|
||||
"main": "main.js",
|
||||
"author": "death-claw <53543762+death-claw@users.noreply.github.com>",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>tn.mnlr</groupId>
|
||||
<artifactId>vripper</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<version>3.5.2</version>
|
||||
</parent>
|
||||
<artifactId>vripper-electron</artifactId>
|
||||
<name>vripper-electron</name>
|
||||
|
||||
@@ -1,15 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="web" name="Web">
|
||||
<configuration>
|
||||
<webroots />
|
||||
</configuration>
|
||||
</facet>
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>tn.mnlr</groupId>
|
||||
<artifactId>vripper</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<version>3.5.2</version>
|
||||
</parent>
|
||||
<artifactId>vripper-server</artifactId>
|
||||
<name>vripper-server</name>
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.springframework.context.event.ContextRefreshedEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
import tn.mnlr.vripper.jpa.repositories.IPostRepository;
|
||||
import tn.mnlr.vripper.services.DataService;
|
||||
|
||||
@Component
|
||||
public class EventListenerBean {
|
||||
@@ -13,15 +14,18 @@ public class EventListenerBean {
|
||||
@Getter private static boolean init = false;
|
||||
|
||||
private final IPostRepository postRepository;
|
||||
private final DataService dataService;
|
||||
|
||||
@Autowired
|
||||
public EventListenerBean(IPostRepository postRepository) {
|
||||
public EventListenerBean(IPostRepository postRepository, DataService dataService) {
|
||||
this.postRepository = postRepository;
|
||||
this.dataService = dataService;
|
||||
}
|
||||
|
||||
@EventListener
|
||||
public void onApplicationEvent(ContextRefreshedEvent event) {
|
||||
postRepository.setDownloadingToStopped();
|
||||
dataService.sortPostsByRank();
|
||||
init = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,11 +45,6 @@ public class DataService {
|
||||
this.eventRepository = eventRepository;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
sortPostsByRank();
|
||||
}
|
||||
|
||||
private void save(Post post) {
|
||||
postRepository.save(post);
|
||||
}
|
||||
@@ -238,7 +233,7 @@ public class DataService {
|
||||
queuedRepository.deleteAll();
|
||||
}
|
||||
|
||||
private synchronized void sortPostsByRank() {
|
||||
public synchronized void sortPostsByRank() {
|
||||
List<Post> posts = findAllPosts();
|
||||
posts.sort(Comparator.comparing(Post::getAddedOn));
|
||||
for (int i = 0; i < posts.size(); i++) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vripper-ui",
|
||||
"version": "3.5.0",
|
||||
"version": "3.5.2",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>tn.mnlr</groupId>
|
||||
<artifactId>vripper</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<version>3.5.2</version>
|
||||
</parent>
|
||||
<artifactId>vripper-ui</artifactId>
|
||||
<name>vripper-ui</name>
|
||||
|
||||
@@ -48,10 +48,15 @@
|
||||
fill="currentColor"/>
|
||||
</svg><h2 class="margin-left no-bottom-margin no-top-margin inline-block">Donation</h2>
|
||||
</span>
|
||||
If you feel generous and want to support me, you can donate some coins, and I would be very grateful <span
|
||||
If you feel generous and want to support me, you can toss me some coins, and I would be very grateful <span
|
||||
style="font-size: 20px">🙏</span><br/>
|
||||
I accept Bitcoin (BTC) for donations, following is my address
|
||||
<h3>bc1q9jzzw3st49r9vmxgtylq4vrd67cl7zfclf3lsq</h3>
|
||||
You can send me donations through paypal to the following email address
|
||||
<div fxLayout="row">
|
||||
<a (click)="goTo('https://www.paypal.com/myaccount/transfer/homepage/buy/preview')" style="cursor: pointer">
|
||||
<img alt="paypal-logo" src="/assets/paypal.svg" width="64">
|
||||
</a>
|
||||
<h3>dev.vripper@gmail.com</h3>
|
||||
</div>
|
||||
</section>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg id="Layer_1" style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000" x="0px"
|
||||
xml:space="preserve" xmlns="http://www.w3.org/2000/svg" y="0px">
|
||||
<style type="text/css">
|
||||
.st0 {
|
||||
fill: #123984;
|
||||
}
|
||||
|
||||
.st1 {
|
||||
fill: #009DE2;
|
||||
}
|
||||
|
||||
.st2 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.st3 {
|
||||
fill: #009CDE;
|
||||
}
|
||||
|
||||
.st4 {
|
||||
fill: #002F86;
|
||||
}
|
||||
|
||||
.st5 {
|
||||
fill: #012069;
|
||||
}
|
||||
|
||||
.st6 {
|
||||
fill: #0F3572;
|
||||
}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M226.9,684.5c0,20.4-8.4,36.8-25.3,49.3c-16.9,12.5-40.5,18.7-70.8,18.7H114l-12.9,55.7H56.8l39.5-171.1h61.5
|
||||
c11.2,0,20.9,0.8,29.2,2.3c8.3,1.5,15.5,4.2,21.5,7.9c6,3.8,10.5,8.6,13.7,14.6C225.3,668.1,226.9,675.6,226.9,684.5z
|
||||
M179.8,688.8c0-6.7-2.4-11.6-7.3-14.8s-12-4.8-21.5-4.8h-17.8l-11.8,51.2h15.9c13.4,0,23.9-2.7,31.3-8.2
|
||||
C176.1,706.7,179.8,698.9,179.8,688.8z"/>
|
||||
<path class="st0" d="M308.4,794.6c-2.6,1.7-5.7,3.7-9.4,6.1s-7.1,4.3-10.2,5.7c-4.3,1.8-8.3,3.1-12.1,4c-3.8,0.9-9,1.4-15.6,1.4
|
||||
c-10.7,0-19.5-3-26.3-9c-6.8-6-10.2-13.9-10.2-23.5c0-10.2,2.4-18.8,7.2-25.9c4.8-7.1,12-12.8,21.5-17c8.9-4,19.5-6.9,31.7-8.6
|
||||
c12.3-1.8,25.6-3.1,39.9-3.9c0.1-0.5,0.3-1.2,0.5-2.2c0.3-1,0.4-2.2,0.4-3.5c0-5.4-2.5-9.2-7.6-11.4c-5.1-2.2-12.6-3.3-22.6-3.3
|
||||
c-6.8,0-14.3,1.1-22.6,3.4c-8.2,2.3-14.4,4.2-18.5,5.7h-3.8l6.1-30.6c4.8-1.2,12.3-2.6,22.4-4.1c10.1-1.5,20.2-2.3,30.2-2.3
|
||||
c20.2,0,35.1,2.6,44.5,7.9c9.5,5.3,14.2,13.5,14.2,24.6c0,1.5-0.1,3.5-0.4,6c-0.3,2.5-0.6,4.6-1.1,6.4l-20.2,87.8h-41.1
|
||||
L308.4,794.6z M319.4,747.4c-7.4,0.6-14.3,1.3-20.8,2.2c-6.5,0.8-12,2.1-16.5,3.7c-4.7,1.7-8.3,4.1-10.7,7.1
|
||||
c-2.5,3.1-3.7,7.1-3.7,12.2c0,4.4,1.6,7.6,4.9,9.4c3.3,1.8,8,2.7,14.3,2.7c4.1,0,8.4-0.9,13.1-2.8c4.7-1.9,9-4.3,13.1-7.2
|
||||
L319.4,747.4z"/>
|
||||
<path class="st0" d="M431.8,855.6h-45.5l32.9-49.9L398,679.3h42.3l11.2,84.5l49.1-84.5h43.7L431.8,855.6z"/>
|
||||
<path class="st1" d="M709.7,684.5c0,20.4-8.4,36.8-25.3,49.3c-16.9,12.5-40.5,18.7-70.8,18.7h-16.8l-12.9,55.7h-44.3L579,637.2
|
||||
h61.5c11.2,0,20.9,0.8,29.2,2.3c8.3,1.5,15.5,4.2,21.5,7.9c6,3.8,10.5,8.6,13.7,14.6C708.1,668.1,709.7,675.6,709.7,684.5z
|
||||
M662.5,688.8c0-6.7-2.4-11.6-7.3-14.8s-12-4.8-21.5-4.8h-17.8l-11.8,51.2H620c13.4,0,23.9-2.7,31.3-8.2
|
||||
C658.8,706.7,662.5,698.9,662.5,688.8z"/>
|
||||
<path class="st1" d="M791.2,794.6c-2.6,1.7-5.7,3.7-9.4,6.1s-7.1,4.3-10.2,5.7c-4.3,1.8-8.3,3.1-12.1,4c-3.8,0.9-9,1.4-15.6,1.4
|
||||
c-10.7,0-19.5-3-26.3-9c-6.8-6-10.2-13.9-10.2-23.5c0-10.2,2.4-18.8,7.2-25.9c4.8-7.1,12-12.8,21.5-17c8.9-4,19.5-6.9,31.7-8.6
|
||||
c12.3-1.8,25.6-3.1,39.9-3.9c0.1-0.5,0.3-1.2,0.5-2.2c0.3-1,0.4-2.2,0.4-3.5c0-5.4-2.5-9.2-7.6-11.4c-5.1-2.2-12.6-3.3-22.6-3.3
|
||||
c-6.8,0-14.3,1.1-22.6,3.4c-8.2,2.3-14.4,4.2-18.5,5.7h-3.8l6.1-30.6c4.8-1.2,12.3-2.6,22.4-4.1c10.1-1.5,20.2-2.3,30.2-2.3
|
||||
c20.2,0,35.1,2.6,44.5,7.9c9.5,5.3,14.2,13.5,14.2,24.6c0,1.5-0.1,3.5-0.4,6c-0.3,2.5-0.6,4.6-1.1,6.4l-20.2,87.8H788L791.2,794.6
|
||||
z M802.2,747.4c-7.4,0.6-14.3,1.3-20.8,2.2c-6.5,0.8-12,2.1-16.5,3.7c-4.7,1.7-8.3,4.1-10.7,7.1c-2.5,3.1-3.7,7.1-3.7,12.2
|
||||
c0,4.4,1.6,7.6,4.9,9.4c3.3,1.8,8,2.7,14.3,2.7c4.1,0,8.4-0.9,13.1-2.8c4.7-1.9,9-4.3,13.1-7.2L802.2,747.4z"/>
|
||||
<path class="st1" d="M949.9,629.5l-41.3,178.8h-41.6l41.3-178.8H949.9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st2" d="M581.7,213.1c27.2,0,50.9,1.7,71.2,5.4c1,0.2,2,0.4,2.9,0.5c-1-0.2-1.9-0.4-2.9-0.5
|
||||
C632.6,214.8,608.9,213.1,581.7,213.1z"/>
|
||||
<path class="st3" d="M738,273.2c-7.6-14.6-18.7-26.5-33.3-35.6c-12.2-7.6-25.8-13.3-41.9-17.1c0.4,4.6,1.1,9.4,1.1,14.4
|
||||
c0,0,0,0,0,0c0,0,0,0,0,0c0,49.6-21.1,89.3-62.2,119.7C560.7,385,502.8,400,428.9,400h-40.7l-52.8,230h107.9l31.3-137h40.8
|
||||
c73.8,0,131.3-15,172.4-45.4c41.1-30.4,61.7-70.3,61.7-119.8C749.5,306,745.7,287.8,738,273.2z"/>
|
||||
<path class="st4" d="M581.7,214c27.2,0,50.9,1.5,71.2,5.2c1,0.2,2,0.3,2.9,0.5c2.4,0.4,4.8,0.8,7.1,1.4c-1.4-15.5-5-29-10.9-40.3
|
||||
c-7.6-14.6-18.7-26.6-33.3-35.7c-14.7-9.1-32.2-15.7-52.4-19.4c-20.2-3.7-44-5.7-71.2-5.7H345.6l-96.1,416h107.9l31.3-136h0.1
|
||||
L432,214H581.7z"/>
|
||||
<g>
|
||||
<path class="st5" d="M601.9,355.1c41.1-30.4,61.7-70.6,61.7-120.2c0-5-0.2-9.8-0.6-14.4c0,0,0,0,0,0c0,0,0,0,0,0.1
|
||||
c-2.3-0.6-4.7-1-7.2-1.5c-1-0.2-1.9,0.1-2.9-0.1c-20.2-3.7-44-5-71.2-5H432l-43.3,187h40.7C503.3,401,560.8,385.5,601.9,355.1z"
|
||||
/>
|
||||
<path class="st5" d="M429.5,401h-41.4l0.1-0.6L431.7,213h150c28.9,0,52.2,1.7,71.3,5.2c0.5,0.1,1,0.1,1.5,0.2
|
||||
c0.5,0,1,0.1,1.5,0.2c2.2,0.4,4.5,0.9,6.8,1.4l0.1,0l0.1-0.1l0.6,0.2l0,0.3c0,0.1,0,0.2,0,0.3l0,0.4l0,0
|
||||
c0.4,4.5,0.6,9.1,0.6,13.7c0,49.6-20.8,90.1-61.9,120.4C561.1,385.6,503,401,429.5,401z M389.4,400h40.1
|
||||
c73.3,0,131.2-15.3,172.1-45.6l0,0c40.8-30.1,61.4-70.4,61.5-119.6c0-4.7-0.2-9.4-0.6-13.9c-2.3-0.5-4.6-1-6.8-1.4
|
||||
c-0.5-0.1-0.9-0.1-1.4-0.2c-0.5,0-1-0.1-1.6-0.2c-19-3.5-42.2-5.2-71.1-5.2H432.4L389.4,400z"/>
|
||||
</g>
|
||||
<path class="st6" d="M602.3,354.9c41.1-30.4,61.7-70.4,61.7-120c0,0,0,0,0,0C664,284.4,643.4,324.5,602.3,354.9z"/>
|
||||
<path class="st6"
|
||||
d="M663,220.5C663,220.5,663,220.5,663,220.5c-2.4-0.6-4.7-1.1-7.2-1.5C658.2,219.5,660.6,220,663,220.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
@@ -2,5 +2,5 @@ export const environment = {
|
||||
production: true,
|
||||
localhost: `${window.location.protocol}//${window.location.host}`,
|
||||
ws: `${window.location.protocol === 'http:' ? 'ws:' : 'wss:'}//${window.location.host}`,
|
||||
version: '3.5.0'
|
||||
version: '3.5.2'
|
||||
};
|
||||
|
||||
@@ -6,7 +6,7 @@ export const environment = {
|
||||
production: false,
|
||||
localhost: 'http://localhost:8080',
|
||||
ws: 'ws://localhost:8080',
|
||||
version: '3.5.0'
|
||||
version: '3.5.2'
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/dist" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/vripper-ui/dist" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vripper-ui/tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
|
||||
Reference in New Issue
Block a user