Reddit Karma Farmer is a Node app that can post news stories to Reddit.com, comment on posts, or comment on comments. The goal is to farm Reddit Karma for new accounts. This is a joke/hobby project, and is not regularly maintained.
Download this repo, then navigate to it's root directory and run npm i
to download the dependancies. Also, create a .env
file with the settings you want to use.
Commands | Description |
---|---|
npm run dev | Run app immediately with live reloads on file save. |
npm run pm2 | Run app continuously using pm2 daemon. |
This program looks for a .env
file in it's root directory. I've included a sample.env
for you to model your own settings file from. If there is no .env
file, this project will not run.
Setting | Required | Default | Description |
---|---|---|---|
REDDIT_USERNAME | Required | "" | The Reddit username the program should use. |
REDDIT_PASSWORD | Required | "" | The Reddit PASSWORD the program should use. |
PROGRAM_ACTION | Required | 1 | The action this program should run. See the list of PROGRAM_ACTION below. |
INTERVAL_IN_MINUTES | Required | 13 | The amount of time to wait between each program action. |
CHROME_EXE_PATH | Required | "" | The path to a Chrome executable file on disk. General presets included in .env file. |
The PROGRAM_ACTION
value in the .env file will identify which of the following actions the program will run.
The post script will gather recent News articles from Google and post a link to them on the appropriate subreddit. The src/assets/post-categories.js
file contains pairs of search terms and subreddits. Execute this action by setting PROGRAM_ACTION=1
in your .env file.
This comment script is designed to find a random rising post, and leave a top level comment on that post. The src/assets/comment-on-post-phrases.js
file contains the list of phrases that this script will cycle through and use in it's comments. Execute this action by setting PROGRAM_ACTION=2
in your .env file.
This Comment script is designed to find the top rated comment on a rising post, and then simply agree with that comment. The src/assets/comment-on-comment-phrases.js
file contains a list of phrases that is cycled through when commenting. Finally, the program will evaluate your previous comments for downvoted comments in the negative vote range, and delete those comments to prevent more downvotes. Execute this action by setting PROGRAM_ACTION=3
in your .env file.
- Node
- NPM
- Chrome
Raspberry Pi in this guide is running Raspbian GNU/Linux 9 (stretch).
Install NPM on your pi, if it is not already installed.
- Download the proper chromium version:
sudo apt install chromium-browser chromium-codecs-ffmpeg
- AND - point to the chromium browser we specifically downloaded:
CHROME_EXE_PATH="/usr/bin/chromium-browser"
- Javascript in a Node environment
- DOM Scraping Techniques
- Headless Chrome
- Local .json DB
- Browser Automated Tasks
Trouble shooting sucks. This list is sorted in order of easiest steps to most intricate steps you can take to trouble shoot. If you run into an issue and would like to add tips to this list, submit a pull request!
- Manually confirm that your Reddit account email and password are valid.