#!/usr/bin/env python3
import os
import sys
from pathlib import Path
top = os.path.abspath(sys.argv[1])
for dirpath, dirname, filenames in os.walk(top):
for filename in filenames:
path = os.path.join(dirpath, filename)
if os.path.islink(path):
target = Path(path).resolve()
if not target.exists():
print('broken link: %s' % path)
if not str(target).startswith(top):
print('illegal link: %s' % path)