Skip to main content

URL-Wall — Interceptive Browser for macOS

Add a confirmation step when you click an http, https, or ftp URL outside your browser to ensure you reach the domain you expect.

Known domains go directly. Unknown domains show a warning page where you can acknowledge and proceed.

Installation

# Build the .app bundle
python -m urlwall --install ~/Applications/URL-Wall.app

# Set as macOS default browser
python -m urlwall --use-as-default
# Then run: killall Finder

CLI Usage

# Open a URL through the gate
python -m urlwall https://example.com

# Add a domain to the allow list
python -m urlwall --allow-host-add example.com

# Add with subdomain support
python -m urlwall --allow-host-add example.com --also-subdomains

# Remove from allow list
python -m urlwall --allow-host-remove example.com

# Set the browser used after URL-Wall
python -m urlwall --set-browser "Google Chrome.app"

# Set URL-Wall as macOS default browser
python -m urlwall --use-as-default

# View current config
python -m urlwall

How It Works

  1. The install command compiles an AppleScript handler into a .app bundle
  2. The .app is patched with URL scheme handlers (http, https, ftp)
  3. When macOS routes a URL to URL-Wall, the AppleScript calls python -m urlwall <url>
  4. The Python handler checks if the domain is allowed — if so, opens it directly
  5. If not, shows a warning page with the full redirect chain and a "Proceed" button

Configuration

Config is stored in ~/.urlwall/setup.plist:

  • defaultBrowser — app name (e.g., Safari.app)
  • hostsAllowed — domains that open directly
  • hostWithSubdomainsAllowed — domains + all subdomains

Metadata

Release files for urlwall 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for urlwall 0.1.2
File Size Uploaded
urlwall-0.1.2.tar.gz 362.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for urlwall 0.1.2
File Interpreter ABI Platform
urlwall-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 723.5 kB

Release files / urlwall-0.1.2.tar.gz

Download URL urlwall-0.1.2.tar.gz
Size 362.9 kB
Tags Source
SHA-256 checksum
How to use checksums
80ce186bba563cad8178e858be08182261dd8921be38817f4451bbf462093697
BLAKE2b-256 checksum
How to use checksums
ed594786f207231f0814f6dde8d8c6f23a227db5dab7236e5ac17baee42d322c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / urlwall-0.1.2-py3-none-any.whl

Download URL urlwall-0.1.2-py3-none-any.whl
Size 360.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4d2c53caf0e60aa3794d414a88e90404a3f061cfd8de840bc17ebf22922098b0
BLAKE2b-256 checksum
How to use checksums
404e333c263893c31850104fb288f76ae6a0280162f51f7d457775b3da7073cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page