PHPackages                             valicek1/keepasshttpclient - 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. valicek1/keepasshttpclient

ActiveLibrary

valicek1/keepasshttpclient
==========================

PHP library for KeePassHTTP

v1.0.1(9y ago)1301BSD-3-ClausePHP

Since Nov 3Pushed 9y ago1 watchersCompare

[ Source](https://github.com/Valicek1/keepasshttpclient)[ Packagist](https://packagist.org/packages/valicek1/keepasshttpclient)[ RSS](/packages/valicek1-keepasshttpclient/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

KeePassHTTPClient
=================

[](#keepasshttpclient)

Requirements
------------

[](#requirements)

- php &gt;= 5.5
- [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) &gt;= 6

Install
-------

[](#install)

Best way is to install with [composer](https://getcomposer.org/)

```
$ composer require valicek1/keepasshttpclient
```

Sample code
-----------

[](#sample-code)

```
# load key and it's id
$secret = loadKey(); // you need to implement this by yourself

# create class
# $secret[0] is 256-bit (32 characters) long key
# $secret[1] contains key id
$kpx = new KeePassHTTPClient($secret[1], $secret[0]);

# is the key associated with DB?
if (!$kpx->testAssociated()) {
	# if not, try to authorize
	$label = $kpx->authorizeKey();
	# and save key + label for next use
	saveKey($label, $secret[1]); // you need to implement this yourself
}

if ($kpx->testAssociated()) {
  // you are welcome to do something in database
  $url = "https://skype.com";

  // get logins
  $logins = $kpx->getLogins($url, $url); // first URL is page URL, second one is Submit url for "form"

  // or just their count
  $count = $kpx->getLoginsCount($url, $url)

  // or create new pairs in database
  $kpx->setLogin($url, $url, "username", "realPassword")

}
```

Technological process
---------------------

[](#technological-process)

### Pairing with KeePass

[](#pairing-with-keepass)

1. `testAssociated` - optional
2. `authorizeLey`, save key id returned - for future request
3. `testAssociated` - if succeeds, you can continue by sending requests

### Requests

[](#requests)

Server requires `testAssociated` at the beginning of every new session, or after failure. There is written you have to do it, but personally, I haven't seen any difference in KeepassHTTP's behaviour without `testAssociated`

1. `testAssociated` - before first request
2. `getLoginsCount`, `getLogins` or `setLogin` - work with data

Documentation
-------------

[](#documentation)

### Constructor

[](#constructor)

```
/**
 * KeePassHTTPClient constructor.
 * @param string $key Encryption key, 256 bits
 * @param string $label Label (product of association)
 * @param string $address KeepassHTTP listening address
 * @param int    $port KeepassHTTP listening port
 */
public function __construct($key, $label = "", $address = "localhost", $port = 19455){}
```

### Getters

[](#getters)

```
public function getAddress(){} // address of server
public function getPort(){} // port of server
public function isAssociated(){} // state of last testAssociated
public function getClient(){} // return guzzle client
```

### Functions to work with KeePass

[](#functions-to-work-with-keepass)

```
public function isServerListening(){} // check, if port is opened
public function sendRequest($json){} // json encode $json and send it as request. Return json object of response
public function testAssociated($empty = FALSE){} // test if key is associated or server responding (empty = TRUE)
public function authorizeKey(){} // authorize key (from constructor)
public function getLogins($url, $redirectUrl){} // find logins/passwords for entered criteria.
public function getLoginsCount($url, $redirectUrl){} // count number of items for entered criteria
public function setLogin($url, $redirectURL, $login, $password){} // save login to KeePass DB
```

It's not much pretty, but enough for using. You can still look into [source](src/KeePassHTTPClient.php)..

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~78 days

Total

2

Last Release

3395d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1eaedfaacd6b8838a196e8ac28cc1162bbfb2b999b9b0d72d5a3a1a72f4cd106?d=identicon)[Valicek1](/maintainers/Valicek1)

---

Top Contributors

[![Valicek1](https://avatars.githubusercontent.com/u/2713846?v=4)](https://github.com/Valicek1 "Valicek1 (9 commits)")

### Embed Badge

![Health badge](/badges/valicek1-keepasshttpclient/health.svg)

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

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k20](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)

PHPackages © 2026

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