Skip to main content

OnlyFans Content Distribution Tool

Project description

OnlySnarf

Shnarf

Please refer to the Menu for help with the available arguments and config settings.

Description

OnlySnarf is a python based automation tool to assist with uploading content to OnlyFans by interacting with the site via web scraping. OnlySnarf carries no weapons, but it has been known to use its tail, teeth and claws when improperly configured.

Here are some debugging previews of how it looks when everything works:

Note: this package has been updated from its previous "do a lot" design to a slim "do few things right" build. Meaning all previous methods for internally handling files and media should now be done by an alternative project / package.

Installation

Python 3.8.3

pip: python -m pip install onlysnarf
clone repo & install: git clone git@github.com:skeetzo/onlysnarf && python setup.py install

usage: onlysnarf [-h] [-version] ...

positional arguments: input file or folder path for input to post or message

optional arguments: -h, --help show this help message and exit -version show program's version number and exit -[refer to menu for more options] ...

Shnarrf!

Example: onlysnarf -text "suck my giant balls" /path/to/balls.jpeg

Config

The config process has been updated as well from the previous format. Example config files are provided. There are now 2 main config files that should be provided to affect runtime behavior as well as 1 optional method to distinguish between user logins.

  1. the config for the general app's behavior: $HOME/.onlysnarf/config.conf
  2. one config for each user containing their credentials: $HOME/.onlysnarf/users/$username.conf
  3. an optional default user config containing the default credentials to use: $HOME/.onlysnarf/users/default.conf

For example: $HOME/.onlysnarf/users/alexdicksdown.conf

No, the user credentials are not handled in the safest manner because they are very clearly stored in plain text and without any 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.

Why Twitter credentials? OnlyFans uses a captcha to prevent malicious bots from accessing user accounts. However, this captcha is only necessary when logging in with your OnlyFans username and password. Logging in with the provided Twitter authentication does not provide a captcha and thus allows a more accessible automated entrance. Once logged in, saving cookies will enable sessions to be remembered thus skipping any future login checks. This is possible to accomplish via regular login with OnlyFans, however, if the captcha is prompted on the first session then you will need to handle that by mouse. Once a session / cookies have been created then the same configuration settings must be used. Ergo, if the window was kept open to pass the captcha then the window must be opened each time for the session/cookies to do their job. For a headless experience one must login via Twitter or simply get lucky and not flag from overuse like I do from frequent testing.

Dependencies

Selenium requires either Google Chrome or Firefox which can be installed with their respective install-* scripts in /bin. The chromedriver binary is installed with the package, however, due to being a bunch of finnicky bitches the install scripts are available to ensure proper installation and operation (I mostly have no idea what I'm doing anyways so it's safer this way).

Running bin/install-google.sh should result in matching version numbers. If they do not, the browser may fail to spawn properly.

From my current understanding, Selenium 4 may have a better method for handling binaries. If so then in a future version the above steps may be removed and instead properly handled internally.

Removed

Previous versions (before v4.1) included the ability to download/upload from Google Drive (and was supposed to add Dropbox). I have decided to drop everything that is not a core function of interacting with the OnlyFans site. Any extraneous file handling should be just that. I will likely create a companion tool that interacts with OnlySnarf and IPFS to automate uploads. I recommend you do the same with any file service you wish to use.

The runtime command has changed as well dropping the "py" previously meant to distinguish it from being the menu command from "onlysnarfpy" to now just "onlysnarf". Once the menu has been updated, which I only really do for personal pleasure and practice because it's quite a wonderfully useless feature, it's command will be "snarf"

Referral

Feel free to make use of my referral code ;)
https://onlyfans.com/?ref=409408

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

OnlySnarf-4.4.1.tar.gz (82.2 kB view details)

Uploaded Source

Built Distribution

OnlySnarf-4.4.1-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

Details for the file OnlySnarf-4.4.1.tar.gz.

File metadata

  • Download URL: OnlySnarf-4.4.1.tar.gz
  • Upload date:
  • Size: 82.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.3

File hashes

Hashes for OnlySnarf-4.4.1.tar.gz
Algorithm Hash digest
SHA256 fbc45e3ef7fc544ade78e5ce589b5f2e0d1858de0c6b9ded953d99b6f1f71873
MD5 a3c7d9db54b6d908343dec8a8877fe6e
BLAKE2b-256 a144db851c949adccb9bb40438cdc73d64cb425ee93998c25964674f9d3354ee

See more details on using hashes here.

File details

Details for the file OnlySnarf-4.4.1-py3-none-any.whl.

File metadata

  • Download URL: OnlySnarf-4.4.1-py3-none-any.whl
  • Upload date:
  • Size: 83.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.3

File hashes

Hashes for OnlySnarf-4.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e9918d5d86da145414cd281507f2648b1d9b7cb12ec9ffb3207fb8954575208
MD5 0a8aa629d7a59934a2b31b111b7897e2
BLAKE2b-256 91eea816a6e2bf98fce0a361b3421f94e47d2dea91d3123ce56afcdc3e543a7b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page