All Projects → mdrichardson → FUTpuppeteer

mdrichardson / FUTpuppeteer

Licence: other
This is an auto-clicker bot used to trade players and items on FIFA Ultimate Team's Web App.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to FUTpuppeteer

Fifa21-Autobidder
Selenium-based bot that autobids and autobuys players on FIFA 23 Ultimate Team's transfer market
Stars: ✭ 106 (+863.64%)
Mutual labels:  selenium, fifa
futwebapi
A FUT 21 web automation api written with typescript used to interact with fifa 21 ultimate team webapp. With this library you can build your fifa 21 bot, tool or app.
Stars: ✭ 19 (+72.73%)
Mutual labels:  fut, fifa
SeleniumTDD
A Selenium TDD framework that incorporates key features of Selenium and TestNG which can be used to create web-based automation scripts.
Stars: ✭ 23 (+109.09%)
Mutual labels:  selenium
devtools-proxy
Multiplexing proxy for Chrome DevTools. Fully compatible with Selenium and ChromeDriver
Stars: ✭ 64 (+481.82%)
Mutual labels:  selenium
fifa
React + Node.js + socket.io -- A turn-based multiplayer game-client based on FIFA
Stars: ✭ 26 (+136.36%)
Mutual labels:  fifa
zhihu-crawler
徒手实现定时爬取知乎,从中发掘有价值的信息,并可视化爬取的数据作网页展示。
Stars: ✭ 56 (+409.09%)
Mutual labels:  selenium
TikTok
Download public videos on TikTok using Python with Selenium
Stars: ✭ 37 (+236.36%)
Mutual labels:  selenium
spydriver
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.
Stars: ✭ 24 (+118.18%)
Mutual labels:  selenium
qzone-spider
QQ 空间爬虫,基于 selenium 模拟登录空间,破解滑动验证码,拿到 cookies,然后使用 requests 抓取好友留言板的所有留言与回复,并生成词图。只抓了留言,本来还想抓说说,不过因为我已经好多年不玩 QQ 空间,感觉它对我已经没什么意义了,遂作罢。
Stars: ✭ 23 (+109.09%)
Mutual labels:  selenium
dnevnik mos ru
Python module to get easy machine access to dnevnik.mos.ru
Stars: ✭ 21 (+90.91%)
Mutual labels:  selenium
throughout
🎪 End-to-end testing made simple (using Jest and Puppeteer)
Stars: ✭ 16 (+45.45%)
Mutual labels:  selenium
resgen
Keep track of jobs you've applied to, automate resume & cover letter creation; generate PDFs from .odt templates on the fly while scraping the job post and tracking employer status.
Stars: ✭ 31 (+181.82%)
Mutual labels:  selenium
facebook-cleaner
It is almost spring, so time for a pre spring cleaning. This time: taking care of your Facebook. This script can safe you a lot of time if you would try to do that by hand.
Stars: ✭ 52 (+372.73%)
Mutual labels:  selenium
google-image-downloader
A script to download images from images.google.com
Stars: ✭ 28 (+154.55%)
Mutual labels:  selenium
instagram-profilecrawl
📝 quickly crawl the information (e.g. followers, tags etc...) of an instagram profile.
Stars: ✭ 964 (+8663.64%)
Mutual labels:  selenium
python-crawler
爬虫学习仓库,适合零基础的人学习,对新手比较友好
Stars: ✭ 37 (+236.36%)
Mutual labels:  selenium
tithiwa
Automate Web WhatsApp with selenium in python.
Stars: ✭ 17 (+54.55%)
Mutual labels:  selenium
giulius-selenium-tests
A test harness that allows Selenium tests to be run using JUnit and test fixtures to be created and injected by a WebDriver-aware Guice
Stars: ✭ 12 (+9.09%)
Mutual labels:  selenium
automation-for-humans
Converts English statements to automation.
Stars: ✭ 67 (+509.09%)
Mutual labels:  selenium
facebook-data-extraction
Experiences in extracting data from Facebook with these 3 methods: Facebook Graph API, Automation tools, DevTools Console
Stars: ✭ 81 (+636.36%)
Mutual labels:  selenium

FUTpuppeteer FIFA 18 Ultimate Team Bot

Note: This does not work with FIFA 19. You can probably adapt it to do so, but I haven't been developing this for several months.

FIFA 19 FAQ

Q: Will you be making a bot for FIFA 19?

Not likely. You'll see updates here if I ever do, but I've got a lot more projects to work on before I can move onto this again.

Q: How do I avoid detection?

As far as I can tell, EA only monitors for:

  • mismatched HTTP request headers
  • PinEvents for HTTP requests that don't fire when they should
  • Too many requests (HTTP or clicks)
  • Too fast of requests (HTTP or clicks)
  • Being too slow to respond to CAPTCHA
  • Running for many hours in a day
  • Running for too long without a break

Q: Should I make an auto-clicker bot myself (with Selenium)

If I were to do it over again, I'd just build one off of oczkers' FUT API wrapper instead of Selenium.

There aren't any HTML elements the bot can pull for card IDs. This becomes a massive slow-down once special cards are released (TOTS, POTW, etc) and a single player has 5-6 cards.


Note: This repo is not meant for the public. You're welcome to use it, but I am not providing support and you'll need to be semi-experienced with Python to get it running.


FUTPuppeteer for FIFA 18

This is an auto-clicker bot used to trade players and items on FIFA Ultimate Team's Web App.

Click this image for a video demo that covers a few capabilities: FUTpuppeteer Demo

Key Features

  • Set-and-forget: runs everything automatically.
  • Can buy and sell players and some consumables using Buy It Now and/or auctions
  • Gathers SBC solutions, buys the players, and enters them into SBC solution, automatically
  • Can automatically manage transfer, watch, and unassigned lists
  • Can apply consumables to each individual member in any squad, optionally including subs and reserves (individual fitness, contracts, etc.)
  • Contains numerous strategies that can be customized easily
  • Desktop and AutoRemote (Android app) notifications
  • Stealth:
    • There was a big ban wave in early 2018. The commercial bots got hit. This one did not.
    • Uses randomized delays and off-center clicking to mimic human interactions
    • Uses randomized keep-alive
    • Customizeable maximum rate of user server requests
    • You can compile chromedriver yourself here and change key in call_function.js to something random, as seen here

Technical Features

  • Notifications for captcha, buy, sell, etc
  • Fairly verbose logging and console output
  • Price checks with Futbin or Futhead
  • Saves price data and user buy/sell data in sqlite database
  • IMAP support: can auto-login with 2-factor email authentication
  • Passwords are saved locally using OS's credential manager. They can optionally be encrypted with a master password

Limitations

  • Runs on Selenium to mimic human interactions for better stealth. This requires higher CPU and RAM usage as well as additional delays due to page load times that you wouldn't see with something that uses EA's API directly.
    • Try changing lag_multiplier in global.yml to something larger if you get errors because your comupter or connection are slow.
  • FUT web app doesn't differentiate well between similar cards of the same player (e.g. Gold Diego Costa with a club change).
    • In order to accurately get the price of the right card, all player card possibilities are grabbed from EA database and stored locally. Cards that appear in web app searches are then compared with those in the database and the closest match is returned. This is slightly slow and you will often be out-sniped by API-only bots.
    • When FIFA was first released, this wasn't an issue. But as more and more new card variations were released, this was the only way to solve this issue without direct API calls (which are less stealthy).
  • EA database must be manually updated. It takes ~10 minutes to complete. You can update it manually by executing update_player_data() in database.py.

Installation

Requirements

  • Python 3.5+ (only tested in v3.5)
  • Chromedriver 2.39+ (only tested in v2.39)
  • Python packages:
    • selenium
    • ruamel.YAML
    • signal
    • simple-crypt
    • requests
    • sqlite3
    • ast
    • json
    • re
  • Fast computer and internet connection
  • An understanding of Python

Steps to Install

  1. Install Python, Chromedriver, and Python packages

  2. Pull or clone this repo

  3. Rename config\botExample.yml to bot1.yml

    • Open it and input your user info at the bottom
  4. Rename config\globalExample.yml to global.yml

    • Input appropriate path_to_chromedriver_exe
    • Change other settings as needed
  5. Edit RunExample.py to your liking

    • There's a lot of examples in there. Comment in what you want to run and comment out what you don't. Read the code and change as necessary

To-Do

  • Add readmes to each folder
  • Add gif that shows bot operate

Needs to be done, but won't be unless I pick the project back up

  • Clean up code, refactor as necessary - After reading Clean Code, I realize the code could be a lot cleaner
  • Make install easier
  • Have it create databases from scratch
  • Have it auto-generate blank bot*.yml if Session(bot_number=*) doesn't exist
  • Store all settings in database, instead of yaml files
  • Completely refactor to use oczkers' FUT API wrapper instead of Selenium
    • The increased likelihood of being caught is worth the increased speed, unless web app security increases significantly in the future
      • Increased risk can be mitigated by frequently running a separate bot that logs in via Selenium (like this one) and compares all HTTP method parameters and cookies using BrowserProxyMob to make sure they match what oczker's API is sending
  • Write unit tests
  • This code is likely pretty inefficient. It could probably be made better by using more appropriate data structures and improving time and space complexity of some of the functions--especially the ones involving the player database and the ones that find sniping filters
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].