{"id":180,"date":"2023-05-20T22:52:00","date_gmt":"2023-05-20T22:52:00","guid":{"rendered":"https:\/\/mityjohn.com\/?p=180"},"modified":"2023-12-20T23:04:14","modified_gmt":"2023-12-20T23:04:14","slug":"how-to-outsmart-google-forms","status":"publish","type":"post","link":"https:\/\/mityjohn.com\/?p=180","title":{"rendered":"How to Outsmart Google Forms"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In the ever-expanding universe of coding, where the seriousness of programming meets the absurdity of repetitive tasks, I wanted to provided myself with a small challenge. So on jolly but cloudy morning, with some free time to spare I wrote this magical script to magically bypass a google form. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s embark on a slightly whimsical, yet predominantly technical journey through its functionalities.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 1: The Genesis of Automation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Our tale begins with the noble purpose of the &#8220;AutoFill-GoogleForm-Proxy&#8221; script: to test Google Forms multiple times with different email addresses, while skilfully dodging IP-based detection by changing proxies. It&#8217;s like sending a horde of digital ninjas, each with a unique disguise, to test the fortitude of your digital fortress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 2: The Art of Preparation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before unleashing this army of form-fillers, one must perform two sacred rites:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>The Form&#8217;s URL Alteration<\/strong>: This is where we turn a mundane Google Form URL into a portal for automated responses by replacing &#8216;\/viewform&#8217; with &#8216;formResponse&#8217;. It\u2019s like telling your GPS to take the scenic route, but for data.<\/li>\n\n\n\n<li><strong>Unearthing Form Variables<\/strong>: A quest akin to finding hidden treasure, this involves delving into the Chrome developer tools to record and inspect network traffic during form submission. It\u2019s like eavesdropping on data, but legally.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 3: The Proxy Masquerade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In certain quests, a hero must don a cloak of invisibility. In our script&#8217;s case, this cloak is made of proxies. By configuring proxy usage, the script can mimic submissions from various locations, much like a chameleon changing colors to blend in at a disco.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 4: The Grand Performance<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With a flourish and a command (<code>python GoogleForms.py<\/code>), our script springs into action. But it&#8217;s no one-trick pony; it can modify its tactics with options such as <strong><code>viaProxy<\/code> <\/strong>(to switch on the invisibility cloak), <code>numberOfRequests<\/code> (how many times it will bravely sally forth), and <code>scrambled<\/code> (choosing between a dignified name or an alias straight out of a spy novel).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Running the script<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python GoogleForms.py<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Variable name<\/th><th>Type<\/th><th>Default value<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>viaProxy<\/td><td>Boolean<\/td><td>False<\/td><td>If not activated, form will be filled using the current IP.<br>If True, the request will go via Proxy<\/td><\/tr><tr><td>numberOfRequests<\/td><td>Integer<\/td><td>2<\/td><td>The amount of times you want the request te be excuted.<\/td><\/tr><tr><td>scrambled<\/td><td>Boolean<\/td><td>False<\/td><td>If False, more &#8216;human&#8217; names for generating the username will be used. If True, scrambled characters will be used.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Available variables<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 5: The Proxy Waltz<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By casting the spell <code>python GoogleForms.py --viaProxy=True<\/code>, the script calls upon a conga line of proxies from the mystical API realm of <a href=\"https:\/\/api.proxyscrape.com\/v2\/\">https:\/\/api.proxyscrape.com\/v2\/<\/a>. It then proceeds to sashay through the digital landscape, submitting forms with the grace of a ballroom dancer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Chapter 6: The Enchantment of Email Generation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Drawing inspiration from the secret grimoire (<a href=\"https:\/\/github.com\/janvanwassenhove\/EmailGeneration\">https:\/\/github.com\/janvanwassenhove\/EmailGeneration<\/a>), our script becomes an alchemist of emails, creating addresses that could either pass for royal titles or sound like something a cat walked over on a keyboard.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Epilogue: The Legacy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As our journey reaches its end, we salute the AutoFill-GoogleForm-Proxy. It&#8217;s more than just a tool; it\u2019s a beacon of hope for those who dread the monotony of form filling, a reminder that even in the most tedious tasks, there\u2019s room for a little fun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For those intrepid souls eager to delve into this adventure, the repository awaits on GitHub: <a href=\"https:\/\/github.com\/janvanwassenhove\/AutoFill-GoogleForm-Proxy\">AutoFill-GoogleForm-Proxy<\/a>. May your coding ventures be as fruitful and amusing as this whimsical yet technically insightful journey! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I had my fun playing around with it and the cloudy morning quickly past away!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the ever-expanding universe of coding, where the seriousness of programming meets the absurdity of repetitive tasks, I wanted to provided myself with a small challenge. So on jolly but cloudy morning, with some free time to spare I wrote this magical script to magically bypass a google form. Let&#8217;s embark on a slightly whimsical, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":181,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[10,14],"class_list":["post-180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-programming","tag-python"],"_links":{"self":[{"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/posts\/180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mityjohn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=180"}],"version-history":[{"count":1,"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/posts\/180\/revisions"}],"predecessor-version":[{"id":182,"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/posts\/180\/revisions\/182"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mityjohn.com\/index.php?rest_route=\/wp\/v2\/media\/181"}],"wp:attachment":[{"href":"https:\/\/mityjohn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mityjohn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mityjohn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}