shiaky / breitbandmessung Goto Github PK
View Code? Open in Web Editor NEWPerform breitbandmessung.de speedtests in an automated way
Perform breitbandmessung.de speedtests in an automated way
Update puppeteer to most recent version and newest selectors.
It stopped to work. If I try to measure the internet speed, it gets a time out error. Here is the log:
docker run -v $PWD/messprotokolle:/export/ shiaky/breitbandmessung:latest
PREPARING SPEEDTEST
RUNNING SPEEDTEST
could not find results for download
TimeoutError: Waiting for selector `#root > div > div > div > div > div.messung-options.col.col-12.text-md-right > button.px-0.px-sm-4.btn.btn-link` failed: Waiting failed: 300000ms exceeded
at Timeout.<anonymous> (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js:64:32)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
as far as I understood the concept of this container, it uses firefox in a cron job to execute the breitbandmessung test.
the container uses CPU resources all the time, not only when the cron job runs.
what is the reason?
I tried the breitbandmessung-node container, but it does not export to influxdb. I do need the export to influxdb.
Be careful to use the correct timezone, e.g., run via
docker run -e TZ="Europe/Stockholm" -v $PWD/messprotokolle:/export/ shiaky/breitbandmessung:latest
Just leaving this here in case anyone else encounters this issue.
When I run the docker command, execution immediately fails with the following output:
my@name: ~ $ sudo docker run -v $PWD/messprotokolle:/export/ shiaky/breitbandmessung:latest
Error starting puppeteer
Error: Failed to launch the browser process!
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 1: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: �: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 1: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome:ELF: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 2: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: p#: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 3: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: p#: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 4: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: @l�: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 4: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: ��q: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 5: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: pX: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 6: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: pX: not found
/usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: 7: /usr/src/app/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome: Syntax error: "(" unexpected
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/usr/src/app/node_modules/puppeteer/lib/Launcher.js:750:14)
at Interface.<anonymous> (/usr/src/app/node_modules/puppeteer/lib/Launcher.js:739:50)
at Interface.emit (events.js:327:22)
at Interface.close (readline.js:424:8)
at Socket.onend (readline.js:202:10)
at Socket.emit (events.js:327:22)
at endReadableNT (internal/streams/readable.js:1327:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
Adding product: "chrome", executablePath: "/usr/bin/chromium",
to the puppeteer.launch in index.js actually fixes the issue as suggested by this post.
Judging by apt-get install -y procps libxss1 chromium
in the dockerfile, the bundled chrome installation wasn't supposed to be used if I'm not mistaken, but I didn't create a PR in case the change might break the image for platforms other than arm64.
Awesome project, thanks for creating this!
Hi,
will there be compatibility for the ARM architecture? I would like to run this on a Raspberry PI.
Regards
Pat
#question
Status: Downloaded newer image for shiaky/breitbandmessung:latest WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested standard_init_linux.go:228: exec user process caused: exec format error
When I try to run it on my Docker installation on windows it errors out with this:
PREPARING SPEEDTEST
could not click element
Error: TimeoutError: waiting for selector "#root > div > div.fade.modal-md.modal.show > div > div > div.justify-content-between.modal-footer > button:nth-child(2)" failed: timeout 30000ms exceeded
I adapted the start command to docker run -v ./messprotokolle:/export/ shiaky/breitbandmessung:latest
since without changing it, it errord in this:
docker: Error response from daemon: create $PWD/messprotokolle: "$PWD/messprotokolle" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
Or did I just mess up the start command?
Hi :-)
Unfortunately it doesn't work as described in the instructions
"...Create a config folder and a config.cfg file...."
done with run every 2 hours (not like in the example with 2 minutes (see crontab=0 */2 * * *))
but this config file will not executed // the measurement runs every 2 minutes :-(
Any suggestions for a solution.
THX
Sebastian
Could it be that this docker isn't comaptibal with the current version of the Breitbandmessung anymore?
Regards
Tobias
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.