omidnikrah / anonymous-instagram-story-seen

Seen Instagram stories anonymously
24 stars 5 forks source link

Instagram blocking access to site completely when extension is used & turned on. when turned off, site works. #6

Closed Username23453 closed 9 months ago

Username23453 commented 11 months ago

This issue is not a big deal actually, if i just turn it off once i am done looking at insta stories, i dont ever get this issue. I also want to express here a thank you & appreciation to omidnikrah for making this extension. :) I've been using it for a long time.

image

thefanaticid commented 11 months ago

You can modify backround.js like this to specify blocking request. So far it's working very well for me

chrome.webRequest.onBeforeRequest.addListener(
    function (details) {
        const formData = details.requestBody.formData
        const statusBlocking = (JSON.parse(formData.variables[0]).viewSeenAt && details.method == "POST") ? true : false ;
        return { cancel: (isActive && statusBlocking) }
    },
    { urls: [ '*://*.instagram.com/api/*/stories/reel/seen*', '*://*.instagram.com/api/graphql*' ] },
    [ 'blocking', 'requestBody']
);
sbhbhrtui commented 11 months ago

the extension dont work well. when i click on any story, the site crash, and pop up the massage "something went wrong" just like in the first comments. please fix that problem. tnx to omidnikrah for this amazing extension!!..

Username23453 commented 11 months ago

@thefanaticid what does that actually accomplish though? whats the difference?

thefanaticid commented 11 months ago

The problem arises because instagram moved some of their main functions to grapql, if omidnikrah blocks the grapql* url pattern then everything will be affected. Then I tried to detect which part is specifically for sending story viewer lists. Actually there are several ways to be able to do it, in the example I gave I detected through the data form provided. If there is viewSeenAt then block the request.

Change background.js in the chrome.webRequest.onBeforeRequest.addListener section, don't replace the entire contents of the file with the code I gave.

If that still doesn't work I don't know if instagram has different requests in each region. In my region it still works fine

sbhbhrtui commented 10 months ago

@thefanaticid tnx for the replay, Unfortunately I don't know much about programming and fixing extensions. i hope that omidnikrah or someone else can able solve the problem. this is my favorite extension and i really love and need it. I will continue to wait patiently for the problem to be resolved. tnx again to everyone that doing this good job..

Username23453 commented 10 months ago

@sbhbhrtui , me too! I love & need it too! I second that.

arig241 commented 9 months ago

You can modify backround.js like this to specify blocking request. So far it's working very well for me

chrome.webRequest.onBeforeRequest.addListener(
  function (details) {
      const formData = details.requestBody.formData
      const statusBlocking = (JSON.parse(formData.variables[0]).viewSeenAt && details.method == "POST") ? true : false ;
      return { cancel: (isActive && statusBlocking) }
  },
  { urls: [ '*://*.instagram.com/api/*/stories/reel/seen*', '*://*.instagram.com/api/graphql*' ] },
  [ 'blocking', 'requestBody']
);

It's been working great, I did something similar, but in the recent couple of days it started doing some really weird thing where it still view the current story anonymously (meaning the request on current story is blocked), yet it automatically marks the next 3 or 4 stories of the next accounts in order as seen, meaning if you have the stories of person1, p2,p3,p4, and you click on p1, p1 stays unseen yet p2,p3,p4 are all seen. I haven't been able to crack down how to which request is responsible for it and how to avoid that, any idea?

jesseger commented 9 months ago

@arig241 Do you have any idea how to reproduce this?

arig241 commented 9 months ago

@arig241 Do you have any idea how to reproduce this?

Using desktop Google Chrome with Instagram web app, clicking an account story through the homepage story nav-bar, with an implemented functionality of blocking the entire XHR request if it contains the field "ViewSeenAt", marks the next couple of accounts stories as seen. I tested it logging in to a different account that the main one it's been happening on, on the same browser, with the same chrome blocking functionality and it wasn't able to reproduce it on the second account, yet it continues on the first. Any idea on that would be possible?

Username23453 commented 9 months ago

@arig241 , the only explanations i can think of is, 1.) the stories that it marks as seen, you had already "seen" them via a malfunction earlier. Are you sure you tested your 1st profile with ALL NEW stories?

or 2.) Maybe another extension is interfering. Or maybe you're using incognito mode. Sometimes extensions dont work in incognito mode.

3.) Also, sometimes its hard to tell if instagram registers whether you've already "seen" a story yet or not, truly.

But I appreciate you testing the extension out, as it works great for me & I really appreciate the extension.

omidnikrah commented 9 months ago

You can modify backround.js like this to specify blocking request. So far it's working very well for me

chrome.webRequest.onBeforeRequest.addListener(
  function (details) {
      const formData = details.requestBody.formData
      const statusBlocking = (JSON.parse(formData.variables[0]).viewSeenAt && details.method == "POST") ? true : false ;
      return { cancel: (isActive && statusBlocking) }
  },
  { urls: [ '*://*.instagram.com/api/*/stories/reel/seen*', '*://*.instagram.com/api/graphql*' ] },
  [ 'blocking', 'requestBody']
);

@thefanaticid That would be appreciated if you create a pull request for it. Thanks.