PHPackages                             cyberline/phupnp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. cyberline/phupnp

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

cyberline/phupnp
================

PHP based UPnP device discovery

313PHP

Since Oct 18Pushed 4y ago1 watchersCompare

[ Source](https://github.com/CyberLine/phUPnP)[ Packagist](https://packagist.org/packages/cyberline/phupnp)[ RSS](/packages/cyberline-phupnp/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

phUPnP
======

[](#phupnp)

PHP based UPnP device discovery

[![Build Status](https://camo.githubusercontent.com/5b3672eb125d1afc00518a7b0ebe5af86287448960217c6e00f526718d62a2b0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f43796265724c696e652f706855506e502f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/CyberLine/phUPnP/build-status/master) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/1534b11e0c65db98ca8c4c2ae83b219ce1bd7a41db2ebcba27c2d8467bdebc92/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f43796265724c696e652f706855506e502f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/CyberLine/phUPnP/?branch=master) [![Latest Stable Version](https://camo.githubusercontent.com/f24d81864a0a199bae1d53c000f8cda462239ecca79406d15d65ce666686b0c2/68747470733a2f2f706f7365722e707567782e6f72672f63796265726c696e652f706875706e702f762f737461626c65)](https://packagist.org/packages/cyberline/phupnp) [![Total Downloads](https://camo.githubusercontent.com/59ef84a08d4ad39ed2c80639bf5719a4515a4c2b0ef2529a9ba8b7e20fbc2ac8/68747470733a2f2f706f7365722e707567782e6f72672f63796265726c696e652f706875706e702f646f776e6c6f616473)](https://packagist.org/packages/cyberline/phupnp) [![Latest Unstable Version](https://camo.githubusercontent.com/44b644eb4472000e44b2d2164281330123a9d2130a7e95edc60bf4d303e4547a/68747470733a2f2f706f7365722e707567782e6f72672f63796265726c696e652f706875706e702f762f756e737461626c65)](https://packagist.org/packages/cyberline/phupnp) [![License](https://camo.githubusercontent.com/e5de9b76da4f0a0234a9d77160593674d2357f076c8109312bb8b8569ae9e59d/68747470733a2f2f706f7365722e707567782e6f72672f63796265726c696e652f706875706e702f6c6963656e7365)](https://packagist.org/packages/cyberline/phupnp)

### Example

[](#example)

#### Install using composer

[](#install-using-composer)

```
composer require cyberline/phupnp

```

#### Discover all devices with timeout of 1 second

[](#discover-all-devices-with-timeout-of-1-second)

```
namespace CyberLine\phUPnP
{
    require 'src/Scanner.php';

    try {
        $scanner = new Scanner;
        $scanner
            ->setTimeout(1);

        print_r($scanner->discover());
    } catch (\Exception $e) {
        print 'Exception: ' . $e->getMessage() . PHP_EOL;
    }
}

```

#### Discover only root devices

[](#discover-only-root-devices)

```
namespace CyberLine\phUPnP
{
    require 'src/Scanner.php';

    try {
        $scanner = new Scanner;
        $scanner
            ->setTimeout(1)
            ->setSearchType('upnp:rootdevice');

        print_r($scanner->discover());
    } catch (\Exception $e) {
        print 'Exception: ' . $e->getMessage() . PHP_EOL;
    }
}

```

#### Return json string from scanner

[](#return-json-string-from-scanner)

```
namespace CyberLine\phUPnP
{
    require 'src/Scanner.php';

    try {
        print json_encode(new Scanner);
    } catch (\Exception $e) {
        print 'Exception: ' . $e->getMessage() . PHP_EOL;
    }
}

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/cd47ea0e6386fbd6df9c9475eb3d2e97a4741852b2dd8f3ce9fe4da28325d0a3?d=identicon)[CyberLine](/maintainers/CyberLine)

---

Top Contributors

[![CyberLine](https://avatars.githubusercontent.com/u/195617?v=4)](https://github.com/CyberLine "CyberLine (10 commits)")

### Embed Badge

![Health badge](/badges/cyberline-phupnp/health.svg)

```
[![Health](https://phpackages.com/badges/cyberline-phupnp/health.svg)](https://phpackages.com/packages/cyberline-phupnp)
```

###  Alternatives

[dsposito/argo

A shipping utility.

23184.2k](/packages/dsposito-argo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
