Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TTV Intrusive Ad Blocker original creator. #10

Closed
TrashGitYuh opened this issue Dec 31, 2020 · 17 comments
Closed

TTV Intrusive Ad Blocker original creator. #10

TrashGitYuh opened this issue Dec 31, 2020 · 17 comments

Comments

@TrashGitYuh
Copy link

TrashGitYuh commented Dec 31, 2020

Are you the original creator of TTV Intrusive Ad Blocker? Because someone on Reddit said they made it and ended up getting banned a day later and had their thread deleted which made it suspicious to download. Just curious.

@pixeltris
Copy link
Owner

No, I believe @SRCApps is the original creator as the issue they made was roughly the same time the threads popped up. Though when asked they didn't give a direct answer #7 (comment)

The way in which the extension was released was a little odd (in terms of the postings), and them deleting their reddit account also seems a little odd. However, the extension is easily extractable and doesn't do anything dubious. If you're concerned you could always take the code of the extension and load it as an unpacked extension (download the extension as a file, extract it, load it as an unpacked extension).

It's currently the best method of avoiding all ads, so I see no reason not to use it. I personally use dyn-skip-midroll-alt as it meets my needs without having to call out to a third party. If the ad-skipping method is patched I might move over to an m3u8 proxy.

@ghost
Copy link

ghost commented Dec 31, 2020

I'm the creator of the ad blocker and I deleted the reddit posts. I didn't like the pace at which things were moving. There was a lot of disinformation going on there too. I have uploaded a new version to chrome and firefox that removes the user id that people were worried about and the description will also include the source code (both are being reviewed right now and will be version 3 when done), but I don't want to be back on reddit now thanks. Once was enough lol. If possible, please keep the proxy url private pixeltris, I honestely can't afford the number of requests otherwise and I would have to just disable it. Thanks for understanding.

The source code is https://github.com/ttvintrusiveadblocker/ttv-intrusive-blocker but only when they approve the version 3.0 on both stores.

@pixeltris
Copy link
Owner

pixeltris commented Dec 31, 2020

@ttvintrusiveadblocker thanks for the clarification and I appreciate the removal of the additional parameters. An excellent solution now that I would highly recommend.

I can remove the url from any github issues, but it's difficult to remove it from the code (I could obfuscate it / deobfuscate on script load if you'd like). Similar to the other m3u8 proxy which was removed, I can edit the README in any way you see fit with regard to your extension. I'll actually remove proxy-m3u8 from the recommendations as there's quite a lot of code bloat there, but I'll leave it under the secondary list.

EDIT: I've updated the README. I'll update the proxy url in this code soon. Like I said I'm happy to obfuscate it.

@TrashGitYuh
Copy link
Author

I'm the creator of the ad blocker and I deleted the reddit posts. I didn't like the pace at which things were moving. There was a lot of disinformation going on there too. I have uploaded a new version to chrome and firefox that removes the user id that people were worried about and the description will also include the source code (both are being reviewed right now and will be version 3 when done), but I don't want to be back on reddit now thanks. Once was enough lol. If possible, please keep the proxy url private pixeltris, I honestely can't afford the number of requests otherwise and I would have to just disable it. Thanks for understanding.

The source code is https://github.com/ttvintrusiveadblocker/ttv-intrusive-blocker but only when they approve the version 3.0 on both stores.

No, I believe @SRCApps is the original creator as the issue they made was roughly the same time the threads popped up. Though when asked they didn't give a direct answer #7 (comment)

The way in which the extension was released was a little odd (in terms of the postings), and them deleting their reddit account also seems a little odd. However, the extension is easily extractable and doesn't do anything dubious. If you're concerned you could always take the code of the extension and load it as an unpacked extension (download the extension as a file, extract it, load it as an unpacked extension).

It's currently the best method of avoiding all ads, so I see no reason not to use it. I personally use dyn-skip-midroll-alt as it meets my needs without having to call out to a third party. If the ad-skipping method is patched I might move over to an m3u8 proxy.

Thanks for replying.

@ghost
Copy link

ghost commented Dec 31, 2020

The extension was released yesterday, it has about 1000 downloads, yet it gets over 1+million requests a day. So I'm not sure what is best as I can't afford to keep that up. Once updated and you check the code, I would prefer it if you just recommend people to use the extension and then remove my url from proxy-m3u8, as something doesn't add up. I would have to just constantly switch urls otherwise, which I really don't want to do and worst case, disable it like the previous dev. Thanks for understanding though.

@pixeltris
Copy link
Owner

pixeltris commented Dec 31, 2020

That sounds odd, and as if someone is abusing your service. I'd recommend logging who is requesting what, and block abusers. For some insight about this repo; there are currently about 5000 total views on this page, and 1774 unique visitors (since the repo has been created). If you have a lot of traffic, it definitely isn't coming from anyone using proxy-m3u8 (there's probably only a handful of people considering the url change was very recent).

For the time being I will be updating the code to reflect changes in the url (any service abuser will know where to get the url from anyway). If you provide an open source solution which works as ublock/userscript I will remove all references in this repo, and just link yours.

@ghost
Copy link

ghost commented Dec 31, 2020

Well it's up to you, but I can only afford what I can afford, if it goes over the limit, it gets disabled, nothing I can do about that. Please consider using your own proxy for your script or limiting the url visibility at least.

@pixeltris
Copy link
Owner

I'm fairly sure the majority of people will use your extension directly. Most people aren't technically inclined and have difficulty using scripts. If someone is using proxy-m3u8 it's because they have a strong incentive to do so (i.e. not wanting to install additional extensions). I'll obfuscate the url just in case, but I don't think that's really your issue.

I think the other proxy had 10,000+ active installs on chrome, and several thousand of firefox. So that's something worth considering as it sounds like you'll be looking at 10x (or more) increase in genuine traffic.

@ghost
Copy link

ghost commented Dec 31, 2020

I had a look into it and there is rate limiting in place in case of Ddos, so don't think it's anything like that. Could just be popularity I guess. Thanks for doing that :)

@shaanIQ
Copy link

shaanIQ commented Dec 31, 2020

I am using the proxy URL in a simple flask web server that I have running locally, and my chrome extension just redirects to my local server. I have an additional in-memory cache that stores the response from the proxy server for each streamer. It seems like that M3U is valid for the duration of the stream. This way I am avoiding hitting your server on every stream switch, and of course faster response times. I suggest you set up something similar in your chrome extension's JS to cut down on the amount of requests being made to your server. You'll need to be a bit smarter with managing that cache though (assuming the M3U isn't valid once the stream ends).

Additionally, @ttvintrusiveadblocker are you willing to share (if privately) what you are doing on your server to fetch the m3u8s without ads?

@revunix
Copy link

revunix commented Dec 31, 2020

Additionally, @ttvintrusiveadblocker are you willing to share (if privately) what you are doing on your server to fetch the m3u8s without ads?

I would also be interested and would provide my server as an alternative.

@ghost
Copy link

ghost commented Dec 31, 2020

Thanks for the info, will look into caching, I thought the masterplaylist might of had an expiry on it.

On your second question, as much as I would love to share it, the moment I do, it's game over. It only works, because it's hidden. If it was shown, it could be patched in seconds. That's not to say it's a simple script though.

I mean if you guys can cache the results while using it, that would really help me out.

@pixeltris
Copy link
Owner

pixeltris commented Dec 31, 2020

Caching makes sense, is there a unique stream ID in one of the gql responses that could be used for caching m3u8 files on a per-stream basis? This could be implemented by using local storage in a userscript/ublock scenario, or in memory for extension (or local storage, whatever makes sense).

For a self-hosting alternative technique; people have had success VPNing to countries without ads (host a m3u8 proxy server in such countries). Doesn't Turbo also avoid all ads? You could make your requests through Turbo.

@ghost
Copy link

ghost commented Dec 31, 2020

Please don't forget, they will be watching these comments, even speculating is giving them ways to patch things, but unless they start serving ads to countries that are normally restricted, proxies are the way to go.

@AugusDogus
Copy link

@ttvintrusiveadblocker Would you be willing to open source your implementation of your proxy server? I would love to get the ball rolling on a docker container for this.

Related, is there any documentation that lists which countries currently aren't being served ads?

@revunix
Copy link

revunix commented Dec 31, 2020

Please don't forget, they will be watching these comments,

Yeah, there need this ad money so bad ... absolutely disgusting.

@ghost
Copy link

ghost commented Dec 31, 2020

I'm actually not against advertising in general, it's more that they get the streamers to create the live content and then put ads into their content, disrupting it. Although they do have a license to reproduce and modify the content, as the streamers agreed to it in the tos, I think the streamer should still have the option of controlling exactly how their content is shown to the viewer. This is live streaming so important parts are missed all the time and although they have given the option to remove ads for subs, there is no option for the content creator to remove ads for non-subs or control when they are shown, so they really don't have complete control over the content. If it's pre-recorded, it's a different matter, because it's not intrusive as nothing is missed. Try to think of any other live content where you actually miss parts of it due to ads. Not even live TV does this, they take a pause instead, because they control it.

At the end of the day Twitch's whole business is built on the streamers content and they should respect that more. There are ways for them to allow streamers these controls, but I guess they are just worried they will all just turn ads off and if that's the case, then they really need to start worrying about why they would want to do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants