Tabun
Registered Member
- Jan 17, 2020
- 54
- 42
Over the past couple of weeks I've been working on a project in Golang to automate interactions with Reddit. I'm currently testing it with just 30 accounts but it should scale fine because of how I architected it.
What I have so far:
- "Identity system"
- Each account is associated with an "identity"
- Identities have random names/birth years which are in turn used to generate usernames (see attached image)
- Each identity has a % chance of having certain "interests" such as politics, gaming, technology, etc
- Each "interest" has subreddits that all have a certain % chance of being subscribed to
- See attached image
- Job server
- Generates daily job for each worker (getting information using the official reddit API on a random account) -- This pads the account with legit activity to make it seem more human
- "Scrolling" through some of the subreddits the account is subscribed to and upvoting a small percent of posts it sees
- Small percent chance that they repost a top post from a long time ago
- High percent chance that they post a paraphrased version of a comment on an already popular random thread (important that only popular threads are chosen because it helps "blend in" and otherwise users might notice)
- Http server listening for me to submit my own custom tasks (things to upvote/downvote/post/etc)
- Worker
- Can run unlimited number of workers
- Workers take tasks from job server via rabbitmq
- Emulate Reddit's iOS app mobile api
- Incorporated nearly every endpoint, including some of the undocumented graphql stuff
- I can't afford servers powerful enough for many instances of selenium or puppeteer so I used this
- Bulk Registerer
- Registers accounts using mobile API (had to learn a little about HMACs to do this because they request sign the registration requests)
What I need to do:
- Figure out how to most profitably use this system (selling accounts vs upvotes vs ...)
- Use something like https://www.delayforreddit.com/analysis and only post at optimum times to maximize karma
- Shadowban checks: I'm currently doing it manually but implementing whatever https://nullprogram.com/am-i-shadowbanned/ is doing shouldn't be hard
- Register more accounts
What I have so far:
- "Identity system"
- Each account is associated with an "identity"
- Identities have random names/birth years which are in turn used to generate usernames (see attached image)
- Each identity has a % chance of having certain "interests" such as politics, gaming, technology, etc
- Each "interest" has subreddits that all have a certain % chance of being subscribed to
- See attached image
- Job server
- Generates daily job for each worker (getting information using the official reddit API on a random account) -- This pads the account with legit activity to make it seem more human
- "Scrolling" through some of the subreddits the account is subscribed to and upvoting a small percent of posts it sees
- Small percent chance that they repost a top post from a long time ago
- High percent chance that they post a paraphrased version of a comment on an already popular random thread (important that only popular threads are chosen because it helps "blend in" and otherwise users might notice)
- Http server listening for me to submit my own custom tasks (things to upvote/downvote/post/etc)
- Worker
- Can run unlimited number of workers
- Workers take tasks from job server via rabbitmq
- Emulate Reddit's iOS app mobile api
- Incorporated nearly every endpoint, including some of the undocumented graphql stuff
- I can't afford servers powerful enough for many instances of selenium or puppeteer so I used this
- Bulk Registerer
- Registers accounts using mobile API (had to learn a little about HMACs to do this because they request sign the registration requests)
What I need to do:
- Figure out how to most profitably use this system (selling accounts vs upvotes vs ...)
- Use something like https://www.delayforreddit.com/analysis and only post at optimum times to maximize karma
- Shadowban checks: I'm currently doing it manually but implementing whatever https://nullprogram.com/am-i-shadowbanned/ is doing shouldn't be hard
- Register more accounts
