1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-09-19 20:02:10 +00:00
seirdy.one/Makefile.online
Rohan Kumar 94a15855c9
Use Flatpak Chromium headless
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.
2023-11-10 10:02:33 -08:00

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