Nicolas Maynard
Newbie
- Nov 12, 2020
- 9
- 2
For this demonstration I will use a talk with stranger chat application called StrangerMeetup(dot)com
Found this website in a quick google search please read the disclaimer.
Q) What is StrangerMeetup?
A) StrangerMeetup is a chat application to connect people randomly from all over the world
Q) What is the purpose of this thread?
A) To give newcomers a introduction to free traffic
Steps
When you visit the website you will see a button with text "Chat with a Stranger", click that button and you will be redirected to a ReCaptcha page. Solve the captcha and you will be back at the home page, click "Chat with a Stranger" again and you will be redirected to the chat application and matched with a stranger.
If the person on the other side disconnects you will see a button with text like "Find a new chat", click there and you are redirected to home page again and have to click "Chat with a Stranger" again, after a few times you will have to solve captcha again. That's very annoying.
The end goal is to reach as many people with your message as possible example "Follow my Instagram my username is MyCoolInstagramPage", "Visit my blog MyCoolBlogPage.com", "Subscribe to my newsletter for the latest fashion trends". when I did research I noticed they have blacklisted a lot of words probably because of past spam and abuse on the platform.
Doing this manually will be very slow even if it generates traffic, that's why I want to show you a example of automation
Before you continue reading I want to say that I don't support any spam, malicious intents or abuse.
If I notice this being abused I will remove it instantly and I do not provide any kind of support for the Proof of Concept script, this is for educational purposes only and I will not be held liable for any of your actions.
What does the script do in simple words?
It bypasses the bad word filter
It finds a new random chat automatic after specified delay in milliseconds, you don't have to solve captchas, refresh or any of the steps you have to do otherwise.
It sends a message after specified delay in milliseconds
What does the script do in developer words?
It overrides viewModel.submitMessage function, I could have used the websocket directly but I did it this way to easier get visual updates
The edited viewModel.submitMessage function have removed the blacklisted keyword check, it was client sided and that is a very bad idea you should always have checks on server end.
It uses the model viewModel.chatService to request chats & end chats
It overrides vidwModel.onBanned to know if it has been banned.
Why is it Proof of Concept?
This is a very basic script used for testing purposes only, it's not meant to be a bot or fully working script even if it fully works.
It's not running of events so messages can have a big fail ratio, I do not intend to make this flawless because it's for educational purposes
Tweaking the settings is recommended do not put DCM too low because messages might not have time to go through if it's too low, do not put DSM too low because it might not find a partner before message is sent.
To run the script
Paste this script in Developer Tools -> Console when you are in a chat room and press enter. It will handle everything automatically
DISCLAMER
I'm are not affiliated, associated, authorized, endorsed by, or in any way officially connected with StrangerMeetup, or any of its subsidiaries or its affiliates. The official StrangerMeetup website can be found at StrangerMeetup(dot)com.
The name StrangerMeetup as well as related names, marks, emblems and images are registered trademarks of their respective owners.
Found this website in a quick google search please read the disclaimer.
Q) What is StrangerMeetup?
A) StrangerMeetup is a chat application to connect people randomly from all over the world
Q) What is the purpose of this thread?
A) To give newcomers a introduction to free traffic
Steps
When you visit the website you will see a button with text "Chat with a Stranger", click that button and you will be redirected to a ReCaptcha page. Solve the captcha and you will be back at the home page, click "Chat with a Stranger" again and you will be redirected to the chat application and matched with a stranger.
If the person on the other side disconnects you will see a button with text like "Find a new chat", click there and you are redirected to home page again and have to click "Chat with a Stranger" again, after a few times you will have to solve captcha again. That's very annoying.
The end goal is to reach as many people with your message as possible example "Follow my Instagram my username is MyCoolInstagramPage", "Visit my blog MyCoolBlogPage.com", "Subscribe to my newsletter for the latest fashion trends". when I did research I noticed they have blacklisted a lot of words probably because of past spam and abuse on the platform.
Doing this manually will be very slow even if it generates traffic, that's why I want to show you a example of automation
Before you continue reading I want to say that I don't support any spam, malicious intents or abuse.
If I notice this being abused I will remove it instantly and I do not provide any kind of support for the Proof of Concept script, this is for educational purposes only and I will not be held liable for any of your actions.
What does the script do in simple words?
It bypasses the bad word filter
It finds a new random chat automatic after specified delay in milliseconds, you don't have to solve captchas, refresh or any of the steps you have to do otherwise.
It sends a message after specified delay in milliseconds
What does the script do in developer words?
It overrides viewModel.submitMessage function, I could have used the websocket directly but I did it this way to easier get visual updates
The edited viewModel.submitMessage function have removed the blacklisted keyword check, it was client sided and that is a very bad idea you should always have checks on server end.
It uses the model viewModel.chatService to request chats & end chats
It overrides vidwModel.onBanned to know if it has been banned.
Why is it Proof of Concept?
This is a very basic script used for testing purposes only, it's not meant to be a bot or fully working script even if it fully works.
It's not running of events so messages can have a big fail ratio, I do not intend to make this flawless because it's for educational purposes
Tweaking the settings is recommended do not put DCM too low because messages might not have time to go through if it's too low, do not put DSM too low because it might not find a partner before message is sent.
To run the script
Paste this script in Developer Tools -> Console when you are in a chat room and press enter. It will handle everything automatically
JavaScript:
var IsBanned = false; //DO NOT MODIFY
var Message = "This is a Proof of Concept script"; //Message To Send
var DRP = 1000; //MS Before Requesting A New Partner
var DSM = 3000; //MS Before Sending Message After Requesting Partner
var DCM = 500; //MS Before Disconnecting After Message Is Sent IMPORTANT! Incrase Value If Your Internet Connection Is Slow
var MTS = 3; //Number Of Messages To Send
//DO NOT MODIFY ANYTHING BELOW THIS LINE
function RunHooks() {
viewModel.submitMessage = function(Message) {
this.status(Status.ActiveChat);
var t = Message;
if (void 0 !== t && "" !== t) {
this.chatService.sendMessage({
message: Message,
to: this.h,
channel: this.channel()
}), t = xssFilters.inHTMLData(t);
try {
t = this.emoji.shortnameToImage(t)
} catch (t) {
console.error(t)
}
var e = this.userById(this.me().userId);
this.addMessage(new MessageViewModel("message", t, e)), this.inputMessage(""), this.typingViewModel.onMessageSent()
}
}
viewModel.onBanned = function(t) {
IsBanned = true;
//this.isInChatView && (window.onbeforeunload = null, window.location.href = "/banned?reason=" + encodeURIComponent(t.reason))
}
}
//Using Hook For Visible Updates Purpose
function SendMessage(Message) {
viewModel.submitMessage(Message);
}
//Ugly Implementation Of Sleep
function AsyncSleep(MS) {
return new Promise(Resolve => setTimeout(Resolve, MS));
}
RunHooks();
var SM;
for (SM = 0; SM < MTS; SM++) {
if (IsBanned) {
console.log("BANNED!")
break;
}
await AsyncSleep(DRP);
viewModel.chatService.requestPartner();
await AsyncSleep(DSM);
SendMessage(Message);
await AsyncSleep(DCM);
viewModel.chatService.end();
console.log("Messages: " + (SM + 1));
}
console.log("Success");
DISCLAMER
I'm are not affiliated, associated, authorized, endorsed by, or in any way officially connected with StrangerMeetup, or any of its subsidiaries or its affiliates. The official StrangerMeetup website can be found at StrangerMeetup(dot)com.
The name StrangerMeetup as well as related names, marks, emblems and images are registered trademarks of their respective owners.
Last edited: