If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: github.com/philippe44/AirConnect - GitHub - philippe44/AirConnect.

site address: github.com/philippe44/AirConnect

site title: GitHub - philippe44/AirConnect: Use AirPlay to str...

Our opinion (on Sunday 19 July 2026 10:12:27 UTC):

website (probably) only for adults * website (probably) only for adults ! YELLOW status (not for everyone) - not for everyone
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Use AirPlay to stream to UPnP/Sonos & Chromecast devices - philippe44/AirConnect;

Headings (most frequently used words):

uh, oh, navigation, and, start, automatically, saved, searches, airconnect, to, upnp, sonos, files, parameters, in, tips, http, source, footer, search, code, repositories, users, issues, pull, requests, provide, feedback, philippe44, send, audio, chromecast, players, using, airplay, menu, use, filter, your, results, more, quickly, folders, latest, commit, history, repository, installing, running, common, information, config, file, linux, macos, credits, aiwipro, under, windows, synology, installation, player, specific, hints, misc, specificities, delay, when, switching, track, or, latency, explained, compiling, from, about, releases, 55, packages, contributors, languages, content, length, transfer, modes, topics, resources, license, stars, watchers, forks, bose, soundtouch, pioneer, phorus, play, fi,

Text of the page (most frequently used words):
the (211), and (89), that (58), for (58), not (46), audio (45), use (43), http (40), you (39), upnp (39), will (38), this (36), can (35), #player (32), #players (32), when (32), sonos (31), airplay (30), airconnect (29), rtp (25), file (25), airupnp (24), but (24), your (22), there (20), all (20), set (20), chromecast (19), using (19), default (19), have (18), start (18), with (17), frames (17), command (16), some (16), are (16), source (15), might (15), version (15), service (15), string (15), time (14), delay (14), then (14), has (14), does (14), see (13), from (13), length (13), macos (13), github (12), received (12), support (12), port (12), name (12), bridge (11), build (11), code (11), line (11), iphone (11), silence (11), where (11), only (11), key (11), content (11), security (10), one (10), they (10), parameter (10), network (10), flush (10), new (10), aircast (10), view (9), devices (9), work (9), example (9), frame (9), connection (9), stop (9), immediately (9), play (9), latency (9), application (9), same (9), config (9), executable (9), while (8), please (8), more (8), buffer (8), sent (8), any (8), create (8), open (8), mode (8), mp3 (8), lib (8), reload (7), stream (7), option (7), need (7), get (7), here (7), windows (7), send (7), available (7), playback (7), device (7), these (7), encoding (7), flac (7), common (7), install (7), below (7), don (6), com (6), playing (6), cannot (6), client (6), request (6), made (6), data (6), note (6), than (6), before (6), large (6), most (6), other (6), issue (6), between (6), track (6), like (6), change (6), section (6), case (6), static (6), libraries (6), after (6), volume (6), value (6), window (6), linux (6), cpu (6), search (6), local (6), openssl (6), enterprise (6), navigation (5), page (5), license (5), readme (5), adding (5), philippe44 (5), built (5), platform (5), native (5), many (5), video (5), speakers (5), close (5), last (5), every (5), congestion (5), real (5), format (5), ios (5), seconds (5), simply (5), needed (5), works (5), try (5), range (5), add (5), http_length (5), must (5), run (5), each (5), path (5), xml (5), plist (5), ports (5), aac (5), usr (5), community (4), was (4), error (4), loading (4), repository (4), dlna (4), just (4), otherwise (4), script (4), used (4), exact (4), control (4), speaker (4), protocol (4), allow (4), continuous (4), receive (4), sending (4), binary (4), non (4), which (4), being (4), pull (4), parameters (4), understand (4), should (4), chunked (4), another (4), directory (4), system (4), users (4), tips (4), master (4), group (4), now (4), appear (4), automatically (4), log (4), type (4), sudo (4), enable (4), also (4), interactive (4), solutions (4), them (4), files (4), dylib (4), zip (4), issues (4), stars (3), resources (3), topics (3), make (3), commits (3), update (3), how (3), cmd (3), played (3), because (3), public (3), almost (3), still (3), missing (3), restart (3), once (3), into (3), normally (3), again (3), exit (3), possible (3), lost (3), happens (3), burst (3), delays (3), its (3), response (3), creates (3), clock (3), without (3), self (3), switch (3), pause (3), chunk (3), first (3), very (3), adds (3), expect (3), wire (3), applications (3), why (3), want (3), size (3), message (3), lots (3), quality (3), fails (3), load (3), app (3), libstdc (3), avahi (3), best (3), codec (3), out (3), bose (3), soundtouch (3), click (3), stored (3), user (3), true (3), library (3), above (3), configuration (3), systemd (3), following (3), disable (3), target (3), var (3), arm (3), 1000 (3), 2000 (3), count (3), maximum (3), recommended (3), pcm (3), 1152 (3), artwork (3), metadata (3), buffering (3), force (3), advanced (3), opt (3), changelog (3), commit (3), insights (3), requests (3), signed (3), settings (3), tab (3), refresh (3), session (3), sign (3), saved (3), documentation (3), feedback (3), grade (3), features (3), copilot (3), explore (3), information (2), manage (2), status (2), footer (2), 2026 (2), makefile (2), releases (2), latest (2), forks (2), 247 (2), about (2), speed (2), lot (2), clone (2), probably (2), git (2), init (2), pre (2), binaries (2), know (2), bash (2), able (2), directly (2), look (2), way (2), computer (2), ipad (2), mac (2), amount (2), advance (2), usually (2), although (2), synchronization (2), sometimes (2), inserted (2), soon (2), been (2), server (2), necessary (2), buffers (2), 500 (2), ones (2), numbered (2), forward (2), decoded (2), raw (2), were (2), transmitted (2), sets (2), long (2), shall (2), two (2), obviously (2), lack (2), notion (2), sequentially (2), udp (2), means (2), often (2), networks (2), detection (2), certain (2), beginning (2), further (2), transmission (2), initial (2), portion (2), enough (2), handle (2), flow (2), such (2), comes (2), 8ms (2), body (2), starts (2), shuttering (2), controller (2), exist (2), side (2), clients (2), explained (2), unfortunately (2), nothing (2), identify (2), addition (2), produced (2), additional (2), later (2), tracks (2), stops (2), until (2), few (2), consume (2), byte (2), quickly (2), creating (2), act (2), virtual (2), instead (2), fact (2), looking (2), pipe (2), plays (2), deal (2), second (2), what (2), through (2), existing (2), better (2), read (2), next (2), trying (2), header (2), worse (2), who (2), effect (2), standard (2), clear (2), optional (2), stacks (2), main (2), provide (2), transfer (2), anything (2), grab (2), mdns (2), 5353 (2), etc (2), skipping (2), seems (2), problem (2), cases (2), noflush (2), https (2), www (2), misc (2), found (2), well (2), including (2), address (2), 192 (2), review (2), under (2), volumes (2), individual (2), created (2), specific (2), installation (2), launch (2), tools (2), xxx (2), apple (2), dtd (2), dict (2), array (2), docker (2), thanks (2), systemctl (2), manually (2), online (2), uses (2), bitrate (2), 128 (2), 16384 (2), wav (2), factor (2), commands (2), icy (2), enables (2), too (2), drift (2), tweaking (2), except (2), apply (2), synchronized (2), details (2), freebsd (2), solaris (2), disables (2), interface (2), listen (2), 49152 (2), card (2), rate (2), changes (2), save (2), normal (2), machines (2), messages (2), itunes (2), airfoil (2), typing (2), machine (2), options (2), terminal (2), chmod (2), aarch64 (2), libcrypto (2), libssl (2), links (2), arm64 (2), x86_64 (2), x86 (2), updater (2), buildall (2), gitmodules (2), gitignore (2), gitattributes (2), 686 (2), actions (2), menu (2), projects (2), discussions (2), appearance (2), cancel (2), searches (2), repositories (2), business (2), developer (2), customer (2), services (2), devops (2), perform, action, share, personal, cookies, contact, docs, privacy, terms, inc, batchfile, shell, languages, contributors, packages, jun, report, watching, watchers, activity, doing, clonings, shallow, depth, submodule, rebuild, apps, general, oriented, intended, cross, call, compiler, sure, compiling, asked, synchronisation, tablet, youtube, due, bridging, done, controlled, achieve, known, sec, output, timing, maintains, relay, their, lucky, match, reproductible, stable, over, during, ensure, unlikely, though, interrupted, anyway, empty, resumes, less, potentially, transformed, receives, resent, hold, waiting, nice, held, larger, forwards, numbers, guarantee, delivery, wifi, consecutive, requested, receiver, artificial, hide, happen, expects, rest, regulated, tcp, forwarded, continuation, 1st, sample, expecting, follow, delaying, starve, bridges, realtime, synchronous, asynchronous, words, push, avoid, increase, depending, difference, say, faster, 300s, 5mins, 297s, moves, sources, sends, consumed, counting, come, likely, occurs, stutter, solves, establishing, permanent, wait, buffered, even, wires, whole, retrieve, functions, function, seen, recent, versions, anymore, decide, could, big, nowadays, closing, pushes, previous, thing, stopping, pausing, pushing, paragraph, won, quick, summary, far, sender, concerned, established, analogue, question, times, hear, switching, randomly, accessible, searchable, 128kb, smart, guess, keep, recently, bytes, resend, always, ask, 200, full, tried, accept, makes, things, claim, resort, fake, around, hours, http_header, fallback, omitted, possibility, divided, chunks, variable, unknown, claims, explicitely, poor, itself, poorly, defined, certified, difficulty, streamed, infinite, coming, modes, specificities, complaining, glibcxx_3, provided, copy, right, symlink, trick, messing, ld_library_path, origin, older, distributions, exclusive, preventing, respond, queries, daemon, conf, disallow, causes, workaround, ignore, delayed, unify, broadcasting, finding, guide, somebody, fixes, his, neilgrogan, ubnt, disappear, regularly, router, filtering, multicast, packets, asus, rt68u, login, ssh, echo, sys, class, net, br0, multicast_snooping, stay, reboot, pioneer, phorus, synchonisation, grouping, ungrouping, level, slave, did, chpusch, pick, identified, visit, browser, identifiers, column, uuid, zone, 168, 126, 1400, changing, changed, respect, relative, values, perfect, stil, test, reset, move, cursor, others, removed, already, detected, split, hints, maitaining, package, automatic, syno, eizedev, synology, utf, doctype, dtds, propertylist, label, programarguments, runatload, launchonlyonce, keepalive, launchagents, credits, aiwipro, container, follows, 1activegeek, custom, cleaning, cactus, rpi, lite, boot, cmdline, txt, bin, journalctl, unit, description, wants, execstart, failure, restartsec, wantedby, multi, assuming, limits, limit, log_limit, max_players, global, 320kb, blocksize, reduced, lower, 320, 4096, applies, scaling, hardware, media_volume, url, displayed, codecs, supports, upnp_max, discovered, dedicated, enabled, dropping, producion, fast, slow, bad, normaly, 500ms, negative, silent, restarts, overload, choice, regardless, tickets, requesting, noise, heard, timings, adjusted, adjustements, cause, overrun, underrun, playbacks, daemonize, method, disabling, tty, daemonizes, pid, followed, tweak, fixed, dummy, specify, reported, ifconfig, ipconfig, iface, searched, ethernet, bind, authorized, explanation, groups, supported, media, reference, generated, scan, 30s, prev, paused, started, typed, prompt, current, named, includes, inside, dependence, 3rd, party, shared, ssl, especially, old, systems, linkage, blessing, curse, reasons, scope, pretty, technical, help, terminates, relaunch, background, startup, else, required, screen, heos, double, running, host, webserver, nat, runs, ter, faserf, extra, discovery, upnp_socket, permanently, rtsp, random, firewall, directories, permissions, store, microsoft, redistributable, dlls, put, exe, least, number, brew, really, unless, regular, steps, dynamic, intel, downloaded, unzip, select, wget, githubusercontent, installing, alac, plain, encoded, display, artist, title, album, access, sparc, mips, powerpc, raspberry, detect, proxy, capabilities, items, history, date, folders, tags, branches, star, fork, notification, notifications, dismiss, alert, switched, accounts, resetting, focus, qualifiers, our, query, filter, results, submit, include, email, contacted, piece, take, input, seriously, syntax, jump, pricing, premium, ons, powered, collections, trending, archive, program, accelerator, maintainer, lab, programs, fund, developers, sponsors, partners, trust, center, forum, skills, ebooks, reports, events, webinars, stories, software, development, topic, industries, government, manufacturing, financial, healthcare, industry, devsecops, modernization, nonprofits, startups, small, medium, teams, enterprises, company, marketplace, blog, leaks, secret, protection, secure, find, fix, vulnerabilities, plan, instant, dev, environments, codespaces, automate, workflow, workflows, integrate, external, mcp, registry, direct, agents, merge, write, creation, toggle, skip,


Text of the page (random words):
any startup script or a linux service as explained below nothing else should be required no library or anything to install for each platform there is a normal and a static version this one includes all libraries directly inside the application so normally there is no dependence to 3rd party shared libraries including ssl you can try it if the normal fails to load especially on old systems but static linkage is a blessing a curse exact reasons out of scope of this readme now if the static version still does not work there are other solutions that are pretty technical see here best is that you open an issue if you want help with that common information use h for command line details when started in interactive mode w o z or z option a few commands can be typed at the prompt exit save file save the current configuration in file named name volume changes made in native control applications are synchronized with airplay client pause stop next prev using native control application are sent to airplay client once paused native play will not work re scan for new lost players happens every 30s a config file default config xml can be created for advanced tweaking a reference version can be generated using the i file command line chromecast groups are supported use v to set the media volume factor for all devices 0 5 by default use c mp3 rate aac rate flac 0 9 1152 16384 wav pcm to set codec use for re encoding audio see below for more explanation when you have more than one ethernet card you case use b ip to set what card to bind to note that 0 0 0 0 is not authorized use u version to set the maximum upnp searched version use b ip iface port to set network interface ip or interface name as reported by ifconfig ipconfig to use and for airupnp only upnp port to listen to must be above the default 49152 use a port count to specify a port range default count is 128 sets rtp and http ports use g 3 1 0 to tweak http transfer mode where 3 chunked 1 no content length and 0 fixed dummy length see http content length below use n format to change the default name of airplay players the player name followed by by default it s a c string format where s is the player s name so default is s use of z disables interactive mode no tty and self daemonizes use p file to get the pid use of z only disables interactive mode do not daemonize using or any other method the executable w o disabling interactive mode z otherwise it will consume all cpu on linux freebsd and solaris best is to use z note that z option is not available on macos or windows a click noise can be heard when timings are adjusted by adding or skipping one 8ms frame use r to disable such adjustements or use drift option in config file but that might cause overrun or underrun on long playbacks this is an audio only application do not expect to play a video on your device and have the audio from upnp sonos or chromecast synchronized it does not cannot and will not work regardless of any latency parameter please do not open tickets requesting this see details below to understand why config file parameters the default configuration file is config xml stored in the same directory as the executable each of parameters below can be set in the common section to apply to all devices it can also be set in any device section to apply only to a specific device and overload the value set in common use the x config command line option to use a config file of your choice latency rtp http f default 0 0 buffering tweaking needed when audio is shuttering or for bad networks delay playback start rtp ms of buffering of rtp airplay audio below 500ms is not recommended 0 use value from airplay a negative value force sending of silence frames when no airplay audio has been received after rtp ms to force a continuous stream if not the upnp cc player will be not receive audio and some might close the connection after a while although most players will simply be silent until stream restarts this shall not be necessary in most of the case http ms of buffering silence for http audio not needed normaly except for sonos f when network congestion happens source frames will not be received at all set this parameter to force sending silence frame then otherwise no http data will be sent and player might close the connection drift 0 1 enable adding or dropping a frame when case source frames producion is too fast or too slow enabled 0 1 in common section enables new discovered players by default in a dedicated section enables the player name the name that will appear for the device in airplay you can change the default name upnp_max set the maximum upnp version use to search players default 1 http_length same as g command line parameter metadata 0 1 send metadata to player only for mp3 and aac codecs and if player supports icy protocol artwork an url to an artwork to be displayed on player flush 0 1 default 1 set airplay flush commands response see also noflush in misc tips section media_volume 0 1 default 0 5 applies a scaling factor to device s hardware volume chromecast only codec mp3 bitrate 192 aac bitrate 128 flac 0 9 5 1152 16384 4096 wav pcm format used to send http audio flac is recommended but uses more cpu pcm only available for upnp for example mp3 320 for 320kb s mp3 encoding flac s second parameter is blocksize that can be reduced to 1152 for lower latency these are the global parameters max_players set the maximum of players default 32 log_limit 1 n default 1 when using log file limits its size to n mb 1 no limit ports port count set port range to use see a start automatically in linux create a file in etc systemd system e g airupnp service with the following content assuming the airupnp binary is in var lib airconnect unit description airupnp bridge after network online target wants network online target service execstart var lib airconnect airupnp linux arm l 1000 2000 z x var lib airconnect airupnp xml restart on failure restartsec 30 install wantedby multi user target enable the service sudo systemctl enable airupnp service start the service sudo service airupnp start to start or stop the service manually type sudo service airupnp start stop in a command line window to disable the service type sudo systemctl disable airupnp service to view the log journalctl u airupnp service on rpi lite add the following to the boot cmdline txt init bin systemd obviously from the above example only use x if you want a custom configuration thanks cactus for systemd cleaning 1activegeek has made a docker container here that follows the update of this repository thanks start automatically in macos credits aiwipro create the file com aircast bridge plist in library launchagents xml version 1 0 encoding utf 8 doctype plist public apple dtd plist 1 0 en http www apple com dtds propertylist 1 0 dtd plist version 1 0 dict key label key string com aircast bridge string key programarguments key array string path aircast macos string string z string string x string string path aircast xml string string f string string path aircast log string array key runatload key true key launchonlyonce key true key keepalive key true dict plist where path is the path where you ve stored the aircast executable without the it can be for example users xxx airconnect where xxx is your user name start automatically under windows there are many tools that allow an application to be run as a service you can try this one synology installation eizedev is now maitaining a package for automatic installation launch of airupnp on syno s here player specific hints and tips sonos the upnp version is often used with sonos players when a sonos group is created only the master of that group will appear as an airplay player and others will be removed if they were already detected if the group is later split then individual players will re appear when changing volume of a group each player s volume is changed trying to respect the relative values it s not perfect and stil under test now to reset all volumes to the same value simply move the cursor to 0 and then to the new value all players will have the same volume then you need to use the sonos application to change individual volumes to identify your sonos players pick an identified ip address and visit the sonos status page in your browser like http 192 168 1 126 1400 support review click zone players and you will see the identifiers for your players in the uuid column bose soundtouch chpusch has found that bose soundtouch work well including synchonisation as for sonos you need to use bose s native application for grouping ungrouping i don t have a soundtouch system so i cannot do the level of slave master detection i did for sonos pioneer phorus play fi some of these speakers only support mp3 misc tips when players disappear regularly it might be that your router is filtering out multicast packets for example for a asus ac rt68u you have to login by ssh and run echo 0 sys class net br0 bridge multicast_snooping but it does not stay after a reboot lots of users seems to have problem with unify and broadcasting finding players here is a guide https www neilgrogan com ubnt sonos made by somebody who fixes the issue for his sonos some airplay controller send a flush and immediately start sending new audio when skipping track this causes airconnect to issue a stop and almost immediately a play command which seems to be a problem for certain players sonos in some cases a possible workaround is to ignore flush request see config file or use noflush on the command line but this has side effect on pause as silence frames are sent at best restart is delayed and worse case it might not work with some codec flac some older avahi distributions grab the port mdns port 5353 for exclusive use preventing airconnect to respond to queries please set disallow other stacks no in etc avahi avahi daemon conf if the non static version fails to load complaining that glibcxx_3 4 29 is missing please have a look there and use the existing libraries i ve provided in that repository you can simply copy the right libstdc so 6 0 29 in the directory where airconnect is and create symlink for libstdc so and libstdc so 6 then use the ld_library_path origin app trick it will work without messing anything in your system http upnp specificities http content length and transfer modes lots of upnp player have very poor quality http and upnp stacks in addition of upnp itself being a poorly defined certified standard one of the main difficulty comes from the fact that airconnect cannot provide the length of the file being streamed as the source is an infinite real time rtp flow coming from the airplay source the http standard is clear that the content length header is optional and can be omitted when server does not know the size of the source if the client is http 1 1 there is another possibility which is to use chunked mode where the body of the message is divided into chunks of variable length this is explicitely made for case of unknown source length and an http client that claims to support 1 1 must support chunked encoding the default mode of airupnp is no content length http_length 1 but unfortunately some players can t deal with that you can then try chunked encoding http_length 3 but some players who claim to be http 1 1 do not support it there is a last resort option to add a large fake content length http_length 0 it is set to 2 31 1 so around 5 hours of playback with flac re encoding note that if player is http 1 0 and http_header is set to 3 airupnp will fallback no content length the command line option g has the same effect that http_length in the common section of a config file this might still not work as some players do not understand that the source is not a randomly accessible searchable file and want to get the first e g 128kb to try to do some smart guess on the length close the connection re open it from the beginning and expect to have the same content i m trying to keep a buffer of last recently sent bytes to be able to resend it but that does not always works normally players should understand that when they ask for a range and the response is 200 full content it means the source does not support range request but some don t i ve tried to add a header accept no range but that makes things worse most of the time delay when switching track or source i ve received that question many times why is there sometimes many seconds of delay when i switch track or source from my iphone before i hear the change to understand it s better that you read the next paragraph but as you probably won t here is a quick summary of how airplay works as far as the sender e g your iphone is concerned once the connection with an airplay speaker is established this connection is almost like a analogue wire with a delay buffer of 1 or 2 seconds what ios does nowadays is that when you switch between tracks instead of closing the connection and re creating one it just pushes the new audio through the existing connection so you might have the 1 2 seconds of previous audio in the pipe before the new audio plays same thing when stopping pausing playback ios simply stops pushing audio through the wire there is a function to flush the audio in the pipe so that new audio plays immediately but i ve seen that recent versions of ios don t use it anymore or some applications decide to not flush while they could that s not a big deal with most airplay speakers it s a 1 2 second delay but with airconnect the airplay speaker is not a speaker it s a upnp or chromecast player they do not at all act like virtual wires they instead expect to have the whole track available as a file and retrieve data from it as needed in fact one of the key functions that airconnect does is looking like a wire to iphone and looking like a file to the upnp cc usually upnp cc players consume a large chunk of that file before they start to play to handle network congestion but some don t and simply start playing at the first received byte counting that the large chunk will come quickly but that chunk buffer does not exist for airconnect as audio is produced in real time by the iphone so if a player starts at the first byte it will very likely lack audio data when a network congestion occurs and playback will stutter the parameter http latency solves this issue by creating a silence buffer sent in a burst when establishing a connection but this creates a permanent delay between the iphone and the player some upnp cc players wait to have buffered enough data before they start playing and again because that data is built in real time by airconnect this other delay adds up to the latency parameter even if http latency is 0 when you switch between tracks or sources or pause stop if your iphone sends this flush command then airconnect immediately stops the upnp cc player but if there is no flush command it will play until these silence self buffers are consumed that can be more than a...
Images from subpage: "github.com/philippe44/AirConnect/tags" Verify
Images from subpage: "github.com/philippe44/AirConnect/commits/master/" Verify
Images from subpage: "github.com/philippe44/AirConnect/tree/master/aircast" Verify
Images from subpage: "github.com/philippe44/AirConnect/tree/master/airupnp" Verify
Images from subpage: "github.com/philippe44/AirConnect/tree/master/common" Verify

Verified site has: 106 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-106


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/2 200
date Sun, 19 Jul 2026 10:12:26 GMT
content-type text/html; charset=utf-8
vary X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With
etag W/ 43bcbb2a6101679a026377cefaeef182
cache-control max-age=0, private, must-revalidate
strict-transport-security max-age=31536000; includeSubdomains; preload
x-frame-options deny
x-content-type-options nosniff
x-xss-protection 0
referrer-policy no-referrer-when-downgrade
content-security-policy default-src none ; base-uri self ; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src self uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com; font-src github.githubassets.com; form-action self github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors none ; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src self data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src self ; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src unsafe-inline github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server github.com
content-encoding gzip
accept-ranges bytes
set-cookie _gh_sess=SP88n%2B3l%2FpNFIvlSnTKkxVF4FwtDZTYXfasWkGHbNHY7sF02lqeERLPYXSMLuIbgb8FLrvPvb7M%2BZ3TcdN%2F5u2%2FihbQX9NlYmuYngba0t28vqtaUyOKtJsK9KHaOOut%2B%2FXvx%2FDf3BRbrznz5OV%2Fy13pqcE62zclajFxmxeg%2FpS7VOqchaUWlhcIz8Dfenu7MkBCj1iMTb5O4NR4qhdsQ23rGNT7y%2FkkYL463t8EQmikBS9kcOV8W5dSK0%2FT%2B8Sti9etyMjNF2k%2BOcJsYUder0A%3D%3D--Z3GwCWoM3Yx%2BDw5%2B--gaX1cWyjNdZXqmOmVHBGdA%3D%3D; path=/; HttpOnly; secure; SameSite=Lax
set-cookie _octo=GH1.1.887794170.1784455946; expires=Mon, 19 Jul 2027 10:12:26 GMT; domain=.github.com; path=/; secure; SameSite=Lax
set-cookie logged_in=no; expires=Mon, 19 Jul 2027 10:12:26 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax
x-github-request-id D878:330A3D:10F7F58:DEAE5D:6A5CA30A

Meta Tags

title="GitHub - philippe44/AirConnect: Use AirPlay to stream to UPnP/Sonos & Chromecast devices · GitHub"
charset="utf-8"
name="route-pattern" content="/:user_id/:repository" data-turbo-transient
name="route-controller" content="files" data-turbo-transient
name="route-action" content="disambiguate" data-turbo-transient
name="fetch-nonce" content="v2:687cede5-5c7e-208a-960c-fd18c3729e4f"
name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"
name="request-id" content="D878:330A3D:10F7F58:DEAE5D:6A5CA30A" data-pjax-transient="true"
name="html-safe-nonce" content="2b913830df96d78e9ad689952c47982173235f69135aeb3567254c1966dfd8f0" data-pjax-transient="true"
name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEODc4OjMzMEEzRDoxMEY3RjU4OkRFQUU1RDo2QTVDQTMwQSIsInZpc2l0b3JfaWQiOiIzODEzMDQ2OTI3NTEzOTIwMjY2IiwicmVnaW9uX2VkZ2UiOiJmcmEiLCJyZWdpb25fcmVuZGVyIjoiZnJhIn0=" data-pjax-transient="true"
name="visitor-hmac" content="d9c04fa14abd064c9c8391d2c323d01c7c90722e12f3298ed5dfd202fec04873" data-pjax-transient="true"
name="hovercard-subject-tag" content="repository:99628750" data-turbo-transient
name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true"
name="selected-link" value="repo_source" data-turbo-transient
name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"
name="octolytics-url" content="htt????/collector.github.com/github/collect"
name="analytics-location" content="/<user-name>/<repo-name>" data-turbo-transient="true"
name="user-login" content=""
name="viewport" content="width=device-width"
name="description" content="Use AirPlay to stream to UPnP/Sonos & Chromecast devices - philippe44/AirConnect"
property="fb:app_id" content="1401488693436528"
name="apple-itunes-app" content="app-id=1477376905, app-argument=htt????/github.com/philippe44/AirConnect"
name="twitter:image" content="htt????/opengraph.githubassets.com/ce64dc80d0d7073a41df93d48119a6a1816cce5776d8dff00ea92e3da602d641/philippe44/AirConnect"
name="twitter:site" content="@github"
name="twitter:card" content="summary_large_image"
name="twitter:title" content="GitHub - philippe44/AirConnect: Use AirPlay to stream to UPnP/Sonos & Chromecast devices"
name="twitter:description" content="Use AirPlay to stream to UPnP/Sonos & Chromecast devices - philippe44/AirConnect"
property="og:image" content="htt????/opengraph.githubassets.com/ce64dc80d0d7073a41df93d48119a6a1816cce5776d8dff00ea92e3da602d641/philippe44/AirConnect"
property="og:image:alt" content="Use AirPlay to stream to UPnP/Sonos & Chromecast devices - philippe44/AirConnect"
property="og:image:width" content="1200"
property="og:image:height" content="600"
property="og:site_name" content="GitHub"
property="og:type" content="object"
property="og:title" content="GitHub - philippe44/AirConnect: Use AirPlay to stream to UPnP/Sonos & Chromecast devices"
property="og:url" content="htt????/github.com/philippe44/AirConnect"
property="og:description" content="Use AirPlay to stream to UPnP/Sonos & Chromecast devices - philippe44/AirConnect"
name="hostname" content="github.com"
name="expected-hostname" content="github.com"
http-equiv="x-pjax-version" content="b07d1f2049c63a0b13247e39432777549041a4f2308bbe56cf7406d1d50a1f93" data-turbo-track="reload"
http-equiv="x-pjax-csp-version" content="cb4cffb7c023f774818cf728eb860debf1fc8ecf88a20487b238da276df1eb7d" data-turbo-track="reload"
http-equiv="x-pjax-css-version" content="2988e48440351883d0da1600d97518db97f8352e46a1073cf64cc42ac1ff44b4" data-turbo-track="reload"
http-equiv="x-pjax-js-version" content="5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b" data-turbo-track="reload"
name="turbo-cache-control" content="no-preview" data-turbo-transient=""
name="turbo-cache-control" content="no-cache" data-turbo-transient
data-hydrostats="publish"
name="go-import" content="github.com/philippe44/AirConnect git htt????/github.com/philippe44/AirConnect.git"
name="octolytics-dimension-user_id" content="9712599"
name="octolytics-dimension-user_login" content="philippe44"
name="octolytics-dimension-repository_id" content="99628750"
name="octolytics-dimension-repository_nwo" content="philippe44/AirConnect"
name="octolytics-dimension-repository_public" content="true"
name="octolytics-dimension-repository_is_fork" content="false"
name="octolytics-dimension-repository_network_root_id" content="99628750"
name="octolytics-dimension-repository_network_root_nwo" content="philippe44/AirConnect"
name="turbo-body-classes" content="logged-out env-production page-responsive"
name="disable-turbo" content="false"
name="browser-stats-url" content="htt????/api.github.com/_private/browser/stats"
name="browser-errors-url" content="htt????/api.github.com/_private/browser/errors"
name="release" content="9c975978430e9ad293956f2bbdaf153b1bd84a99" data-turbo-track="reload"
name="ui-target" content="full"
name="theme-color" content="#1e2327"
name="color-scheme" content="light dark"
name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"

Load Info

page size77724
load time (s)0.573276
redirect count0
speed download135643
server IP 140.82.121.4
* all occurrences of the string "http://" have been changed to "htt???/"