Compare commits

..

No commits in common. "c3a30da18faad0e40b80f536c53793fcdfb47bae" and "e82618a0969c0124d5ab026dd1aa69ad18a25ce5" have entirely different histories.

2 changed files with 2 additions and 35 deletions

View file

@ -1,7 +1,4 @@
ab.chatgpt.com
chatgpt.com
chat.openai.com
searchgpt.com
api.telegram.org
api.themoviedb.org
artifacts.elastic.co
@ -173,6 +170,3 @@ i.ytimg.com
www.chess.com
marketplace.visualstudio.com
files.oaiusercontent.com
notebooklm.google
notebooklm.google.com
maps-cdn.zepp.com

View file

@ -250,21 +250,15 @@ declare -a ORDERED_DOMS=()
for dom in $(printf '%s\n' "${!EXPANDED[@]}" | sort -u); do
[[ "${SOURCES[$dom]:-}" == "related" ]] && continue
# Базовый домен мог быть добавлен как related другим базовым доменом раньше по
# алфавиту — пропускаем, чтобы не дублировать запись в конфиге.
[[ -n "${WRITTEN[$dom]:-}" ]] && continue
# Собираем ещё не записанные связанные домены.
# while выполняется в subshell — читает снимок WRITTEN, что корректно исключает
# домены, уже занятые предыдущим базовым доменом.
# Базовые домены (SOURCES==base) пропускаем — у них будет своя секция.
mapfile -t base_related < <(
if [[ -n "${SITE_RELATED[$dom]:-}" ]]; then
tr ' ' '\n' <<< "${SITE_RELATED[$dom]}" | grep -v '^$' | sort -u | \
while IFS= read -r rd; do
[[ -n "${WRITTEN[$rd]:-}" ]] && continue
[[ "${SOURCES[$rd]:-}" == "base" ]] && continue
printf '%s\n' "$rd"
[[ -z "${WRITTEN[$rd]:-}" ]] && printf '%s\n' "$rd"
done
fi
)
@ -287,27 +281,6 @@ done
mapfile -t ALL_DOMAINS < <(printf "%s\n" "${!EXPANDED[@]}" | sort -u)
# ==============================
# Проверка уникальности ORDERED_DOMS перед записью
# ==============================
declare -A _seen=()
declare -a _dups=()
for _d in "${ORDERED_DOMS[@]}"; do
if [[ -n "${_seen[$_d]:-}" ]]; then
_dups+=("$_d")
fi
_seen["$_d"]=1
done
unset _seen
if [[ ${#_dups[@]} -gt 0 ]]; then
err "BUG: ${#_dups[@]} duplicate domain(s) found in output list — config NOT written"
for _d in "${_dups[@]}"; do
err " duplicate: $_d"
done
exit 5
fi
# Записываем конфиги одним батчем (не по одной строке через >>)
if ! $DRY_RUN; then
{