#!/usr/bin/bash

if [ "$#" -lt 1 ] || [ "$#" -gt 3 ]; then
    echo "Usage: $0 list file.zip"
    exit 1
fi

LIST=$1
FILE=$2
COUNT=$(mktemp)
echo 0 > "$COUNT"
export FILE COUNT

xargs -a "$LIST" -P4 -I{} bash -c '
    line="$1"

    # atomic-ish counter
    n=$(($(<"$COUNT")+1))
    echo "$n" > "$COUNT"

    ((n % 1000 == 0)) && echo "$n tries..."

    if unzip -P "$line" -t "$FILE" >/dev/null 2>&1; then
        echo "FOUND: $line"
        killall xargs 2>/dev/null
    fi
' _ {}
