https://github.com/glpi-project/glpi-agent
GLPI Agent
https://github.com/glpi-project/glpi-agent
agent glpi glpi-agent inventory inventory-agent
Last synced: 8 days ago
JSON representation
GLPI Agent
- Host: GitHub
- URL: https://github.com/glpi-project/glpi-agent
- Owner: glpi-project
- License: gpl-2.0
- Created: 2019-12-17T10:07:28.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-06-17T08:49:30.000Z (13 days ago)
- Last Synced: 2025-06-20T04:33:16.073Z (10 days ago)
- Topics: agent, glpi, glpi-agent, inventory, inventory-agent
- Language: Perl
- Homepage:
- Size: 40.1 MB
- Stars: 304
- Watchers: 16
- Forks: 77
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
#
GLPI Agent
[](https://github.com/glpi-project/glpi-agent/actions/workflows/glpi-agent-ci.yml)
[](https://github.com/glpi-project/glpi-agent/actions/workflows/glpi-agent-packaging.yml)
[](#download)
[](https://twitter.com/GLPI_PROJECT)## Summary
The GLPI Agent is a generic management agent. It can perform a
certain number of tasks, according to its own execution plan, or on behalf of a
GLPI server acting as a control point.## Description
This agent is based on a fork of [FusionInventory agent](https://github.com/fusioninventory/fusioninventory-agent) and so works mainly like FusionInventory agent.
It introduces new features and a new protocol to communicate directly with a GLPI server and its native inventory feature. Anyway it also keeps the compatibility with [FusionInventory for GLPI plugin](https://github.com/fusioninventory/fusioninventory-for-glpi).## Download
* Release: See [our github releases](https://github.com/glpi-project/glpi-agent/releases) for official win32, MacOSX & linux packages.
* Development builds:
- nightly builds for last 'develop' branch commits: [GLPI-Agent nightly builds](http://nightly.glpi-project.org/glpi-agent)
- with a github account, you can also access artifacts for any other branches supporting ["GLPI Agent Packaging" workflow](https://github.com/glpi-project/glpi-agent/actions/workflows/glpi-agent-packaging.yml?query=is%3Asuccess+event%3Apush+-branch%3Adevelop)## Documentation
The GLPI Agent has its [dedicated documentation project](https://github.com/glpi-project/doc-agent) where any contribution will also be appreciated.
The documentation itself is [readable online](https://glpi-agent.readthedocs.io/).
[](https://glpi-agent.readthedocs.io/en/latest/?badge=latest)
## Dependencies
### Core
Minimum perl version: 5.8
Mandatory Perl modules:
* File::Which
* LWP::UserAgent
* Net::IP
* Text::Template
* UNIVERSAL::require
* XML::LibXML
* Cpanel::JSON::XSOptional Perl modules:
* Compress::Zlib, for message compression
* HTTP::Daemon, for web interface
* IO::Socket::SSL, for HTTPS support
* LWP::Protocol::https, for HTTPS support
* Proc::Daemon, for daemon mode (Unix only)
* Proc::PID::File, for daemon mode (Unix only)### Inventory task
Optional Perl modules:
* Net::CUPS, for printers detection
* Parse::EDID, for EDID data parsing
* DateTime, for reliable timezone name extractionOptional programs:
* dmidecode, for DMI data retrieval
* lspci, for PCI bus scanning
* hdparm, for additional disk drive info retrieval
* monitor-get-edid-using-vbe, monitor-get-edid or get-edid, for EDID data access
* ssh-keyscan, for host SSH public key retrieval### Network discovery tasks
Mandatory Perl modules:
* Thread::Queue
Optional Perl modules:
* Net::NBName, for NetBios method support
* Net::SNMP, for SNMP method supportOptional programs:
* arp, for arp table lookup method support
### Network inventory tasks
Mandatory Perl modules:
* Net::SNMP
* Thread::QueueOptional Perl modules:
* Crypt::DES, for SNMPv3 support
### Wake on LAN task
Optional Perl modules:
* Net::Write::Layer2, for ethernet method support
### Deploy task
Mandatory Perl modules:
* Digest::SHA
* File::Copy::Recursive
* Cpanel::JSON::XS
* URI::EscapeMandatory Perl modules for P2P Support:
* Net::Ping
* Parallel::ForkManager### MSI Packaging
Tools:
* [dmidecode](https://github.com/glpi-project/dmidecode) modified to be built with mingw32
* hdparm
* [7zip](https://www.7-zip.org/)Mandatory Perl modules:
* Perl::Dist::Strawberry
### MacOSX Packaging
Tools:
* [dmidecode](https://github.com/glpi-project/dmidecode/tree/macosx) modified to be built on macosx
* [munkipkg](https://github.com/munki/munki-pkg)
* Xcode
* productbuild
* hdiutil### Public databases
* Pci.ids
* Usb.ids
* SysObject.ids: [sysobject.ids](https://github.com/glpi-project/sysobject.ids)## Related contribs
See [CONTRIB](CONTRIB.md) to find references to GLPI Agent related scritps/files
## Contacts
Project websites:
* main site:
* forum:
* github:Project Telegram channel:
* https://t.me/glpien
Please report any issues on project [github issue tracker](https://github.com/glpi-project/glpi-agent/issues).
## Active authors
* Guillaume Bougard
Copyright 2006-2010 [OCS Inventory contributors](https://www.ocsinventory-ng.org/)
Copyright 2010-2019 [FusionInventory Team](https://fusioninventory.org)
Copyright 2011-2021 [Teclib Editions](https://www.teclib-edition.com/)
## License
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
This software is licensed under the terms of GPLv2+, see LICENSE file for
details.## Additional pieces of software
The glpi-injector script is based on fusioninventory-injector script:
* author: Pascal Danek
* copyright: 2005 Pascal DanekGLPI::Agent::Task::Inventory::Vmsystem
contains code from imvirt:* url:
* author: Thomas Liske
* copyright: 2008 IBH IT-Service GmbH
* License: GPLv2+