Вы можете сохранить свои аргументы в виде массива:
args=( "$@" ) # use double quotes
shift 1
if foo; then
node foo.js "$@"
elif bar; then
node bar.js "$@"
elif baz; then
node baz.js "$@"
else
node default.js "${args[@]}"
fi
Вы забыли питона:
$ python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )'
в вашем случае
$ curl --header "X-Forwarded-For: $( python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )' )" http://ifconfig.me
Есть много красивых вариантов. См. help( ipaddress )
. Вы можете проверить is_global
, is_loopback
, is_ipv6
, is_subnet
и так далее...
Вы неправильно цитируете. Вы можете попробовать:
curl --header "X-Forwarded-For: $(printf "%d.%d.%d.%d" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))")"
Вы можете полностью избавиться от внутренних кавычек и даже printf
:
curl --header "X-Forwarded-for: $((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256))"
Однако, принимает ли целевой сайт X-Forwarded-For
— это совершенно другой вопрос. Установка этого заголовка на самом деле не скрывает ваш собственный IP-адрес от целевого сайта.
Я предложу этот дизайн
shuf -i 0-255 -rn4 | paste -sd.
Но проигрывает printf
так как первое значение в IP не должно быть равно 0
printf %d.%d.%d.%d $((RANDOM%255+1)) $((RANDOM%256)){,,}
Сначала оболочка открывает «Расширение фигурной скобки», а затем подставляет значения переменных