From daba78a93101f12df58817d05b7c438efa764cf7 Mon Sep 17 00:00:00 2001 From: "F. Duncanh" Date: Tue, 5 Sep 2023 16:25:03 -0400 Subject: [PATCH] update README for new options -restrict, etc. --- README.html | 33 ++++++++++++++++++++++++++++----- README.md | 24 +++++++++++++++++++++--- README.txt | 32 ++++++++++++++++++++++++++++---- 3 files changed, 77 insertions(+), 12 deletions(-) diff --git a/README.html b/README.html index 44434b2..c3c68b3 100644 --- a/README.html +++ b/README.html @@ -1,6 +1,6 @@

UxPlay -1.65: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix +id="uxplay-1.66-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-now-also-runs-on-windows.">UxPlay +1.66: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows).

Now @@ -124,7 +124,7 @@ and here; see also pyatv which could be a resource for adding modern protocols.) While there is no guarantee that future iOS releases will keep supporting “Legacy -Protocol”, the recent iOS 16 release continues support.

+Protocol”, iOS 17 continues support.

The UxPlay server and its client must be on the same local area network, on which a Bonjour/Zeroconf mDNS/DNS-SD server is also running (only DNS-SD “Service Discovery” service is strictly @@ -441,8 +441,11 @@ other problems.

  • By default, UxPlay is locked to its current client until that client drops the connection; since UxPlay-1.58, the option -nohold modifies this behavior so that when a new client -requests a connection, it removes the current client and takes -over.

  • +requests a connection, it removes the current client and takes over. +UxPlay 1.66 introduces a mechanism ( -restrict, +-allow <id>, -block <id>) to +control which clients are allowed to connect, using their immutable +“clientID”.

  • In Mirror mode, GStreamer has a choice of two methods to play video with its accompanying audio: prior to UxPlay-1.64, the video and audio streams were both played as soon as possible after @@ -1013,6 +1016,23 @@ when the GStreamer pipeline is closed.

    -nohold Drops the current connection when a new client attempts to connect. Without this option, the current client maintains exclusive ownership of UxPlay until it disconnects.

    +

    -restrict Restrict clients allowed to connect to +those specified by -allow <clientID>. The ClientID is +the true MAC address (in iOS it is listed in Settings->General->Wi +Fi Address), which is displayed by UxPlay when the client attempts to +connect. It has the format XX:XX:XX:XX:XX:XX, X = +0-9,A-F.

    +

    -restrict no Remove restrictions (default). This is +useful as a command-line argument to overide restrictions set in the +Startup file.

    +

    -allow id Adds the clientID = id +to the list of allowed clients when client restrictions are being +enforced. Usually this will be an entry in the uxplayrc startup +file.

    +

    -block id Always block clients with +clientID = id, even when client restrictions are not being +enforced generally. Usually this will be an entry in the uxplayrc +startup file.

    -FPSdata Turns on monitoring of regular reports about video streaming performance that are sent by the client. These will be displayed in the terminal window if this option is used. The @@ -1366,6 +1386,9 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be.

    Changelog

    +

    1.66 2023-09-05 Fix IPV6 support. Add option to restrict clients to +those on a list of allowed clientIDs, or to block connections from +clients on a list of blocked clientIDs.

    1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer libav feature “avdec_aac” is missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent or diff --git a/README.md b/README.md index 5458c4f..d49bfc5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# UxPlay 1.65: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). +# UxPlay 1.66: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). ### Now developed at the GitHub site [https://github.com/FDH2/UxPlay](https://github.com/FDH2/UxPlay) (where all user issues should be posted). @@ -86,7 +86,7 @@ Apple's AirPlay2 protocol using "Legacy Protocol", but some features are missing [here](https://github.com/SteeBono/airplayreceiver/wiki/AirPlay2-Protocol) and [here](https://emanuelecozzi.net/docs/airplay2); see also [pyatv](https://pyatv.dev/documentation/protocols) which could be a resource for adding modern protocols.) While there is no guarantee that future -iOS releases will keep supporting "Legacy Protocol", the recent iOS 16 release continues support. +iOS releases will keep supporting "Legacy Protocol", iOS 17 continues support. The UxPlay server and its client must be on the same local area network, on which a **Bonjour/Zeroconf mDNS/DNS-SD server** is also running @@ -361,7 +361,9 @@ help with this or other problems. * By default, UxPlay is locked to its current client until that client drops the connection; since UxPlay-1.58, the option `-nohold` modifies this -behavior so that when a new client requests a connection, it removes the current client and takes over. +behavior so that when a new client requests a connection, it removes the current client and takes over. UxPlay 1.66 introduces +a mechanism ( `-restrict`, ``-allow ``, ```-block ```) to control which clients are allowed to connect, using their +immutable "clientID". * In Mirror mode, GStreamer has a choice of **two** methods to play video with its accompanying audio: prior to UxPlay-1.64, the video and audio streams were both played as soon as possible after they arrived (the GStreamer "_sync=false_" method), with @@ -808,6 +810,19 @@ which will not work if a firewall is running. **-nohold** Drops the current connection when a new client attempts to connect. Without this option, the current client maintains exclusive ownership of UxPlay until it disconnects. +**-restrict** Restrict clients allowed to connect to those specified by `-allow `. The ClientID is the + true MAC address (in iOS it is listed in Settings->General->Wi Fi Address), which is displayed by UxPlay when + the client attempts to connect. It has the format `XX:XX:XX:XX:XX:XX`, X = 0-9,A-F. + +**-restrict no** Remove restrictions (default). This is useful as a command-line argument to overide restrictions set + in the Startup file. + +**-allow _id_** Adds the clientID = _id_ to the list of allowed clients when client restrictions + are being enforced. Usually this will be an entry in the uxplayrc startup file. + +**-block _id_** Always block clients with clientID = _id_, even when client restrictions are not + being enforced generally. Usually this will be an entry in the uxplayrc startup file. + **-FPSdata** Turns on monitoring of regular reports about video streaming performance that are sent by the client. These will be displayed in the terminal window if this option is used. The data is updated by the client at 1 second intervals. @@ -1084,6 +1099,9 @@ tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be. # Changelog +1.66 2023-09-05 Fix IPV6 support. Add option to restrict clients to those on a list of allowed clientIDs, + or to block connections from clients on a list of blocked clientIDs. + 1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer libav feature "avdec_aac" is missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent or License reasons, and rely on users installing an externally-supplied complete FFmpeg). diff --git a/README.txt b/README.txt index e661d6e..3f58c98 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -# UxPlay 1.65: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). +# UxPlay 1.66: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix (now also runs on Windows). ### Now developed at the GitHub site (where all user issues should be posted). @@ -119,8 +119,8 @@ is publicly known about Apple's AirPlay 2 protocol can be found and [here](https://emanuelecozzi.net/docs/airplay2); see also [pyatv](https://pyatv.dev/documentation/protocols) which could be a resource for adding modern protocols.) While there is no guarantee that -future iOS releases will keep supporting "Legacy Protocol", the recent -iOS 16 release continues support. +future iOS releases will keep supporting "Legacy Protocol", iOS 17 +continues support. The UxPlay server and its client must be on the same local area network, on which a **Bonjour/Zeroconf mDNS/DNS-SD server** is also running (only @@ -433,7 +433,10 @@ below for help with this or other problems. - By default, UxPlay is locked to its current client until that client drops the connection; since UxPlay-1.58, the option `-nohold` modifies this behavior so that when a new client requests a - connection, it removes the current client and takes over. + connection, it removes the current client and takes over. UxPlay + 1.66 introduces a mechanism ( `-restrict`, `-allow `, + `-block `) to control which clients are allowed to connect, + using their immutable "clientID". - In Mirror mode, GStreamer has a choice of **two** methods to play video with its accompanying audio: prior to UxPlay-1.64, the video @@ -1026,6 +1029,23 @@ closed.* connect. Without this option, the current client maintains exclusive ownership of UxPlay until it disconnects. +**-restrict** Restrict clients allowed to connect to those specified by +`-allow `. The ClientID is the true MAC address (in iOS it is +listed in Settings-\>General-\>Wi Fi Address), which is displayed by +UxPlay when the client attempts to connect. It has the format +`XX:XX:XX:XX:XX:XX`, X = 0-9,A-F. + +**-restrict no** Remove restrictions (default). This is useful as a +command-line argument to overide restrictions set in the Startup file. + +**-allow *id*** Adds the clientID = *id* to the list of allowed clients +when client restrictions are being enforced. Usually this will be an +entry in the uxplayrc startup file. + +**-block *id*** Always block clients with clientID = *id*, even when +client restrictions are not being enforced generally. Usually this will +be an entry in the uxplayrc startup file. + **-FPSdata** Turns on monitoring of regular reports about video streaming performance that are sent by the client. These will be displayed in the terminal window if this option is used. The data is @@ -1396,6 +1416,10 @@ what UxPlay claims to be. # Changelog +1.66 2023-09-05 Fix IPV6 support. Add option to restrict clients to +those on a list of allowed clientIDs, or to block connections from +clients on a list of blocked clientIDs. + 1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer libav feature "avdec_aac" is missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent or License