PrimfeedLiker/README.md
2026-01-31 11:23:57 +01:00

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.