-
Notifications
You must be signed in to change notification settings - Fork 398
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
[BitChute] Added new Service #325
Conversation
Failing tests are from Soundcloud and MediaCCC. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I quickly looked at it, mostly at code style. I'll soon take a proper look at it.
@@ -49,7 +51,8 @@ private ServiceList() { | |||
YouTube = new YoutubeService(0), | |||
SoundCloud = new SoundcloudService(1), | |||
MediaCCC = new MediaCCCService(2), | |||
PeerTube = new PeertubeService(3) | |||
PeerTube = new PeertubeService(3), | |||
Bitchute = new BitchuteService(4) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change that to 5, Bandcamp (i.e. #232) is going to be 4 already.
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why those 2 empty lines?
Response response = getDownloader().get(BITCHUTE_LINK); | ||
StringBuilder sb = new StringBuilder(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where possible, please make your variables final
.
return headers; | ||
} | ||
|
||
public static String getSubscriberCountForChannelID(String channelID) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't make the D
in ID
a capital (i.e. change to getSubscriberCountForChannelId
) to be consistent with other parts of NPE.
System.out.println("Seeeeeeeeeeee"); | ||
System.out.println(channelID); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove your debug prints
return (new VideoCount(jsonObject.getInt("like_count"), | ||
jsonObject.getInt("dislike_count"), jsonObject.getInt("view_count"))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the ()
around it?
return viewCount; | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
End your files with a newline. I'm going to add a code style checker that enforces it soon (similar to in NewPipe) and add an EditorConfig that should make your IDE do that by default.
|
||
@Override | ||
public ListLinkHandlerFactory getPlaylistLHFactory() { | ||
return null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does BitChute actually not support playlists?
public KioskExtractor createNewKiosk(StreamingService streamingService, String url | ||
, String kioskId) throws ExtractionException { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put the ,
at the previous line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where are the tests?
@wb9688 I forgot to write them. 😅 I will make the changes you recommended and add the tests as soon as possible. This is the first time I am contributing to a big open source project, sorry for any inconveniences caused. |
@wb9688 Oh okay. Please keep me posted. |
I have been thinking a long time about how to deal with BitChute and similar platforms. I am excited every time someone wants to add a new service to NewPipe. This not only allows users to access yet another platform on mobile devices and drags attention to NewPipe from additional user groups, but can also result in increasing a platform's reach. This applies especially to smaller platforms. And with the latter I see a serious problem here. BitChute is a platform for people who can spread right-wing hate, racism and xenophobia, populism and conspiracy theories unhinderedly. Unlike platforms like YouTube or PeerTube, BitChute cannot be used without being immediately confronted with conspiracy theories and lies, white supremacy ideologies, racist ideas, extremism or blunt populism. On BitChute, content creators who have long since been expelled from other platforms due to multiple violations of their guidelines find a place to share their ideologies. We do not know whether it's initially been the platform's intention to host such content, but they certainly permit it, as they don't take action against their users' behavior. Violation of foundational rights cannot be justified by some crude imagination of freedom, that argument doesn't hold. Quoting the German constitution, Art. 2 (1): "Every person shall have the right to free development of his personality insofar as he does not violate the rights of others [...].". The contents violate other people's rights quite obviously and repeatedly. Such a platform shall never receive any attention through our app. NewPipe stands for an open, welcoming, tolerant, friendly and anti-extremist community. For all these reasons, the maintainers have decided that we clearly must reject your pull request. We hope you understand this decision. |
Though I can't deny such content exists on this platform, the reason I wanted Bitchute to be included in NewPipe was that unlike YouTube they don't censor creators or prefer mainstream creators over individuals by shadow banning them. They act as platform and not a publisher. The fact that this platform in new and as a result doesn't have a robust system as YouTube to monitor the content on their website makes it so that some questionable content makes way on their site. But I understand where you guys are coming from, maybe in future if they are able to meet your standards we might see Bitchute on NewPipe. |
@TobiGr >le ebil conspiracy nhatzee strawman |
It turns out that not some of the videos are conspiracy theories or fake news, but most of them are (i.e. more than half of the ones I saw), and they are even advertised on the main page |
It's pretty disgusting that a supposedly free and open project would reject additional functionality on the basis that it provides access to a platform with some content the dev team personally finds objectionable. Most of the people posting content on bitchute previously posted on YouTube. Was this content not objectionable when it was on YouTube? Did it just become objectionable when it was centralized on one platform? With every added month YouTube bans more accounts for more dubious reasoning. Is it the opinion of the newpipe team that YouTube moderators should decide what content I am entitled to view? If bitchute chose to switch to a peer tube api, would the newpipe team work to blacklist it, because it provides access to content they personally find objectionable? What if a large number of peer tube instances themselves became home to this objectionable content? Would the peer tube functionality in its entirety be removed? What is the threshold for objectionable content before it is okay in the minds of the newpipe team to scuttle functionality to prevent access? You claim to support a 'open, welcoming, tolerant, friendly and anti-extremist' and yet you reject pull requests that add the ability to view more content openly. That is not wopen, welcoming, or tolerant, and I would argue, not very friendly. There are any number of extremists on YouTube and peer tube, and yet you do nothing to stop them. It seems to me, then, that your moral objections are lacking in substance. I hope for your sake that free and open source software is never considered extremist or ban worthy on YouTube, or else you might have to consider the consequences of your actions. |
@fullmetal1 make your own fork if you really wish to, nobody is stopping you from doing that. But it would be a huge responsibility for NewPipe's team to add a new officially supported service containing mostly conspiracy theories on an app that is used by children and growing people. Adding an entry in the drawer menu for bitchute would advertise the platform, since people peeking through NewPipe's features would open it and look at its videos. It is very different from supporting any peertube instance: even though there are instances with questionable content, it is up to the user to decide to add one he already knows about: we are not putting it in front of him.
Obviously not, but we do not want to officially provide any (even indirect) support to conspiracy theorists. As said above, if somebody wants to fork NewPipe and create a new version with BitChute support he is free to do it (the licence allows it), but we do not want to officially support a platform mainly devoted to spreading conspiracies.
No, we wouldn't, as it would imply the user already knows about bitchute as to add it manually to the peertube instances. Also, I know there is objectionable content on youtube, too, but again it's up to the user to subscribe to those rare channels (rare, i.e. difficult to find at random). On the other hand, BitChute trending page and probably every search for any keyword contain a handful of objectionable results, so it would not be up to the user to decide whether to see that content or not.
Again, no, since it would be up to the user to look up objectionable peertube instances on the web, we would not be promoting one. If the currently default instance (i.e. Framatube) became questionable, we would change it.
We shall not decide what people should watch, or make it more difficult to watch something based on our thoughts (i.e. by blacklisting it). We are not entitled to "stop them". But we do not want to provide direct support to extremists (by allowing them to gain more popularity and making their videos more accessible), and adding BitChute as an officially supported service would mean exactly that. |
If I forked every piece of FOSS software that made decisions based on political expedience, I'd be spending the rest of eternity merging changes from yesterday.
Why do you accept responsibility for the videos available on platforms visible on your app? As far as I can tell, the trending tab in NewPipe only ever shows youtube recommended content, so even if the user chooses bitchute they would still be required to actually search for the content they're looking for, so I don't understand what the concern of 'direct support' is. Further, from what I understand from yashx, the videos grabbed from bitchute are all marked as age restricted, so the paternalist argument that you're protecting the soft skulled children from extremists and conspiracy theorists doesn't quite add up. I'm happy to hear you say that you won't be adding blacklists for peertube instances.
These statements are mutually exclusive. If you believe that some amount of content on BitChute is objectionable enough that BitChute shouldn't be viewable on your app, then you are making the moral argument that people should not be able to watch BitChute videos on your app, which means that your first statement quoted above is false, in that you do decide what people should watch. If you truly believe that people should be able to watch whatever they want, including all content on BitChute, objectionable or not, then you would have no reason not to pull the change, and so your second statement would be false. Can you help to rectify these contrary statements? |
I agree that p2p federated interactions are probably the way forward, but I think that's another conversation altogether,and not really related to the stated reasons for rejecting the merge. |
This really seems weird in my opinion, adding support for the platform should have nothing to do with the content it allows to host. Check out youtube-dl - they support virtually every video hosting platform out there, INCLUDING BitChute, and they don't care about the content. |
You're missing something there. youtube-dl is a tool you use to download specific content. It doesn't allow you to discover new material. In contrast to that NewPipe would promote BitChute as a first-class citizen of their app and show you the current trending videos, and anything else from their platform as soon as you selected it in the menu. I personally just went to BitChute's main page and could count at my hand the amount of videos that weren't obviously conspiracy theories or otherwise extremeist material. I do agree with the NewPipe team that they do have more responsibility than e.g. the yotubue-dl team because NewPipe is an alternative client for YT (and other platforms) instead of a tool to selectively access media. There's a stark contrast between giving you the ability to consciously access specific content you selected yourself and being exposed to an unfiltered stream of stuff. |
Okay now try again with age restricted content turned off, as is the default in newpipe. |
Youtube has more "extremist" videos than another platform combined. The only difference is that it is heavily moderated these days. There is nothing "open", "welcoming", "tolerant", or "friendly" about having Newpipe explicitly ban other competing video platforms. There is a way to add these services to Newpipe without making them default. Allow users to add the URL themselves to enable Newpipe to browse those sites. That way, only advanced users that know how to add support for those sites can do so, while the average user just uses Newpipe for Youtube.
You can only expose yourself to an "unfiltered stream of stuff" if you want to. The devs could easily add support for Youtube-competitors and then allow advanced users to manually add support for the sites they want to browse. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Anyone have a compiled version of this app with enough freedom to extract videos from Bitchute and BraveNewPipe? While I appreciate the good intentions under which this issue was closed it's not up to a coder to make a political decision—that would be absurd. And with so much anti-establishment content Re: COVID being purged from YouTube, whether nefariously in support of pharma or due to bogus DCMA requests, it's becoming more and more important we seek out content like the 1996 Kary Mullis interview with Gary Null—content which is seeing rotting links or an ought right ban on PooTube. I like NewPipe. And I look forward to using its forks if it won't be easy for me to download and preserve content wherever it may be. I'm with @PopeNobody on this matter. It's up to people individually to sort out truth from falsehood and good from bad. As we know all technology can be used for both good and evil. |
NewPipe app crashes when setting up tab icons for new Services. I tested the app by commenting that line out.
Closes #320