uklans/cache-domains

Parse error: invalid numeric literal at line 4, column 0

liquidfrollo opened this issue · 1 comments

Describe the issue you are having

I'm attempting to run this via a truecharts container (Linux pihole-5777485665-zhjcq 5.15.79+truenas #1 SMP Tue Dec 13 12:40:04 UTC 2022 x86_64 GNU/Linux), from Madcow's script (https://github.com/Maddcow/Lancache-Pihole) which calls this one. When the script executes it cannot move the output files because they are never generated via the script.

when i cd into the temp folder created where the script is executing from and run it manually (with all required files present in the expected folder structure) i receive the error "Parse error: invalid numeric literal at line 4, column 0" x4. All files are pulled via git so the cache_domains.json is from this site and file -i returns us-ascii as a format, however it appears to be a jq error not liking something about the file (jq version 1.6). I can "cat cache_domains.json | jq '."cache_domains"'" and get valid output without issue however the script will not run and generate the necessary files.

Thinking it may have something to do with the basedir=". ." i modified the script to basedir="$(dirname $PWD)" however that doesn't make a difference and results in the same issue. It seems as if no matter what it either can't find the file or doesn't like something in it.

If i turn on set -x here is where the errors get generated..

`root@pihole-5777485665-zhjcq:/tmp/tmp.NscmmrsVgm/scripts# ./create-dnsmasq.sh
/tmp/tmp.NscmmrsVgm

export 'IFS= '
IFS=' '
++ which jq
test=/usr/bin/jq
out=0
'[' 0 -gt 0 ']'
cachenamedefault=disabled
++ jq -r '.ips | to_entries[] | .key' config.json
parse error: Invalid numeric literal at line 4, column 0
read -r line
++ jq '.ips[""]' config.json
parse error: Invalid numeric literal at line 4, column 0
ip=
declare cacheip=
read -r line
++ jq -r '.cache_domains | to_entries[] | .key' config.json
parse error: Invalid numeric literal at line 4, column 0
read -r line
++ jq -r '.cache_domains[""]' config.json
parse error: Invalid numeric literal at line 4, column 0
name=
declare cachename=
read -r line
rm -rf output/dnsmasq
mkdir -p output/dnsmasq`

Describe your setup?

Running truenas scale, with lancache monolithic and pihole

Are you running sniproxy

No

DNS Configuration

can't get script to run

Sniproxy output

not running docker

NA

I resolved my issue. The issue was that when attempting to set the IP it was not getting enclosed in quotes properly. This wouldn't cascade down the line in a way the script liked. adding the ip manually such as '"172.2.3.135"' in single and then double worked.