mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-10 00:12:09 +00:00
94a15855c9
inb4 a bunch of people from the privsec community @ me for using flatpak chromium: Yes, the sandboxing is different, but I'm not using this as my day-to-day browser. I'm using it headless for measurements and auditing. I want a browser that behaves as close to upstream official Chromium builds when doing Chromium measurements. Take some deep breaths. Here, have a glass of water.
56 lines
3.5 KiB
Makefile
56 lines
3.5 KiB
Makefile
# The following test the online instance, post-deploy. I just kept them here for convenience
|
|
|
|
include Makefile
|
|
DOMAIN = seirdy.one
|
|
PAGE_PATH = /
|
|
SCHEME=https://
|
|
URL ?= $(SCHEME)$(DOMAIN)$(PAGE_PATH)
|
|
# latest bleeding-edge chromium snapshot
|
|
CHROME_DIR = /home/rkumar/Downloads/gitclone/chromium/thorium/latest
|
|
CHROME_PATH = org.chrome.Chromium
|
|
CHROMEDRIVER_PATH = chromedriver
|
|
CHROME_PROFILE ?= /tmp/chrome-lighthouse
|
|
JS_FLAGS=''
|
|
# We enable experimental web platform features so the Document-Policy header is enforced
|
|
# #
|
|
CHROME_FLAGS += --headless --disable-network-portal-notification --disable-client-side-phishing-protection --disable-gaia-services --disable-sync --no-vr-runtime --no-wifi --no-crash-upload --no-report-uload --disable-extensions --allow-browser-signin=false --no-default-browser-check --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-device-discovery-notifications --disable-domain-reliability --disable-fonts-googleapis-references --disable-field-trial-config --lang=en-US --disable-ntp-popular-sites --disable-offer-store-unmasked-wallet-cards --disable-office-editing-component-extension --disable-fine-grained-time-zone-detection --disable-background-timer-throttling --disable-breakpad --enable-blink-features=LayoutInstabilityAPI --enable-features=UseDnsHttpsSvcb,UseDnsHttpsSvcbAlpn,AsyncDns --no-first-run --disable-background-networking --user-data-dir=$(CHROME_PROFILE) --enable-experimental-web-platform-features --enable-quic --origin-to-force-quic-on=seirdy.one:443
|
|
CHROME_FLAGS_COMMA = 'disable-extensions,no-default-browser-check,disable-client-side-phishing-detection,disable-component-update,disable-default-apps,disable-device-discovery-notifications,disable-domain-reliability,disable-background-timer-throttling,disable-breakpad,no-first-run,disable-background-networking,js-flags=--jitless'
|
|
# When quiet, my lappie's CPU power is benchmarked to be a bit under 1000. The CPU throttling calculator recommends throttling by 2.3.
|
|
# Multiply that by 3 cuz imo it's way too generous. It targets devices like the Moto G4; I target devices like the JioPhone 2.
|
|
CPU_SLOWDOWN=6.9 # nice
|
|
LIGHTHOUSE_ARGS += --budget-path linter-configs/budget.json --output html --output json --output-file lighthouse-results --throttling-method=devtools --throttling.cpuSlowdownMultiplier=$(CPU_SLOWDOWN) --chrome-flags="$(CHROME_FLAGS)" --view
|
|
|
|
# make some of these quiet bc they'll otherwise echo every URL
|
|
|
|
hint-online:
|
|
@echo "Running webhint"
|
|
@hint --config linter-configs/hintrc $(URLS)
|
|
lighthouse:
|
|
mkdir -p $(CHROME_PROFILE)
|
|
CHROME_PATH=$(CHROME_PATH) CHROME_PROFILE=$(CHROME_PROFILE) JS_FLAGS='' lighthouse $(URLS) $(LIGHTHOUSE_ARGS)
|
|
rm -rf $(CHROME_PROFILE)
|
|
redbot:
|
|
redbot_cli -a $(URL)
|
|
.PHONY: hint-online lighthouse redbot
|
|
|
|
axe:
|
|
@echo "Running axe"
|
|
@axe $(URLS) --chrome-options $(CHROME_FLAGS_COMMA) --chromedriver-path=$(CHROMEDRIVER_PATH) --show-errors
|
|
axe-ff:
|
|
@echo "Running axe with Firefox"
|
|
@scripts/bin/axe-ff $(OUTPUT_DIR) $(URLS)
|
|
|
|
.PHONY: axe axe-ff
|
|
|
|
.validate-feed-main:
|
|
scripts/bin/validate-feed $(HUGO_BASEURL)atom.xml
|
|
.validate-feed-posts:
|
|
scripts/bin/validate-feed $(HUGO_BASEURL)posts/atom.xml
|
|
.validate-feed-notes:
|
|
scripts/bin/validate-feed $(HUGO_BASEURL)notes/atom.xml
|
|
validate-feeds: .validate-feed-main .validate-feed-posts .validate-feed-notes
|
|
.PHONY: validate-feeds .validate-feed-main .validate-feed-posts .validate-feed-notes
|
|
|
|
.PHONY: all-extra
|
|
all-extra: axe-ff validate-json equal-access htmlproofer lint-css validate-feeds
|
|
|