This script requires two support files, one for user-agent strings and one with the URI's requested. #!/bin/bash # Define URLs, user agents, IP addresses, HTTP methods, and JSON payloads target="127.0.0.1:3000" host_header="Host: example.com" urls=($(cat urls.txt)) mapfile -t user_agent_list < user-agent.txt ip_addresses=("127.0.1.1" "127.0.1.2" "127.0.1.3") use_alternate_ips=1 http_methods=("GET" "POST" "DELETE" "PUT" "OPTIONS" "XHR") json_payloads=( "{\"id\": %d, \"name\": \"John Doe\"}" "{\"name\": \"John Doe\", \"age\": %d}" "{\"username\": \"johndoe\", \"password\": \"pa$$word\"}" "{\"email\": \"johndoe@example.com\", \"phone\": \"555-555-5555\"}" "{\"name\": \"John Doe\", \"age\": 30, \"city\": \"New York\"}" "{\"title\": \"The Catcher in the Rye\", \"author\": \"J.D. Salinger\", \"published\": 1951}" "{\"username\": \"johndoe\", \"password\": \"password123\", \"email\": \"johndoe@example.com\"}" "{\"product\": \"iPhone 13\", \"brand\": \"Apple\", \"price\": 999}" "{\"first_name\": \"Jane\", \"last_name\": \"Doe\", \"birthdate\": \"1990-05-15\", \"gender\": \"female\"}" "{\"destination\": \"Tokyo\", \"departure_date\": \"2023-06-01\", \"return_date\": \"2023-06-15\", \"passengers\": 2}" "{\"product\": \"MacBook Air\", \"brand\": \"Apple\", \"price\": 1299, \"specs\": {\"processor\": \"M1 chip\", \"memory\": \"8GB\", \"storage\": \"512GB SSD\"}}" "{\"name\": \"Jane's Restaurant\", \"location\": {\"address\": \"123 Main St\", \"city\": \"New York\", \"state\": \"NY\", \"zip\": \"10001\"}}" "{\"customer_id\": 1234, \"order_items\": [{\"product\": \"iPhone 13\", \"quantity\": 1}, {\"product\": \"AirPods Pro\", \"quantity\": 2}], \"total_price\": 2197}" "{\"title\": \"The Great Gatsby\", \"author\": \"F. Scott Fitzgerald\", \"published\": 1925, \"characters\": [{\"name\": \"Jay Gatsby\", \"age\": 32}, {\"name\": \"Daisy Buchanan\", \"age\": 23}]}" "{\"provider\": \"google\", \"access_token\": \"abc123\"}" "{\"provider\": \"facebook\", \"access_token\": \"xyz456\"}" "{\"provider\": \"twitter\", \"access_token\": \"pqr789\"}" "{\"username\": \"johndoe\", \"password\": \"password123\", \"otp_code\": \"123456\"}" "{\"email\": \"johndoe@example.com\", \"password\": \"password123\", \"sms_code\": \"789012\"}" "{\"phone\": \"555-1234\", \"password\": \"password123\", \"push_notification\": true}" "{\"email\": \"johndoe@example.com\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}" "{\"username\": \"johndoe\", \"security_question\": \"What is your mother's maiden name?\", \"security_answer\": \"Smith\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}" "{\"phone\": \"555-1234\", \"verification_code\": \"123456\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}" "{\"username\": \"johndoe\", \"password\": \"password123\"}" "{\"email\": \"johndoe@example.com\", \"password\": \"password123\"}" "{\"phone\": \"555-1234\", \"password\": \"password123\"}" "{\"grant_type\": \"refresh_token\", \"refresh_token\": \"xyz789\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}" "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\"}" "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}" "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\", \"state\": \"xyz789\", \"nonce\": \"123456\"}" "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"audience\": \"https://api.example.com\"}" "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"openid profile\"}" "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\", \"state\": \"xyz789\"}" "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\"}" "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}" "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\"}" "{\"email\": \"johndoe@example.com\", \"security_question\": \"What is your favorite color?\", \"security_answer\": \"Purple\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}" "{\"username\": \"johndoe\", \"old_password\": \"s3cureP\@ssw0rd\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}" "{\"phone\": \"555-1234\", \"verification_method\": \"email\", \"verification_code\": \"123456\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}" "{\"username\": \"johndoe\", \"password\": \"P@ssw0rd123\!\", \"remember_me\": true}" "{\"email\": \"johndoe\@example.com\", \"password\": \"s3cureP\@ssw0rd\", \"two_factor_code\": \"123456\"}" "{\"phone\": \"555-1234\", \"password\": \"C0mpl3xP@ssw0rd\!\", \"fingerprint\": true}" ) # Define HTTP headers http_headers=( "Accept: */*" "Accept-Encoding: gzip, deflate, br" "Accept-Language: en-US,en;q=0.5" "Connection: keep-alive" "Content-Length: $(($RANDOM%1000+1))" "DNT: 1" "Origin: https://www.google.com" "Referer: https://www.google.com/" "Cache-Control: no-cache" "Pragma: no-cache" "If-Modified-Since: $(date -R -d '1 year ago')" "If-None-Match: W/$(openssl rand -hex 4)" "ETag: W/$(openssl rand -hex 4)" "Expires: $(date -R -d '+1 day')" "Last-Modified: $(date -R -d '1 year ago')" "Keep-Alive: timeout=5, max=100" "TE: trailers, deflate" "Upgrade-Insecure-Requests: 1" ) # Loop 10 times for i in $(seq 1 10); do # Choose a random URL, user agent, IP address, and HTTP method url=${urls[$RANDOM % ${#urls[@]}]} user_agent=${user_agent_list[$RANDOM % ${#user_agent_list[@]}]} user_agent=$(echo $user_agent|sed 's/\"//g') ip_address=${ip_addresses[$RANDOM % ${#ip_addresses[@]}]} http_method=${http_methods[$RANDOM % ${#http_methods[@]}]} # Choose a random number of HTTP headers num_http_headers=$((1 + RANDOM % ${#http_headers[@]})) headers="" for j in $(seq 1 $num_http_headers); do header=${http_headers[$RANDOM % ${#http_headers[@]}]} headers="$headers -H '$header'" done # Format the payload and content type headers if the method is POST or PUT or XHR if [ "$http_method" == "POST" ] || [ "$http_method" == "PUT" ] || [ "$http_method" == "XHR" ]; then json_payload=${json_payloads[$RANDOM % ${#json_payloads[@]}]} echo $json_payload > /tmp/data.json content_type_header="-H 'Content-Type: application/json'" payload_option='-p /tmp/data.json' else json_payload="" content_type_header="" payload_option="" fi #concurrent=$((RANDOM % 20 + 1)) concurrent=5000 #number_request=$((RANDOM % 100 + 100)) number_request=1000000 if [ $use_alternate_ips ]; then ab_command="-r -c $concurrent -n $number_request -H '$host_header' $headers -H 'User-Agent: $user_agent' $content_type_header $payload_option -B $ip_address -k -s 60 http://$target$url &" else ab_command="-r -c $concurrent -n $number_request -H '$host_header' $headers -H 'User-Agent: $user_agent' $content_type_header $payload_option -k -s 60 http://$target$url &" fi echo "AB command: $ab_command" eval ab $ab_command done The file urls.txt could look like this (taken from browsing OWASP Juiceshop): / /103.js /ae.svg /api /api/Addresss /api/Addresss/ /api/Addresss/7 /api/Cards /api/Challenges /api/Challenges/ /api/Challenges/?name=Score%20Board /api/Complaints /api/Complaints/ /api/Complaints/2 /api/Feedbacks /api/Feedbacks/ /api/Feedbacks/8 /api/Quantitys /api/Quantitys/ /api/Recycles /api/Recycles/ /api/SecurityAnswers /api/SecurityAnswers/ /api/SecurityAnswers/20 /api/SecurityQuestions /api/SecurityQuestions/ /api/Users /api/Users/ /api/Users/21 /assets /assets/i18n /assets/i18n/da_DK.json /assets/i18n/en.json /assets/public /assets/public/favicon_js.ico /assets/public/images /assets/public/images/carousel /assets/public/images/carousel/1.jpg /assets/public/images/carousel/2.jpg /assets/public/images/carousel/3.jpg /assets/public/images/carousel/4.jpg /assets/public/images/carousel/5.png /assets/public/images/carousel/6.jpg /assets/public/images/carousel/7.jpg /assets/public/images/ChatbotAvatar.png /assets/public/images/deluxe /assets/public/images/deluxe/blankBoxes.png /assets/public/images/hackingInstructor.png /assets/public/images/JuiceShop_Logo.png /assets/public/images/padding /assets/public/images/padding/81px.png /assets/public/images/products /assets/public/images/products/3d_keychain.jpg /assets/public/images/products/apple_juice.jpg /assets/public/images/products/apple_pressings.jpg /assets/public/images/products/artwork2.jpg /assets/public/images/products/banana_juice.jpg /assets/public/images/products/card_alpha.jpg /assets/public/images/products/carrot_juice.jpeg /assets/public/images/products/coaster.jpg /assets/public/images/products/cover_small.jpg /assets/public/images/products/eggfruit_juice.jpg /assets/public/images/products/fan_facemask.jpg /assets/public/images/products/fan_girlie.jpg /assets/public/images/products/fan_hoodie.jpg /assets/public/images/products/fan_mug.jpg /assets/public/images/products/fan_shirt.jpg /assets/public/images/products/fruit_press.jpg /assets/public/images/products/green_smoothie.jpg /assets/public/images/products/holo_sticker.png /assets/public/images/products/iron-on.jpg /assets/public/images/products/lemon_juice.jpg /assets/public/images/products/magnets.jpg /assets/public/images/products/melon_bike.jpeg /assets/public/images/products/no-results.png /assets/public/images/products/orange_juice.jpg /assets/public/images/products/permafrost.jpg /assets/public/images/products/quince.jpg /assets/public/images/products/raspberry_juice.jpg /assets/public/images/products/snakes_ladders.jpg /assets/public/images/products/snakes_ladders_m.jpg /assets/public/images/products/sticker_page.jpg /assets/public/images/products/sticker_single.jpg /assets/public/images/products/strawberry_juice.jpeg /assets/public/images/products/tattoo.jpg /assets/public/images/products/velcro-patch.jpg /assets/public/images/products/woodruff_syrup.jpg /assets/public/images/uploads /assets/public/images/uploads/assets /assets/public/images/uploads/assets/public /assets/public/images/uploads/assets/public/favicon_js.ico /assets/public/images/uploads/default.svg /assets/public/images/uploads/%F0%9F%98%BC- /assets/public/images/uploads/favorite-hiking-place.png /assets/public/images/uploads/IMG_4253.jpg /assets/public/images/uploads/magn(et)ificent!-1571814229653.jpg /assets/public/images/uploads/main.js /assets/public/images/uploads/my-rare-collectors-item!-[%CC%B2%CC%85$%CC%B2%CC%85(%CC%B2%CC%85-%CD%A1%C2%B0-%CD%9C%CA%96-%CD%A1%C2%B0%CC%B2%CC%85)%CC%B2%CC%85$%CC%B2%CC%85]-1572603645543.jpg /assets/public/images/uploads/polyfills.js /assets/public/images/uploads/runtime.js /assets/public/images/uploads/styles.css /assets/public/images/uploads/vendor.js /az.svg /bg.svg /br.svg /ch.svg /cn.svg /cz.svg /de.svg /dk.svg /ee.svg /es-ct.svg /es.svg /favicon.ico /fi.svg /font-mfizz.woff /fr.svg /ftp /ftp/legal.md /gb.svg /ge.svg /gr.svg /hk.svg /hu.svg /id.svg /ie.svg /il.svg /in.svg /it.svg /jp.svg /kr.svg /lv.svg /main.js /MaterialIcons-Regular.woff2 /mm.svg /nl.svg /no.svg /pl.svg /polyfills.js /pt.svg /redirect /redirect?to=https://github.com/bkimminich/juice-shop /redirect?to=http://shop.spreadshirt.com/juiceshop /rest /rest/2fa /rest/2fa/setup /rest/2fa/status /rest/admin /rest/admin/application-configuration /rest/admin/application-version /rest/basket /rest/basket/6 /rest/basket/6/coupon /rest/basket/6/coupon/2sfg546411 /rest/captcha /rest/captcha/ /rest/chatbot /rest/chatbot/respond /rest/chatbot/status /rest/continue-code /rest/deluxe-membership /rest/image-captcha /rest/image-captcha/ /rest/languages /rest/memories /rest/memories/ /rest/order-history /rest/products /rest/products/1 /rest/products/1/reviews /rest/products/24 /rest/products/24/reviews /rest/products/30 /rest/products/30/reviews /rest/products/search /rest/products/search?q= /rest/user /rest/user/data-export /rest/user/login /rest/user/whoami /rest/wallet /rest/wallet/balance /ro.svg /runtime.js /ru.svg /se.svg /si.svg /socket.io /socket.io/ /socket.io/?EIO=4&transport=polling&t=ORutb_B&sid=XMdaU3pmAjQENRZNAAAE /socket.io/?EIO=4&transport=polling&t=ORutbx3 /socket.io/?EIO=4&transport=polling&t=ORutbze&sid=XMdaU3pmAjQENRZNAAAE /socket.io/?EIO=4&transport=polling&t=ORutbzg&sid=XMdaU3pmAjQENRZNAAAE /socket.io/?EIO=4&transport=polling&t=ORuuo3q /socket.io/?EIO=4&transport=polling&t=ORuuo4I&sid=cCy37VLGBluPs5BfAAAI /socket.io/?EIO=4&transport=polling&t=ORuuo4Y&sid=cCy37VLGBluPs5BfAAAI /socket.io/?EIO=4&transport=polling&t=ORuuOHH /socket.io/?EIO=4&transport=polling&t=ORuuOHn&sid=Eyv3Lj-FXKo289kQAAAG /socket.io/?EIO=4&transport=polling&t=ORuuOI3&sid=Eyv3Lj-FXKo289kQAAAG /socket.io/?EIO=4&transport=polling&t=ORuuvji&sid=59XaACWeoq5greXzAAAK /socket.io/?EIO=4&transport=polling&t=ORuuvjK /socket.io/?EIO=4&transport=polling&t=ORuuvj-&sid=59XaACWeoq5greXzAAAK /socket.io/?EIO=4&transport=websocket&sid=59XaACWeoq5greXzAAAK /socket.io/?EIO=4&transport=websocket&sid=cCy37VLGBluPs5BfAAAI /socket.io/?EIO=4&transport=websocket&sid=Eyv3Lj-FXKo289kQAAAG /socket.io/?EIO=4&transport=websocket&sid=XMdaU3pmAjQENRZNAAAE /styles.css /th.svg /tn.svg /tr.svg /tutorial.js /tw.svg /ua.svg /us.svg /vendor.js And the user-agent.txt could be like this: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; AS; rv:11.0) like Gecko" "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/91.0.4472.80 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 11; SM-G998U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/32.0 Mobile/15E148 Safari/605.1.15" "Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1 EdgiOS/46.12.4" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/91.0.4472.80 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/34.0 Mobile/15E148 Safari/605.1.15" "Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/46.9.9 Mobile/15E148 Safari/605.1.15" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/1.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/2.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/3.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyExplorer/4.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/5.0.0 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/1.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/2.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/3.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) OceanWave/4.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/5.0.0 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/1.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/2.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/3.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) PixelNavigator/4.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/1.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/2.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/3.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyVoyager/4.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/5.0.0 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/6.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/7.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/8.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyVoyager/9.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (Linux; Android 12; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/10.0.0 Mobile Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/1.0.0 Safari/537.36" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/2.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/3.0.0 Safari/537.36" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) OceanExplorer/4.0.0 Mobile/15E148 Safari/604.1" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/29.0 Mobile/15E148 Safari/605.1.15 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile/15E148 Safari/604.1 Edg/87.0.664.75 (Windows NT 10.0; Win64; x64)" "Opera/9.80 (iPhone; Opera Mini/16.0.14/1416; U; en) Presto/2.12.423 Version/12.16 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (Android 11; Mobile; rv:88.0) Gecko/88.0 Firefox/88.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)" "Mozilla/5.0 (Linux; Android 11; SM-G998U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Mobile Safari/537.36 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)" "Opera/9.80 (Android; Opera Mini/16.0.14/1416; U; en) Presto/2.12.423 Version/12.16 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)" Note, not all user-agent strings are real.