40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
## Primfeed Liker
|
|
|
|
### Architecture
|
|
- `PrimfeedDoomscrollScript` in `src/main/java/de/tamse/primfeedliker/automation/PrimfeedDoomscrollScript.java` is the entrypoint.
|
|
- Config loads from `src/main/resources/application.properties` (or `application.yml`) and system properties.
|
|
- Selenium WebDriver handles the browser; a `DoomscrollState` tracks progress and stopping logic.
|
|
- `LikedCache` persists liked post keys to disk and caps the cache size.
|
|
|
|
### Run
|
|
- Ensure Java 17 and a matching WebDriver (ChromeDriver/GeckoDriver) are available.
|
|
- Start with:
|
|
`./mvnw spring-boot:run -Dspring-boot.run.main-class=de.tamse.primfeedliker.automation.PrimfeedDoomscrollScript`
|
|
|
|
### Configuration (Key Parameters)
|
|
- Selectors (required):
|
|
- `primfeed.feed-item-selector`
|
|
- `primfeed.profile-name-selector`
|
|
- `primfeed.like-button-selector`
|
|
- `primfeed.target-profile`
|
|
- Login persistence:
|
|
- `primfeed.chrome-user-data-dir`, `primfeed.chrome-profile-dir`
|
|
- `primfeed.firefox-profile-dir`
|
|
- `primfeed.manual-login-seconds`
|
|
- Doomscroll pacing:
|
|
- `primfeed.like-delay-min-ms`, `primfeed.like-delay-max-ms`
|
|
- `primfeed.scroll-min-px`, `primfeed.scroll-max-px`
|
|
- `primfeed.long-pause-every`, `primfeed.long-pause-min-ms`, `primfeed.long-pause-max-ms`
|
|
- `primfeed.max-scrolls`, `primfeed.max-items`
|
|
- Stop/skip controls:
|
|
- `primfeed.max-consecutive-liked` (0 disables the stop condition)
|
|
- `primfeed.skip-profiles` (comma-separated, case-insensitive)
|
|
- Cache controls:
|
|
- `primfeed.cache-path` (default `${user.home}/.primfeed-liker/liked-posts.txt`)
|
|
- `primfeed.cache-max-entries` (default 50k)
|
|
- `primfeed.rescan-window-size`, `primfeed.max-linked-items`
|
|
|
|
### Notes
|
|
- Clear the cache by deleting `~/.primfeed-liker/liked-posts.txt`.
|
|
- If you switch accounts or undo likes, clear the cache to avoid stale skips.
|