WeChat Reading automatische Anwesenheit und Zeit aufbauen
Categories:
Nur um ein wenig billiger WeChat Reading Mitgliedschaft zu kaufen.
Dieses Dokument kann veraltet sein. Bitte besuchen Sie die Open-Source-Adresse für die neuesten Informationen: https://github.com/jqknono/weread-challenge-selenium

WeChat Reading Regeln
- Offline-Lesen zählt zur Gesamtzeit, muss jedoch online gemeldet werden
- Web-Version, E-Ink, Mini-Programm, Hörbuch, Audio-Buch-Zuhören zählt alle zur Gesamtzeit
- Für zu lange automatische Lese- oder Hörzeiten wird die Plattform basierend auf den Benutzermerkmalen entscheiden, zu lange Teile werden nicht zur Gesamtzeit gezählt
- Nur wenn an einem Tag mehr als 5 Minuten gelesen wurde, zählt es als gültiger Lesetag
- Zahlung von 5 Yuan erhält sofort 2 Tage Mitgliedschaft, danach innerhalb von 30 Tagen 29 Tage Anwesenheit, Lesedauer über 30 Stunden, erhält 30 Tage Mitgliedschaft und 30 Buchmünzen
- Zahlung von 50 Yuan erhält sofort 30 Tage Mitgliedschaft, danach innerhalb von 365 Tagen 360 Tage Anwesenheit, Lesedauer über 300 Stunden, erhält 365 Tage Mitgliedschaft und 500 Buchmünzen
Nach praktischer Erfahrung gibt es noch folgende unklare Merkmale:
- Am 29. Tag der Anwesenheit erhält man sofort die Mitgliedschaftsbelohnung und kann sofort mit der nächsten Runde der Mitgliedschafts-Anwesenheit beginnen, ohne bis zum 31. Tag warten zu müssen. Die Anwesenheit am 29. Tag zählt sowohl für die vorherige als auch für die nächste Runde.
- Abgesehen von der ersten Runde, die 29 Tage benötigt, kann jede weitere Runde alle 28 Tage 32 Tage Mitgliedschaft erhalten, 1+28*13=365, im Jahr können 13 Runden abgeschlossen werden, Kosten 65 Yuan, erhalten 32*13=416 Tage Mitgliedschaft und 390 Buchmünzen.
- Der Jahreskarten-Challenge-Mitgliedschaft ist immer noch die günstigste, aber mit längerer Dauer und höherem Risiko.
Tool-Eigenschaften
- Verwendung von Head-Browsern
- Unterstützung für lokale und Remote-Browser
- Zufällige Browserbreite und -höhe
- Unterstützung für Warten auf Anmeldung
- Unterstützung für QR-Code-Aktualisierung für Anmeldung
- Unterstützung für das Speichern von Cookies
- Unterstützung für das Laden von Cookies
- Unterstützung für die Auswahl des X. kürzlich gelesenen Buches zum Lesen
- Standardmäßig zufällige Auswahl eines Buches zum Lesen
- Unterstützung für automatisches Lesen
- Unterstützung für das Springen zum nächsten Kapitel
- Unterstützung für das Zurückspringen zum ersten Kapitel nach dem Lesen
- Unterstützung für die Auswahl der Lesegeschwindigkeit
- Zufällige Lesezeit pro Seite
- Zufällige Blätterzeit
- Screenshot der aktuellen Schnittstelle jede Minute
- Unterstützung für Protokolle
- Unterstützung für Terminaufgaben
- Unterstützung für das Setzen der Lesedauer
- Unterstützung für E-Mail-Benachrichtigungen
- Unterstützung mehrerer Plattformen:
linux | windows | macos
- Unterstützung für Browser:
chrome | MicrosoftEdge | firefox - Unterstützung für mehrere Benutzer
- Erzwungene Aktualisierung bei Ausnahmen
- Verwendung von Statistiken
Linux
Direktes Ausführen
# Installieren Sie nodejs
sudo apt install nodejs
# Für ältere nodejs-Versionen muss npm installiert werden
sudo apt install npm
# Erstellen Sie den Ausführungsordner
mkdir -p $HOME/Documents/weread-challenge
cd $HOME/Documents/weread-challenge
# Installieren Sie Abhängigkeiten
npm install selenium-webdriver
# Laden Sie das Skript herunter
wget https://storage1.techfetch.dev/weread-challenge/weread-challenge.js -O weread-challenge.js
# Setzen Sie Laufparameter über Umgebungsvariablen
export WEREAD_BROWSER="chrome"
# Ausführen
WEREAD_BROWSER="chrome" node weread-challenge.js
Für E-Mail-Benachrichtigungen muss nodemailer installiert werden:
npm install nodemailer
Docker Compose Ausführen
services:
app:
image: jqknono/weread-challenge:latest
pull_policy: always
environment:
- WEREAD_REMOTE_BROWSER=http://selenium:4444
- WEREAD_DURATION=68
volumes:
- ./data:/app/data
depends_on:
selenium:
condition: service_healthy
selenium:
image: selenium/standalone-chrome:4.26
pull_policy: if_not_present
shm_size: 2gb
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- SE_ENABLE_TRACING=false
- SE_BIND_HOST=false
- SE_JAVA_DISABLE_HOSTNAME_VERIFICATION=false
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4444/wd/hub/status"]
interval: 5s
timeout: 60s
retries: 10
Speichern Sie als docker-compose.yml und führen Sie docker compose up -d aus.
Nach dem ersten Start muss der QR-Code mit WeChat gescannt werden, der QR-Code wird in ./data/login.png gespeichert.
Docker Ausführen
# Starten Sie selenium standalone
docker run --restart always -d --name selenium-live \
-v /var/run/docker.sock:/var/run/docker.sock \
--shm-size="2g" \
-p 4444:4444 \
-p 7900:7900 \
-e SE_ENABLE_TRACING=false \
-e SE_BIND_HOST=false \
-e SE_JAVA_DISABLE_HOSTNAME_VERIFICATION=false \
-e SE_NODE_MAX_INSTANCES=10 \
-e SE_NODE_MAX_SESSIONS=10 \
-e SE_NODE_OVERRIDE_MAX_SESSIONS=true \
selenium/standalone-chrome:4.26
# Starten Sie weread-challenge
docker run --rm --name user-read \
-v $HOME/weread-challenge/user/data:/app/data \
-e WEREAD_REMOTE_BROWSER=http://172.17.0.2:4444 \
-e WEREAD_DURATION=68 \
weread-challenge:latest
# Fügen Sie einen weiteren Benutzer hinzu
docker run --rm --name user2-read \
-v $HOME/weread-challenge/user2/data:/app/data \
-e WEREAD_REMOTE_BROWSER=http://172.17.0.2:4444 \
-e WEREAD_DURATION=68 \
weread-challenge:latest
Nach dem ersten Start muss der QR-Code mit WeChat gescannt werden, der QR-Code wird in ./data/login.png gespeichert.
Erstellen von Terminaufgaben
Docker-compose Methode
WORKDIR=$HOME/weread-challenge
mkdir -p $WORKDIR
cd $WORKDIR
cat > $WORKDIR/docker-compose.yml <<EOF
services:
app:
image: jqknono/weread-challenge:latest
pull_policy: always
environment:
- WEREAD_REMOTE_BROWSER=http://selenium:4444
- WEREAD_DURATION=68
volumes:
- ./data:/app/data
depends_on:
selenium:
condition: service_healthy
selenium:
image: selenium/standalone-chrome:4.26
pull_policy: if_not_present
shm_size: 2gb
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- SE_ENABLE_TRACING=false
- SE_BIND_HOST=false
- SE_JAVA_DISABLE_HOSTNAME_VERIFICATION=false
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4444/wd/hub/status"]
interval: 5s
timeout: 60s
retries: 10
EOF
# Nach dem ersten Start muss der QR-Code mit WeChat gescannt werden, der QR-Code wird in $HOME/weread-challenge/data/login.png gespeichert
# Starten Sie täglich um 7 Uhr morgens, lesen Sie 68 Minuten
(crontab -l 2>/dev/null; echo "00 07 * * * cd $WORKDIR && docker compose up -d") | crontab -
Docker Methode
# Starten Sie den Browser
docker run --restart always -d --name selenium-live \
-v /var/run/docker.sock:/var/run/docker.sock \
--shm-size="2g" \
-p 4444:4444 \
-p 7900:7900 \
-e SE_ENABLE_TRACING=false \
-e SE_BIND_HOST=false \
-e SE_JAVA_DISABLE_HOSTNAME_VERIFICATION=false \
-e SE_NODE_MAX_INSTANCES=3 \
-e SE_NODE_MAX_SESSIONS=3 \
-e SE_NODE_OVERRIDE_MAX_SESSIONS=true \
-e SE_SESSION_REQUEST_TIMEOUT=10 \
-e SE_SESSION_RETRY_INTERVAL=3 \
selenium/standalone-chrome:4.26
WEREAD_USER="user"
mkdir -p $HOME/weread-challenge/$WEREAD_USER/data
# IP des Containers erhalten
Selenium_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' selenium-live)
# Nach dem ersten Start muss der QR-Code mit WeChat gescannt werden, der QR-Code wird in $HOME/weread-challenge/$WEREAD_USER/data/login.png gespeichert
# Starten Sie täglich um 7 Uhr morgens, lesen Sie 68 Minuten
(crontab -l 2>/dev/null; echo "00 07 * * * docker run --rm --name ${WEREAD_USER}-read -v $HOME/weread-challenge/${WEREAD_USER}/data:/app/data -e WEREAD_REMOTE_BROWSER=http://${Selenium_IP}:4444 -e WEREAD_DURATION=68 -e WEREAD_USER=${WEREAD_USER} jqknono/weread-challenge:latest") | crontab -
Windows
# Installieren Sie nodejs
winget install -e --id Node.js.Node.js
# Erstellen Sie den Ausführungsordner
mkdir -p $HOME/Documents/weread-challenge
cd $HOME/Documents/weread-challenge
# Installieren Sie Abhängigkeiten
npm install selenium-webdriver
# Laden Sie das Skript mit PowerShell herunter
Invoke-WebRequest -Uri https://storage1.techfetch.dev/weread-challenge/weread-challenge.js -OutFile weread-challenge.js
# Setzen Sie Laufparameter über Umgebungsvariablen
$env:WEREAD_BROWSER="MicrosoftEdge"
# Ausführen
node weread-challenge.js
Docker-Ausführung wie unter Linux.
MacOS
# Installieren Sie nodejs
brew install node
# Erstellen Sie den Ausführungsordner
mkdir -p $HOME/Documents/weread-challenge
cd $HOME/Documents/weread-challenge
# Installieren Sie Abhängigkeiten
npm install selenium-webdriver
# Laden Sie das Skript herunter
wget https://storage1.techfetch.dev/weread-challenge/weread-challenge.js -O weread-challenge.js
# Setzen Sie Laufparameter über Umgebungsvariablen
export WEREAD_BROWSER="chrome"
# Ausführen
node weread-challenge.js
Docker-Ausführung wie unter Linux.
Mehrbenutzer-Unterstützung
# Starten Sie den Browser
docker run --restart always -d --name selenium-live \
-v /var/run/docker.sock:/var/run/docker.sock \
--shm-size="2g" \
-p 4444:4444 \
-p 7900:7900 \
-e SE_ENABLE_TRACING=false \
-e SE_BIND_HOST=false \
-e SE_JAVA_DISABLE_HOSTNAME_VERIFICATION=false \
-e SE_NODE_MAX_INSTANCES=10 \
-e SE_NODE_MAX_SESSIONS=10 \
-e SE_NODE_OVERRIDE_MAX_SESSIONS=true \
selenium/standalone-chrome:4.26
WEREAD_USER1="user1"
WEREAD_USER2="user2"
mkdir -p $HOME/weread-challenge/$WEREAD_USER1/data
mkdir -p $HOME/weread-challenge/$WEREAD_USER2/data
# IP des Containers erhalten
Selenium_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' selenium-live)
# Nach dem ersten Start muss der QR-Code mit WeChat gescannt werden, der QR-Code wird in:
# /$HOME/weread-challenge/${WEREAD_USER1}/data/login.png
# /$HOME/weread-challenge/${WEREAD_USER2}/data/login.png
# Starten Sie täglich um 7 Uhr morgens, lesen Sie 68 Minuten
(crontab -l 2>/dev/null; echo "00 07 * * * docker run --rm --name ${WEREAD_USER1}-read -v $HOME/weread-challenge/${WEREAD_USER1}/data:/app/data -e WEREAD_REMOTE_BROWSER=http://${Selenium_IP}:4444 -e WEREAD_DURATION=68 -e WEREAD_USER=${WEREAD_USER1} jqknono/weread-challenge:latest") | crontab -
(crontab -l 2>/dev/null; echo "00 07 * * * docker run --rm --name ${WEREAD_USER2}-read -v $HOME/weread-challenge/${WEREAD_USER2}/data:/app/data -e WEREAD_REMOTE_BROWSER=http://${Selenium_IP}:4444 -e WEREAD_DURATION=68 -e WEREAD_USER=${WEREAD_USER2} jqknono/weread-challenge:latest") | crontab -
Konfigurierbare Optionen
| Umgebungsvariable | Standardwert | Mögliche Werte | Beschreibung |
|---|---|---|---|
WEREAD_USER | weread-default | - | Benutzerkennung |
WEREAD_REMOTE_BROWSER | "" | - | Remote-Browseradresse |
WEREAD_DURATION | 10 | - | Lesedauer |
WEREAD_SPEED | slow | slow,normal,fast | Lesegeschwindigkeit |
WEREAD_SELECTION | random | [0-4] | Auswahl des zu lesenden Buches |
WEREAD_BROWSER | chrome | chrome,MicrosoftEdge,firefox | Browser |
ENABLE_EMAIL | false | true,false | E-Mail-Benachrichtigung |
EMAIL_SMTP | "" | - | E-Mail SMTP-Server |
EMAIL_USER | "" | - | E-Mail-Benutzername |
EMAIL_PASS | "" | - | E-Mail-Passwort |
EMAIL_TO | "" | - | Empfänger |
WEREAD_AGREE_TERMS | true | true,false | Datenschutzbedingungen |
Wichtige Hinweise
- 28 Tage, um 30 Stunden zu füllen, benötigen täglich mindestens 65 Minuten, nicht 60 Minuten.
- WeChat Reading Statistik kann einige Minuten verpassen, erwartet täglich 65 Minuten, empfohlene Lesezeit auf 68 Minuten einstellen
- Die Gültigkeit von Cookies nach Web-Scan-Login beträgt 30 Tage, nach 30 Tagen muss erneut eingescannt werden, geeignet für monatliche Challenge-Mitgliedschaft
- E-Mail-Benachrichtigungen können als Spam erkannt werden, es wird empfohlen, in der Empfängerseite eine Whitelist hinzuzufügen
- Dieses Projekt ist nur für Lern- und Austauschzwecke gedacht, bitte nicht für kommerzielle Zwecke verwenden, bitte nicht für illegale Zwecke verwenden
- Wenn es mögliche Urheberrechtsverletzungen gibt, kontaktieren Sie bitte
weread-challenge@techfetch.dev, das Projekt wird sofort gelöscht
Datenschutzrichtlinie
- Datenschutzbeschaffung
- Dieses Projekt sammelt Teile der
cookies-Informationen der Benutzer, um Benutzerstatistiken und -darstellungen zu ermöglichen. - Sammelt Benutzerinformationsnutzung, einschließlich:
Benutzername | Erste Nutzung | Letzte Nutzung | Gesamtnutzung | Browser-Typ | Betriebssystem-Kategorie | Lesedauer-Einstellung | Ausnahmeverlassungsgrund - Wenn keine Informationen gesammelt werden sollen, kann der Startparameter
WEREAD_AGREE_TERMS=falsegesetzt werden
- Dieses Projekt sammelt Teile der
- Risikohinweis
cookieskönnen für das Web-Login von WeChat Reading verwendet werden, nach dem Login können Regaloperationen ausgeführt werden, aber dieses Tool wird die gesammelten Informationen nicht zum Login verwenden.- Der Tencent-Schutzmechanismus stellt sicher, dass bei ungewöhnlichem Login das Handy-Client ein Risikohinweis erhält, im Handy-Client
Einstellungen->Login-Gerätkann das Login-Gerät bestätigt werden. - Dieses Tool ist rein JS-Implementierung, leicht zu deobfuscaten und zu erweitern, Dritte können weiterentwickeln. Auch wenn das Tool vertraut wird, sollte bei der Verwendung automatisierter Tools regelmäßig das Login-Gerät bestätigt werden, um zu verhindern, dass das Regal bösartig manipuliert wird.
Referenz
- Skript-Download-Link: weread-challenge.js
- Open-Source-Adresse: https://github.com/jqknono/weread-challenge-selenium
- Statistik: https://weread-challenge.techfetch.dev
- Artikelquelle: https://blog.techfetch.dev