LINUX.ORG.RU

Скрипт для поиска доступной прокси для конкретного адреса

 , ,


0

2

Йо, написал тут скрипт который для требуемого адреса (в base64) подбирает доступную прокси. Работает для SSL.

https://github.com/codemeow/ssl_proxy_scanner/blob/master/scanner.sh

     ex.:
 ┌──────────────────────────────────────────────────────────────┐
 │ $script.sh aHR0cHM6Ly9zcG9ydC53YnVrLmJldGNpdHlydS5wdy9uZXcv  │
 │ # downloading ssl proxy list                                 │
 │ # filtering list of proxies                                  │
 │ # load list of proxies                                       │
 │ # checking 13.73.26.248:3128                                 │
 │ # connection failed                                          │
 │ # checking 144.217.170.87:3128                               │
 │ # connection failed                                          │
 │ # checking 35.196.8.4:80                                     │
 │ # connection established                                     │
 │ 35.196.8.4:80                                                │
 └──────────────────────────────────────────────────────────────┘
★★★★★

Йо, написал тут скрипт который помогает в самообучении

cat /dev/ass > /dev/head
anonymous
()

А что если твоей утилитой воспользуются террористы для организации атак на мирное население?

anonymous
()
Ответ на: комментарий от ving2

Там 90% предупреждений false positive:

^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
^-- SC2086: Double quote to prevent globbing and word splitting.

SC086 не случится потому что там заранее известно что там один литерал, 191 чушь, 181 чушь, это просто стиль написания, $? для того и придумали. 207 тоже стиль.

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от ving2
\'
^-- SC1003: Want to escape a single quote? echo 'This is how it'\''s done'.

Это вообще эпик фейл этого проверяльщика

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от ving2

Даже еще лучше. Его ор по поводу не заквоченных элементов массива приводит к тому что при их заквочивании он неправильно сплиттится

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от ving2

readarray вместо cat - вообще идиотизм. readarray добавляет перенос в конце, что ломает последующий синтаксис.

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от PPP328

там не readarray вместо cat, а вот так написать:

proxy_list=( "$(cat $file_ssl_list)" )
впрочем я тебе просто скинул раз ты на баше пишешь. Мог бы и не выкладывать результат своих умозаключений.

ving2
()
Ответ на: комментарий от ving2

Если написать так, то это будет один элемент в массиве, а не массив из выхлопа команды. Так что снова мимо.

PPP328 ★★★★★
() автор топика
Ответ на: комментарий от PPP328

Яровая или Жаров перелогиньтесь.

Да нам-то Александром Александровичем будет только удобнее с помощью вашего скрипта ещё незаблокированные прокси вычислять и меры по ним принимать. Мы поначалу Proxy Finder рассматривали, но ваш скрипт удобнее тем, что не просто выдаёт список известных прокси, а ещё и проверяет не забанены ли они уже. Так что большое вам спасибо от всего роскомнадзора за помощь в нашем нелёгком деле. А про террористов вы всё-таки подумайте, ведь от их деятельности могут пострадать и ваши друзья или знакомые - вам же самому стыдно потом станет.

anonymous
()
Ответ на: комментарий от PPP328

Нате вам заменитель 7-ми процессов sed-а одним фильтром awk:

#!/bin/awk -f

BEGIN { RS=">"; head=1;  }
head==1 && /<tbody/ { head=0; RS="</tr>"; FS="</td>|>"; next }
head==1 { next }
head==0 && /<\/tbody/ { exit }
{ if($7!="RU") print $3":"$5 }

vodz ★★★★★
()
$ shellcheck script.sh
 
Line 51:
net_wget_options_down=( -q --show-progress  --progress=bar )
                                            ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
 
Line 52:
net_wget_options_scan=( -q --show-progress  --progress=bar
                                            ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
 
Line 53:
                        --timeout=1         --dns-timeout=1                  
                        ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
                                            ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
 
Line 54:
                        --connect-timeout=1 --read-timeout=1              
                        ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
                                            ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
 
Line 55:
                        --spider            --tries=1      )
                                            ^-- SC2191: The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
 
Line 67:
    echo -en "\e[1A\e[K"
              ^-- SC1117: Backslash is literal in "\e". Prefer explicit escaping: "\\e".
                   ^-- SC1117: Backslash is literal in "\e". Prefer explicit escaping: "\\e".
 
Line 81:
        wget "${net_wget_options_scan[@]}" --user-agent="$net_useragent" $1
                                                                         ^-- SC2086: Double quote to prevent globbing and word splitting.
 
Line 83:
    if [ $? -eq 0 ]
         ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
 
Line 86:
        echo $2
             ^-- SC2086: Double quote to prevent globbing and word splitting.
 
Line 100:
    sed -i -e 's/<tr><td>/\'$'\n''<tr><td>/g' "$file_ssl_list"
                          ^-- SC1003: Want to escape a single quote? echo 'This is how it'\''s done'.
 
Line 110:
    proxy_list=( $(cat "$file_ssl_list") )
                 ^-- SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).

$ 
PanZagloba
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.