Full stack web application powering peering at over 200 Internet Exchange Points (IXPs) globally.
  • PHP 92.3%
  • Shell 4.7%
  • Perl 0.9%
  • Blade 0.9%
  • Hack 0.4%
  • Other 0.6%
Find a file
Barry O'Donovan 28dc844054
Some checks are pending
CI Tests (ex Dusk) / ci-ex-dusk (push) Waiting to run
[NF] Application-Specific Passwords
App Passwords can be used, where necessary, to bridge the gap to modern security standards where a necessary system creates a classic compliance headache, such as no direct support for Two-Factor Authentication (2FA).

One such example is Dovecot, the world's leading email backend platform for IMAP and POP3 access.

What is an Application-Specific Password?

An App Password is a long, randomly generated password (usually 16 characters) that allows a specific legacy application or device—which doesn't natively support Two-Factor Authentication (2FA) or modern authentication protocols (like OAuth 2.0) - to securely access your account.

IXP Manager implements an application-specific password manager for the convenience of IXPs who need it and who do not have an alternative system. At a high-level, IXP Manager's implementation has the following features and restrictions:

* Passwords must be hashed when stored in the database - there is no plaintext option and no way to retrieve a password after initially creating it.
* It is only available for administrative users.
* The hashing options available are: bcrypt, argon, and argon2id.
* There is an option to keep a record of when passwords were used and from what IP address, but that is dependent on support from the downstream application. These are expunged after 90 days by default.
* Passwords must have an expiry date, with the default being 12 months from creation.
2026-06-12 20:06:19 +01:00
.ai/mcp Framework updates 2026-02-16 16:02:24 +00:00
.github Merge remote-tracking branch 'ibn/release-v7' 2026-05-11 18:57:58 +01:00
.idea [FW] Pre-release updates, fixes and test runs 2026-05-01 20:08:20 +01:00
.phpstorm.meta.php [CI] Fix temporary issue between laravel-ide-helper and psalm-laravel 2026-02-16 20:20:16 +00:00
app [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
bin More housekeeping 2025-08-11 21:39:34 +01:00
bootstrap Added INEX Copyright notice to file 2019-01-07 16:55:43 +00:00
config [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
data [DB] update asn table test database to unsigned bigint 2026-05-11 20:06:54 +01:00
database [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
lang/en Complete Laravel upgrade guide 2024-04-21 13:38:18 +01:00
public [CI] final updates and psalm check 2026-05-11 22:35:19 +01:00
resources [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
routes [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
storage [NF] - add laravel debugbar 2020-07-21 09:57:26 +01:00
tests [BF] correct IXPM-OBJECT/IXPM-KEY in default rir templates (#978) 2026-05-15 19:10:05 +01:00
tools update vagrant SQL as a migration was tweaked before release (#976) 2026-05-13 13:42:46 +01:00
.env.ci [CI] prerelease tests - all passing 2026-05-11 21:35:05 +01:00
.env.dev Merge branch 'release-v7' into v7-diag-debug 2025-08-06 19:55:56 +01:00
.env.example Merge remote-tracking branch 'ibn/release-v7' 2026-05-11 18:57:58 +01:00
.gitignore [CI] Fix temporary issue between laravel-ide-helper and psalm-laravel 2026-02-16 20:20:16 +00:00
artisan Artisan should have IXP Manager version information 2024-11-02 12:07:43 +00:00
boost.json Framework updates 2026-02-16 16:02:24 +00:00
composer.json [BF] Fix PeeringDB/OAuth conflict - inex/IXP-Manager#952 2026-02-17 09:50:57 +00:00
composer.lock [NF] Application-Specific Passwords 2026-06-12 20:06:19 +01:00
IDEAS [IM] Minor updates to inex/IXP-Manager#957 re roa_check / last_nonaggregated 2026-02-16 20:35:14 +00:00
LICENSE Initial import of V1.0 of IXP Manager 2011-05-26 15:07:26 +01:00
package-lock.json [FW] final assets push 2026-05-12 10:32:41 +01:00
package.json [FW] Pre-release updates, fixes and test runs 2026-05-01 20:08:20 +01:00
phpunit.dusk.xml Update to Laravel 11 2024-05-21 12:39:14 +01:00
phpunit.xml Replace PDB/Whois ASN lookup with bgp.tools sourced ASN database (islandbridgenetworks/ibn-ixp-manager#67) 2026-05-11 19:57:10 +01:00
psalm-baseline.xml Merge remote-tracking branch 'ibn/release-v7' 2026-05-11 18:57:58 +01:00
psalm.xml [CI] Upgrade psalm, psalm-laravel and fix new issues 2025-08-09 12:28:11 +01:00
README.md Remove Twitter follow link 2026-01-17 17:10:12 +00:00
Vagrantfile Vagrant reorganisation 2024-08-21 21:05:22 +01:00
version.php Version bump to v7.2.0 2026-05-12 10:33:09 +01:00
webpack.mix.js [FW] Pre-release updates, fixes and test runs 2026-05-01 20:08:20 +01:00

IXP Manager Logo

INEX are pleased to release IXP Manager under an open source license (the GNU Public License V2) which we hope will benefit the wider IXP community, and especially new and small IXPs looking to expand.

CI Tests (ex Dusk) - courtesy of GitHub Actions.

Documentation

Our documentation is hosted on GitHub pages: https://docs.ixpmanager.org/.

About IXP Manager

For detailed information, see: https://www.ixpmanager.org/

IXP Manager is a full stack management platform for Internet eXchange Points (IXPs) which includes an administration and customer portal; provides end to end provisioning; and both teaches and implements best practice.

IXP Manager began as an internal project at INEX circa 2007. Over that time it has changed a lot, but always for the better and always to help us run INEX efficiently and with lower overhead. Three of our key requirements as an IXP are security, consistency and reliability. IXP Manager has been designed to help us achieve these.

Our vision for IXP Manager as a technology is that it will enable the creation of IXPs wherever they are required which in turn will create a stronger, open, more robust and better connected internet. And not only is it hoped that IXP Manager will help start these new IXPs but that it will also enable these IXPs to launch from the best place possible: secure by default, proven configurations and designs, implementing best practice.

Our hope is also to gather and foster an IXP Manager community - a place where the many IXPs that use IXP Manager can come and help each other, learn from each other and share their stories. Our website will highlight some of the internet heroes in the IXP space and feature case studies.

Today, IXP Manager is in use by many IXPs around the world - with more being added every month. This is something that gives all of the team at INEX, our community sponsors, the developers and contributors immense pride. It is also quite sobering - it reminds us all to keep all the community in mind when developing and prioritising new features. And it focuses our attention on maintaining the excellent reliability and security standards that have been set over the past two decades.

See also: https://www.inex.ie/

Authors:

Copyright (C) 2009 - 2025 Internet Neutral Exchange Association Company Limited By Guarantee. All Rights Reserved.

License

This file is part of IXP Manager.

IXP Manager is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version v2.0 of the License.

IXP Manager is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License v2.0 along with IXP Manager. If not, see:

http://www.gnu.org/licenses/gpl-2.0.html