Repository: streamlink/streamlink

Issue:
Vaughnlive changed IP's to break Streamlink
This will be a very brief bug report... As of tonight the head vaughnlive.py references IPs which were disconnected by vaughn to thwart streamlinking. I've observed vaughn serving video now from "66.90.93.44","66.90.93.35" and have personally gotten it to work overwriting the IP's in rtmp_server_map with those two alternating. I would submit the commit but I think some more testing is needed as I only use streamlink with one occasional stream and don't know how far those IPs will get more frequent SL users.

 #1187 contains lengthy discussion on the history of the war vaughn has waged against streamlink, this is probably not the last time the IPs will change.


Discussion:
The question at this point is whether it's really worth maintaining the plugin. 99% of the content on Vaughn is stolen, so is it worth continuing? If someone wants to tackle it they can (I know @beardypig has been heading this up in the past) but I really don't care to keep wasting time on this site or a variety of others that are restreaming illegally.
@jshir These changes aren't made with the intention to break Streamlink. They are part of the ongoing migration to a HTML5-based player.

@gravyboat Why do you say it's stolen content? Most streams on the site's several subdomains are casts from personal cams. The casters send their streams directly to the vaughnlive servers. There are actually a bunch of other sites stealing streams from vaughnlive through unauthorized embeds.

The streaming server IPs have been changing frequently over the past few days. Currently, there is only one active server. Setting all entries in the `rtmp_server_map` to `66.90.93.36:1935` will resolve the issue until the next change, which could happen at any moment.
@fadster Last time I checked out the site there were a lot of restreams of news stations, cable broadcasts, sports events, etc. Maybe it has changed since then.
Is it possible to automate retrieving of rtmp server address ?
@karlo2105 it should be. Seems like it could be retrieved on demand once, and only attempt another check if unable to contact again. I might fork and see what I can come up with.
I think it's easier to get vaughnlive now than before.
Any update on this?
@johnpolite I've removed your comment as it refers to a direct way to watch stolen content and I don't want us to potentially get in trouble. In addition you should report this to the vaughnlive site owner so they can suspend that user for an illegal restream. Thanks for trying to help people though!
Who knows what is legal or illegal on the internet?

Less spreading of fake news - Fox News, is not a bad idea though.
@johnpolite  how to check ips? tks pls help me

@jshir  Tks . Can u give me file Vaughn.py ? thank so much
Is this still broken?
@thinkpad4 Probably. No one has updated the plugin as far as I'm aware. 
Damn.  Ok, thanks
Did the server map change?

It looks like the new IP could be 66.90.93.42, but I'm still getting time outs. So maybe I'm missing the port?
192.240.105.171:1935 is working for me now.
@TVGPlayer  Right on! Thanks man!

EDIT: Okay I give up. How did you find that? I'm looking everywhere and getting no where.
@techmouse Email me at bikiniscout@yahoo.com.

Resolving patch:
diff --git a/src/streamlink/plugins/vaughnlive.py b/src/streamlink/plugins/vaughnlive.py
--- a/src/streamlink/plugins/vaughnlive.py
+++ b/src/streamlink/plugins/vaughnlive.py
@@ -38,10 +38,10 @@ class VaughnLive(Plugin):
                                                                                                    range(1, 6))]
     origin = "https://vaughnlive.tv"
     rtmp_server_map = {
-        "594140c69edad": "66.90.93.42",
-        "585c4cab1bef1": "66.90.93.34",
-        "5940d648b3929": "66.90.93.42",
-        "5941854b39bc4": "198.255.0.10"
+        "594140c69edad": "192.240.105.171:1935",
+        "585c4cab1bef1": "192.240.105.171:1935",
+        "5940d648b3929": "192.240.105.171:1935",
+        "5941854b39bc4": "192.240.105.171:1935"
     }
     name_remap = {"#vl": "live", "#btv": "btv", "#pt": "pt", "#igb": "instagib", "#vtv": "vtv"}
     domain_map = {"vaughnlive": "#vl", "breakers": "#btv", "instagib": "#igb", "vapers": "#vtv", "pearltime": "#pt"}
@@ -99,6 +99,7 @@ def _get_streams(self):
             if not is_live:
                 self.logger.info("Stream is currently off air")
             else:
+                self.logger.info("Stream powered by VaughnSoft - remember to support them.")
                 for s in self._get_rtmp_streams(server, domain, channel, token):
                     yield s
 


Test patch: