mirror of
https://github.com/daijro/camoufox.git
synced 2026-09-09 00:00:39 +00:00
Consolidates the following individual fixes into one changeset, all rebased onto the current Firefox 152 base and validated together via a full build: - webrtc: stop real-IP leak under a proxy; sanitize getStats IP + fabricate a synthetic srflx when ICE produces none (TCP-proxy case). - proxy: re-enable launch-arg proxy by disabling https_first. - screen: make MaskConfig the single source for screen + CSS device dims so matchMedia(device-width) agrees with screen.width. - stealth: spoof CSS2 system-font keyword resolution (font-system-fonts-css2). - juggler: filepicker reliability + skip mouse-move coalescing for synthetic (juggler) events so input dispatch can't stall under parallel load. - juggler: emit a single input event for insertText on form fields. - juggler: reload about:blank via browsingContext.reload. - locale: propagate launch-arg locale to BrowsingContext. - build: create v150-removed dirs before copy-additions. - stealth: BrowserForge headless / impossible-geometry tell corrections and speech-voice spoofing (host-voice leak fix). Supersedes daijro/camoufox #637-#647. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
67 lines
2.2 KiB
Bash
67 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Simple bash script that copies the additions from the repository into the source directory
|
|
# Must be ran from within the source directory
|
|
|
|
# Check if correct number of arguments are provided
|
|
if [ "$#" -ne 2 ]; then
|
|
echo "Usage: $0 <version> <release>"
|
|
exit 1
|
|
fi
|
|
|
|
# Assign command-line arguments to variables
|
|
version="$1"
|
|
release="$2"
|
|
|
|
# Function to run commands and exit on failure
|
|
run() {
|
|
echo "$ $1"
|
|
eval "$1"
|
|
if [ $? -ne 0 ]; then
|
|
echo "Command failed: $1"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Copy the search-config.json file.
|
|
# FF150 removed the bundled RemoteSettings dumps tree (services/settings/dumps/
|
|
# no longer ships in the source tarball — search config is fetched at runtime),
|
|
# so the destination dir must be created first. Shipping the empty stub keeps
|
|
# Camoufox's "no bundled search engines" intent and is harmless if unread.
|
|
run 'mkdir -p services/settings/dumps/main'
|
|
run 'cp -v ../assets/search-config.json services/settings/dumps/main/search-config.json'
|
|
|
|
# vs_pack.py issue... should be temporary
|
|
# FF150 no longer ships build/vs/ in the source tree, so create it first
|
|
# (this helper is only consumed by the Windows MSVC packaging path).
|
|
run 'mkdir -p build/vs'
|
|
run 'cp -v ../patches/librewolf/pack_vs.py build/vs/'
|
|
|
|
# Apply most recent `settings` repository files
|
|
run 'mkdir -p lw'
|
|
pushd lw > /dev/null
|
|
run 'cp -v ../../settings/camoufox.cfg .'
|
|
run 'cp -v ../../settings/distribution/policies.json .'
|
|
run 'cp -v ../../settings/defaults/pref/local-settings.js .'
|
|
run 'cp -v ../../settings/chrome.css .'
|
|
run 'cp -v ../../settings/properties.json .'
|
|
run 'touch moz.build'
|
|
popd > /dev/null
|
|
|
|
# Generate Assets.car for macOS builds (if on macOS) or ensure it exists
|
|
if [[ ! -f ../additions/browser/branding/camoufox/Assets.car ]]; then
|
|
echo "Generating Assets.car..."
|
|
bash ../scripts/generate-assets-car.sh
|
|
fi
|
|
|
|
# Copy ALL new files/folders from ../additions to .
|
|
run 'cp -r ../additions/* .'
|
|
|
|
# Provide a script that fetches and bootstraps Nightly and some mozconfigs
|
|
run 'cp -v ../scripts/mozfetch.sh lw/'
|
|
|
|
# Override the firefox version
|
|
for file in "browser/config/version.txt" "browser/config/version_display.txt"; do
|
|
echo "${version}-${release}" > "$file"
|
|
done
|