Please refer to the Menu for help with the available arguments and config settings.
OnlySnarf is a python based automation tool to assist with uploading content to OnlyFans by interacting with the site via web scraping. It does not interact with the API whatsoever. OnlySnarf carries no weapons, but it has been known to use its tail, teeth and claws when improperly configured.
Here are some fuzzy debugging previews of how it looks when everything works:
There are two different installation options (that I know of):
- via pip for the latest official package:
python3 -m pip install onlysnarf
- or clone the repo & setup a virtual environment to install locally like in the bash script at bin/virtualenv.sh
Here is an output of the command: snarf -h
Command example: snarf -text "suck my giant balls" /path/to/imageOfBalls.jpeg
Example config files are provided. There are two main config files that should be provided to affect runtime behavior as well as one optional method to help distinguish between user logins for multiple accounts.
- the config for the general app's behavior:
$HOME/.onlysnarf/config.conf
- one config for each user containing their credentials:
$HOME/.onlysnarf/users/$username.conf
- (optional) one config containing the default user credentials to use:
$HOME/.onlysnarf/users/default.conf
User config example: $HOME/.onlysnarf/users/alexdicksdown.conf
Note for Windows: the user's $HOME path works out to C:\Users\YOUR_USERNAME
so the base directory for config files and such can instead be found at C:\Users\YOUR_USERNAME\.onlysnarf
No, the user credentials are not handled in the safest manner because they are very clearly stored in plain text with no encryption. Yes, a better way can be figured out. Do I think a better way is necessary for this project? No. So please be careful with your own credentials.
Selenium's webdriver manager should install everything it needs automatically. If left unspecified the default browser argument is "auto" which will cylce throuch each web driver available and attempt to spawn a working browser. If you are using a Raspberry Pi 4, be sure to run sudo apt-get install chromium-chromedriver
on your device to be able to launch chrome.
Runs successfully on:
- Linux Ubuntu
- Windows 11
Runs sucessfully on browsers:
- Chrome
- Firefox
Runs successfully on devices:
- Raspberry Pi 4
The test environment uses the config file found at: OnlySnarf/conf/test-config.conf
Basic unittesting:
python -m unittest tests/snarf/test_discount.py
python -m unittest tests/snarf/test_post.py
python -m unittest tests/snarf/test_message.py
python -m unittest tests/snarf/test_users.py
Pytests available under /tests:
pytest tests/selenium
pytest tests/snarf
7/5/2023 : clarifications to readme and menu text... 4/18/2023 : To further reduce repo size, preview gifs have been relocated to IPFS.
Feel free to make use of my referral code ;)