phpIPAM is an open-source web IP address management application.

Overview

{php}IPAM

Website: https://phpipam.net/

Description

phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application. It is ajax-based using jQuery libraries, it uses php scripts and javascript and some HTML5/CSS3 features, so some modern browser is preferred to be able to display javascript quickly and correctly.

Links

Branches

  • MASTER: Current development release
  • 1.5: Productional branch for 1.5.x release
  • 1.4: Productional branch for 1.4.x release
  • 1.3: Productional branch for 1.3.x release (obsolete)
  • 1.2: Productional branch for 1.2.x release (obsolete)
  • Other branches: Feature testing

I forgot my Admin password!?

Just run php functions/scripts/reset-admin-password.php in the cli and enter your new password

What are the credentials for a fresh install?

The Default credentials for a new instance of phpIPAM are the same as the credentials for the demo page: Admin / ipamadmin

Docker

Community maintained docker images are available at https://hub.docker.com/u/phpipam

Changelog

See misc/CHANGELOG

Roadmap

See misc/Roadmap

Contact

[email protected]

Special thanks are going also to the Hosterdam team (http://www.hosterdam.com) for the VPS server that is used for development of phpIPAM and for demo site.

And also to all users that filed a bug report / feature report and helped with feature testing!

License

phpIPAM is released under the GPL v3 license, see misc/gpl-3.0.txt.

Comments
  • version 1.5 feature roadmap

    version 1.5 feature roadmap

    Hi, below are planned features for release 1.5 (found also in misc/ROADMAP), comments welcome:

    • LDAP group authentication without local user (group with adldap2 migration) (#1505)
    • Webhooks support - send data via json to external URL / script (#880)
    • Display free subnet ranges joined for each section
    • API - permit IP/subnet as identifier insteaad of index (GET /api/test/subnets/1/ > /api/test/subnets/10.10.10.0_24/) and name for other objects
    • DCIM improvements
    • OSPF routing information (#2135)
    • Overlays (VXLAN etc)
    • NMAP scan backend (#2588)
    • OpenStreetMap (#2449)
    • SNMP improvements

    @GaryAllan did I miss some ?

    enhancement feature request 
    opened by phpipam 57
  • add SAML2 auth module

    add SAML2 auth module

    SAML2 is a standard authentication protocol. Various client implementing it already exists. I've chosen to integrate the onelogin client with phpipam instead of writing a client from scratch. SAML2 is widely used in the corporate world, it was a requirement for me to deploy phpipam

    enhancement 
    opened by ghyster 52
  • Issues upgrading from 1.3.2 to 1.4

    Issues upgrading from 1.3.2 to 1.4

    After successfully decompressing phpipam file, I log to web portal to update databases : "phpipam database upgrade required. Database needs to be upgraded to version 1.4.r25, it seems you are using phpipam version 1.4.r14!"

    And I get this error from the databases upgrading process :

    Failed to upgrade database!
    SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'id'; check that column/key exists
    Failed query: ALTER TABLE `users` DROP INDEX `id`;
    

    INDEX "id" in table "users" exists. I don't understand this error :

    MariaDB [phpipam]> SHOW INDEXES FROM users;
    +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | users |          0 | PRIMARY  |            1 | username    | A         |          10 |     NULL | NULL   |      | BTREE      |         |               | 
    | users |          0 | id_2     |            1 | id          | A         |          10 |     NULL | NULL   |      | BTREE      |         |               | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    2 rows in set (0.00 sec)
    

    In phpipam version 1.3.2, there was no error, everything was ok. Any idea ? Thank you for the help!

    bug report 
    opened by oli789 47
  • SNMP info

    SNMP info

    When test snmp on Cisco 2960, get error

    get_vlan_table Fetches VLAN table 10.11.11.XX: Invalid object identifier: CISCO-VTP-MIB::vtpVlanName.1 get_mac_table Fetches MAC address table 10.80.99.50: Invalid object identifier: CISCO-VTP-MIB::vtpVlanName.1

    opened by menshikovd 39
  • Subnet Import (Preview button > no action)

    Subnet Import (Preview button > no action)

    Hi, i am running the latest master version 1.19 and cannot import any subnets. I can upload successfully and then see the preview button, but when i click that, i get either i thin line or a blank window (almost as big as the background page)... i have tried in IE / FF / Chrome, all the same...

    Please can you help me :-)

    Regards

    Ben

    opened by djmrsmith 39
  • Query for free subnet

    Query for free subnet

    I see there's a way to query for a free IP but how about a free subnet? I'm looking to grab free /24 subnets that I can then use to provision AWS VPCs. Is that doable?

    bug enhancement 
    opened by alanwill 33
  • discoveryCheck.php add IP addresses which doesn't respond to ping

    discoveryCheck.php add IP addresses which doesn't respond to ping

    I don't know if I'm doing anything wrong but I have some subnets where all IP addresses for a subnet is marked as discovered even that a ping from the machine hosting phpipam doesn't get any reply.

    Is this a bug or am I doing anything wrong? The behaviour is seen on at least three different subnets, terminated on different equipment (one subnet on a set of 6500's running in VSS-mode, one subnet via HSRP between two catalyst switches and one behind a Check Point firewall).

    All three subnets are /24's.

    What can I do to debug this?

    opened by jonashauge 29
  • Error during adding several IPs via API endpoint /api/my_app/addresses/first_free/{subnetId}/

    Error during adding several IPs via API endpoint /api/my_app/addresses/first_free/{subnetId}/

    Describe the bug During execution several API requests /api/my_app/addresses/first_free/{subnetId}/ to reserve several IPs I got errors from PHPIpam.

    Example of errors when I try to add 3 IPs:

    {"code":201,"success":true,"message":"Address created","id":"154","data":"192.168.1.11","time":0.011}
    {"code":500,"success":0,"message":"Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3232235787-28' for key 'sid_ip_unique'","time":0.007}
    {"code":409,"success":false,"message":"IP address already exists","time":0.008}
    

    phpIPAM version Bug is present in the latest production release 1.4.

    Steps To Reproduce

    curl -X POST --user username:password http://phpipamhostname/api/terraform/user/
    
    # From the result copy token and save it to the bash variable:
    token='RSpB3v3hVdOUUAA48wECS8ME'
    
    # Execute 3 parallel requests for the new IPs, where 28 - this is your subnet_id:
    curl -X POST http://phpipamhostname/api/terraform/addresses/first_free/28/ --header "token: $token" > ip_result1 & curl -X POST http://phpipamhostname/api/terraform/addresses/first_free/28/ --header "token: $token" > ip_result2 & curl -X POST http://phpipamhostname/api/terraform/addresses/first_free/28/ --header "token: $token" > ip_result3
    
    #Check results:
    for i in {1..3}; do cat "ip_result$i"; echo ""; done
    

    Additional Info I have found this bug during work with Terraform and phpIPAM.

    As you know, Terraform runs queries in parallel. According to the results of my testing, phpIPAM does not lock First Free IP when user execute API /api/my_app/addresses/first_free/{subnetId}/ during a short time. As a result, when making parallel requests to add several new IPs, phpIPAM tries to add the same IP for different requests, which made within a short time.

    This bug makes it impossible to use phpIPAM from Terraform. It is possible to add some lock for IPs for short time which return /address/first_free/ and /subnets/{id}/first_free/ API endpoints?

    bug report 
    opened by pavel-z1 27
  • Cannot Export all sections

    Cannot Export all sections

    I am trying to export 1 particular subnet section. It is always blank. I tried all sections, and I get some sections and their subnets but not all. I clicked on the button Prepare XLS Dump. Is there a permission per section to export?

    Thanks - Mike

    bug Pending fix verification 
    opened by mikerpow 26
  • Error exporting subnets/ip addresses

    Error exporting subnets/ip addresses

    Describe the bug Using the Import/Export feature and exporting the dataset of IP Addresses and Subnets returns blank files. When opening they appear blank but the file size appears to have data. Opening a file Excel detects a problem with the file and says editing may harm your computer. I edit the file and then Excel crashes.

    phpIPAM version 1.3(current) 1.5(attempting to migrate to)

    Scenario I have a brand new install of phpipam 1.5 and was attempting to import the files but was receiving an error that the columns needed to contain headers. Looking at the export files from my current phpipam 1.3 they seem to be blank but the file size says otherwise..

    I did run the 'Prepare XLS dump' and that did work with a tabbed sheet with all of the contents.

    Unless there is an easier way to migrate data from 1.3 to 1.5 thats what I'm attempting to do.

    bug report 
    opened by nutt318 25
  • Strict Mode Does Not Work

    Strict Mode Does Not Work

    Hi,

    Maybe my understanding of strict mode is incorrect but it seems as though I have anarchy with it enabled. I can create duplicate Subnets and IP Addresses in folders that are in the same section. I don't think this should be possible even across sections (although it is...). I have images of my example below. Feel free to ask if you need more detail!

    Thanks, Aaron

    Duplicated Subnets subntes_duplicated

    Section View engineering_strict_mode

    Edit Section View - Expatiation of Strict Mode edit_section_engineering

    enhancement 
    opened by aaronSkar 24
  • Listing All and Adding Subnet breaks table view

    Listing All and Adding Subnet breaks table view

    Describe the bug This is confusing, and probably hard to reproduce. After selecting "All" to see all subnets and adding a new subnet, the table vanishes and won't come back until you clear the browser's cache.

    phpIPAM version v1.5.0

    Your Environment (please supply the following information):

    • phpIPAM version: 1.5.0
    • CentOS Stream 8
    • PHP version: php-7.3.20-1.module_el8.2.0+498+4deef2f1.x86_64
    • Webserver: Apache
    • Database: MariaDB-server-10.6.9-1.el8.x86_64 with galera-4-26.4.12-1.el8.x86_64 cluster

    Steps To Reproduce Please include steps to reproduce the issue:

    1. Click on Subnets and then select any subnet.
    2. Scroll all the way to the bottom and change the rows per page from 250 to All. (NOTE: If All doesn't show up, just add a bunch of ranges until it does)
    3. Now scroll back up to the top, and click Add subnet
    4. The new subnet will add just fine, but the table listing will vanish and not come back.

    The only way to see the table again for that Available subnet area, is to clear you cache (incognito mode).

    Screenshots and error logs Debugging is enabled, but no errors are shown. The screen shot wouldn't be very helpful, it is just a picture of the Available subnets, with the Subnet Description VLAN VRF...etc headers, but no table underneath the headers. No table data.

    Additional Info Just clearing the cache allows us to see the table again

    bug report 
    opened by dbray925 0
  • PHP 8.1 AD Auth Throws 500

    PHP 8.1 AD Auth Throws 500

    Describe the bug Fresh install, all required libraries and runtimes installed. Followed a few different instructional posts and direct phpipam docs but seems this may be an issue with PHP 8.1?

    phpIPAM version [v1.6.0] dbversion 39

    Versions of phpIPAM known to contain the issue (delete as appropriate).

    latest git pull as of today - [v1.6.0] dbversion 39

    Your Environment (please supply the following information):

    • master - [v1.6.0] dbversion 39
    • Ubuntu 22.04
    • PHP 8.1
    • Webserver apache2
    • Database Maria 10.6.11

    Steps To Reproduce 1.) Fresh install 2.) Login 3.) Create local user to use for AD/LDAP auth 4.) Try to add AD or LDAP auth method

    Screenshots and error logs PHP Debug: Parse error: syntax error, unexpected identifier "domain" in /var/www/html/phpipam/app/admin/authentication-methods/edit-AD.php on line 24

    Additional Info This is as vanilla as you'll get, not sure what else you need from me but can send over whatever you like if you tell me.

    bug report 
    opened by Crash0v3r1de 1
  • Port redirection problem after upgrade to 1.5

    Port redirection problem after upgrade to 1.5

    phpipam is running behind an haproxy instance. So phpipam virtualhost is running under Port 84.

    haproxy is redirecting ipam.thisisatesturl.com to 192.168.0.10:84

    This worked perfectly fine the last versions. But something has changed with the 1.5 Update. Somehow phpipam is trying to redirect to port 84.

    Like: If i click on "vaults" the URL gets changed to: from: http://ipam.thisisatesturl.com to: http://ipam.thisisatesturl.com:84/index.php?page=tools&section=vaults

    this 84 is the problem! How can i stop phpipam from doing this?

    bug report 
    opened by Frankstar 0
  • Custom BGP routing fields (failed)

    Custom BGP routing fields (failed)

    Hello, I'm creating a custom field in the "Routing" section called Community and some failure is occurring when saving the data in the table...

    When entering values, no error is displayed, but the value is not recorded,

    Does anyone have any ideas, or have faced something like this??

    The evidence follows, image

    After saving the Community column goes blank image

    I'm using version v1.5.0

    opened by marcos-g-goncalves 0
  • Unable to download certificates from vault item details page

    Unable to download certificates from vault item details page

    I am unable to download certificates from the certificate vault from the vault item details page. This appears to be related to an empty "data-id" in the HTML. All attempts to download a certificate from the detail page results in downloading a file that contains "Cannot decrypt vault".

    https://github.com/phpipam/phpipam/blob/c345ffc1f6303149fd34d2f9289194807706e03a/app/tools/vaults/vault/vault-item-details-general.php#L95 https://github.com/phpipam/phpipam/blob/c345ffc1f6303149fd34d2f9289194807706e03a/app/tools/vaults/vault/vault-item-details-general.php#L97

    These two lines are populating a blank "data-id" in the HTML

    <li><a class='open_popup' href=''  data-script='app/admin/vaults/download-certificate.php' data-class='700' data-type='public' data-vaultid='4', data-id=''><i class='fa fa-download'></i> Download certificate (.cer)</a></li>
    

    The lines of code on line L102 and L105 use $vault_item->id instead of $p->id and the edit/delete options work as expected.

    opened by adamhahnderson 0
  • Multiple SAML2

    Multiple SAML2

    Hi,

    thankfully to Version 1.5.0 we are now able to use SAML2 login which works perfectly fine.

    Can you help me configure it twice? We need to login with two different MS Azure Tenants. Currently ipam only uses the first one created.

    First one image

    Second one image

    Maybe it isn't implemented for now. If so, please convert to feature request :)

    Maybe a detection of multiple SAML2 providers could lead to a site where the users can decide which one they would want to use.

    btw: this tool is freakin awesome! It helps us a lot with our documentation and daily business.

    opened by chrkoe 3
Releases(v1.5.0)
  • v1.5.0(May 2, 2022)


    New features:
    ------------
    + Mark subnet as isPool to allocate network and broadcast addresses;
    + Optionally hide section subnet menus;
    + L2 Domains user permissions;
    + Add scanPingType=="none" option to disable scanning;
    + Custom fields on IP request forms (#2956);
    + Added subnet free space map for each possible subnet mask;
    + Added Vaults (Certificate andf password storing);
    + Added Tools->Duplicate subnets & IP page;
    + Added config.php offline_mode to disable server-side Internet lookups (#3462);
    + Added MAC vendor lookup widget;
    
    Enhancements, changes:
    ----------------------------
    + php7.4 compatibility;
    + SameSite attribute enabled for site cookies;
    + SAML2
        + php-saml updated to 3.4.1 (#3055);
        + Removal of php-mcrypt dependancy;
        + Drop support for idpcertfingerprint;
        + MAP_SAML_USER and SAML_USERNAME config.php configuration moved to db;
        + php-saml protocol debugging;
        + Support for signed assertions;
        + SAML usernames can be extracted from assertion attributes (#2948);
        + JIT auto-provisioning of accounts (#3389);
    + Selectable mask for number of subnets/hosts in subnet masks;
    + Switch from Google Maps to OpenStreeMap and Nominatim;
    
    Bugfixes:
    ----------------------------
    + Fixed upgrade queries issues from 1.3.x to 1.4+ (#3130);
    + Fixed boolean printout in footer (#2625);
    + Fixed BGP Admin isn't working (#2631);
    + do not show statistics in dashboard widget for disabled modules (#2602);
    + MySQL 8.0 compatibility. (#2646,#2239,#3036);
    + MariaDB Galera Cluster compatibility (#2498,#3413);
    + Permit non-numeric postcodes for customers (#2393);
    + Bandwidth calculator - 400 Bad Request (#1807,#2648);
    + Table layout not aligned (#2656,#3105,#3113);
    + Improve scanning requirement checks (#1183);
    + Date picker hidden (#2673);
    + PDNS Add/Edit DNS record not working for normal users (#2686);
    + Unable to save settings with link addresses = text custom field (#2702);
    + Kea MAC address display issue (#2704);
    + Returned custom fields to devices table (#2572);
    + Invalid scan agent key warning;
    + Subnet filter issue when IP contains 0 octet. (#2748);
    + Add VLAN button not working (#2741);
    + Incorrect subnet links in /tools/vrf/ view. (#2774);
    + Location data missing in exports. (#2833);
    + Check mysqldump path when exporting database;
    + Current rack position missing when editing a device. (#2545);
    + Permit colon in firewall zone interface names (#2737);
    + Fixed PowerDNS txt SPF editing (#1641);
    + Blank 'MAC' on SNMP-ARP and SNMP-MAC scans (#2911);
    + Incorrect network/broadcast calculation for IPv6 (#2879);
    + Increase allowed email and password lengths (#3021);
    + Wrong unit location for dual-sided racks (#3086);
    + Linked ip_addr shows integer notation (#3100);
    + Invalid scan type () error (#2785);
    + Invalid CSRF cookie editing rack items (#2556);
    + FPing discovery marks all addresses as alive (#2888);
    + Subnet usage calculation updated for nested subnets;
    + SNMP, number of discovered hosts exceed maximum warning (#3279);
    + Exclude IPv6 from Ping and Discovery scans (#3354);
    + Fix for SAML/2FA/login redirections (#3492, #3435, #3517);
    + php_sessions table doesn't exist error when upgrading (#3417);
    + Changelog data too long for column errors (#3376,#3398);
    + RFC 6265 compliant cookies (#3452);
    + Require unique subnets not working as intended (#3529);
    + API:
        + Fixed /user/ calls for SSL with app code (static app code);
        + Address IP field not displayed when using filter_by (#2934);
        + Addresses first_free & Subnets first/last_subnet thread safety (#2960);
    
    Security Fixes:
    ----------------------------
    + SQL injections processing `tableName` (#2738);
    + SQL injections processing `ftype` (#2751);
    + All circuits map, PHP object injection (#2937);
    + Upgraded jQuery to 3.5.1 (#3119);
    + Stored XSS in instructions widgets (#3025, #3360);
    + PHP session ID fixation (#3342);
    + XSS (reflected) in IP calculator (#3351);
    + XSS in pass-change/result.php (#3373);
    + SQL injection in edit-bgp-mapping-search.php;
    + Stored XSS in the "Site title" parameter;
    + XSS while uploading CVS files;
    + XSS (reflected) in 'find subnets';
    + Incorrect privilege assignments (#3506);
    + XXS (reflected) in ripe-arin-query;
    + XSS (reflected) in import previews;
    
    Translations:
    ----------------------------
    + Update Traditional Chinese support to version 1.5 (#2658);
    + Update Simplified Chinese Translation (#2725);
    + Italian (it_IT) translation added (#2813);
    + Updated German translation (#2970, #3065);
    + Updated Russian translation (#3028, #3367);
    

    Source code(tar.gz)
    Source code(zip)
    phpipam-v1.5.0.tgz(13.42 MB)
    phpipam-v1.5.0.zip(17.71 MB)
    SHA256.txt(170 bytes)
  • v1.4.7(Apr 24, 2022)

  • v1.4.6(Mar 27, 2022)

  • v1.4.5(Jan 17, 2022)


    Bugfixes:
    ----------------------------
    + Fix for SAML/2FA login redirection after timeout (#3492);
    + php_sessions table doesn't exist error when upgrading (#3417);
    + RFC 6265 compliant cookies (#3452);
    
    Security Fixes:
    ----------------------------
    + SQL injection in edit-bgp-mapping-search.php;
    + Stored XSS in the "Site title" parameter;
    + XSS while uploading CVS files;
    + XSS (reflected) in 'find subnets';
    

    Source code(tar.gz)
    Source code(zip)
    phpipam-v1.4.5.tgz(13.51 MB)
    phpipam-v1.4.5.zip(17.09 MB)
    SHA256.txt(170 bytes)
  • v1.4.4(Aug 9, 2021)

  • v1.4.3(Jun 11, 2021)

  • v1.4.2(Feb 8, 2021)


    Enhancements, changes:
    ----------------------------
    + SameSite attribute enabled for site cookies;
    
    Bugfixes:
    ----------------------------
    + Fix generated functions/upgrade_queries.php queries (#3130);
    + Table layout not aligned (#3105,#3113);
    + Invalid scan type () error (#2785);
    + Invalid CSRF cookie editing rack items (#2556);
    + MySQL 8.0 compatibility (#3036);
    
    Security Fixes:
    ----------------------------
    + Upgraded jQuery to 3.5.1 (#3119);
    + Stored XSS in instructions widgets (#3025);
    

    Source code(tar.gz)
    Source code(zip)
    phpipam-v1.4.2.tgz(13.46 MB)
    phpipam-v1.4.2.zip(17.09 MB)
    SHA256.txt(170 bytes)
  • v1.4.1(Jul 22, 2020)


    Bugfixes:
    ----------------------------
    + Fixed upgrade queries issues from 1.3.2 to 1.4;
    + Fixed boolean printout in footer (#2625);
    + Fixed BGP Admin isn't working (#2631);
    + MySQL 8.0 compatibility. (#2646,#2239);
    + Table layout not aligned (#2656);
    + Improve scanning requirement checks (#1183);
    + PDNS Add/Edit DNS record not working for normal users (#2686);
    + Unable to save settings with link addresses = text custom field (#2702);
    + Kea MAC address display issue (#2704);
    + Returned custom fields to devices table (#2572);
    + Invalid scan agent key warning;
    + Subnet filter issue when IP contains 0 octet. (#2748);
    + Add VLAN button not working (#2741);
    + Incorrect subnet links in /tools/vrf/ view. (#2774);
    + Location data missing in exports. (#2833);
    + Check mysqldump path when exporting database;
    + Current rack position missing when editing a device. (#2545);
    + Misc html fixes (#3026,#3081,#3082);
    + API:
        + Fixed /user/ calls for SSL with app code (static app code);
        + Address IP field not displayed when using filter_by (#2934);
        + Addresses first_free & Subnets first/last_subnet thread safety (#2960);
    
    Security Fixes:
    ----------------------------
    + SQL injections processing `tableName` (#2738);
    + SQL injections processing `ftype` (#2751);
    + All circuits map, PHP object injection (#2937);
    

    Source code(tar.gz)
    Source code(zip)
    phpipam-v1.4.1.tgz(13.46 MB)
    phpipam-v1.4.1.zip(17.08 MB)
    SHA256.txt(170 bytes)
  • v1.4.0(Jul 2, 2019)


    New features:
    ------------
    + Configurable password policy;
    + Sessions can be now stored in database (#516);
    + Two-factor authentication - otp (Google Authenticator);
    + Customers module (#694);
    + Routing module (BGP) (#2135);
    + Search for free subnet inside whole section;
    
    Enhancements, changes:
    ----------------------------
    + Circuits enhancements (Virtual Circuits);
    + Dropped support for 32bit systems;
    + PHP 5.4 is now required;
    + Added compressed actions dropdown;
    + SNMP module no longer requires MIB files;
    + Performance enhancements running under Azure/Amazon;
    + Added option to disable user (#1327);
    + Added policy NAT option;
    + Added custom NAT fields;
    + Rack module enhancements (#1325):
        + Dynamic rack sizes;
        + Top-down / Bottom-up racks;
        + Custom rack devices independent of devices (power, patch panel);
    + Customized user permissions for modules:
        + VLAN module;
        + VRF module;
        + PowerDNS module;
        + Circuits module;
        + Customers module;
        + Devices module;
        + Rack module;
        + NAT module;
        + PSTN module;
        + Locations module;
    + API:
        + New API security type - SSL with app code (static app code);
        + New config.php option $api_allow_unsafe to allow non-SSL API queries;
        + Added last access field to api;
        + Add Mac Search for Addresses controller (#2005);
        + New overlapping API call;
        + New global API parameter filter_match = full,partial,regex;
        + Add Tools API customers submodule;
        + Fix filtered results to always return data as array (#2558);
    + Widgets:
        + New user instruction widget (#2383);
    
    Translations:
    ----------------------------
    + Japanese (ja_JP) translation added;
    + Traditional Chinese (zh_TW) translation added;
    
    Bugfixes:
    ----------------------------
    + Fix appended " U" in Rack description (#2046);
    + Fix Bandwidth calculator - 400 Bad Request. (#1807);
    + Fix bad DNS reverse zone for /23 subnet (#666);
    + Fix Add missing standard field (#2153);
    + Fix Consistency of VARCHAR Size on 'owner' column across tables (#2136);
    + Fix Subnet details - Filter button missing when compressed range is used (#2353);
    + Fix slow page load times with linked addresses (#2324);
    + Fix " - is required" error when adding IPs with an empty IP filter set (#2334);
    + Fix column 'masterSubnetId' cannot be null error when adding subnets (#1977);
    + Fix logical circuits add/delete errors (#2381);
    + Fix adding new VLANs to an empty L2Domain (#2400);
    + Fix Nested child subnets with "na" permissions visible (#2223);
    + Fix translations containing apostrophes break functionality (#2504);
    + Set requestedAuthnContext to false for SAML (#2457);
    + API:
        + Fix inconsistent API success value returned (#2045);
        + Fix filter_by functionality (#2392);
        + Fix PATCH functionality (#2470, #2481);
    
    Security Fixes:
    ----------------------------
    + Hide SNMP community (#2197);
    + Hide LDAP/AD/Radius username / password and secret from logs and syslog (#2006);
    + XSS in phpipamredirect cookie (#2338);
    + XSS in print-user.php, CSRF in user-edit.php (#2326);
    + Possible SQL injection in nat/item-add-submit.php (#2344);
    + Fixed possible file inclusion in editing authentication methods;
    + XSS in subnet-scan-telnet.php, CSRF in subnet-scan-execute.php (#2327);
    

    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(Jun 27, 2018)

    Enhancements, changes:
    ----------------------------
    + url_rewrite has changed, please use new rewrite scheme (https://phpipam.net/news/new_rewrite_scheme/);
    + Search for matching subnet in all VRFs feature enabled when importing addresses;
    + Added new config option to show custom fields separated from standard fields when editing IP address;
    + Added Required fields subpage to define IP address fields that must be filled in;
    + Performance + bug fixes (#1660, #1657);
    + MasterSubnet dropdown list is dynamically generated via AJAX call;
    + Bandwidth calculator;
    + Support 8U rack sizes. (#1891);
    + API:
        + New last_subnet API calls (#1655);
    
    Translations:
    ----------------------------
    + German translation updated to verson 1.3.1;
    + French translations updated. (#1881);
    
    Bugfixes:
    ----------------------------
    + Fixed uncaught error if vlan number exceeds max permitted (#1455);
    + Fixed Illegal string offset 'dns_name' in pingCheck.php errors (#1461);
    + Performance fix for subnet_dropdown_print_available (#1562);
    + Fixed logo updater for apache v2.4 (#1582);
    + Fixed section names containing spaces are not included in exports (#1566);
    + Allow DNS wildcard records (#1571);
    + Fixed slow mac address vendor decoding for subnet detail view (#1658);
    + Performance fix for detecting overlapping subnets. (#1052, #1426, #1533);
    + Performance fix for slow mac address vendor decoding (#1658);
    + Performance fix for subnet API first_subnet & all_subnets calls;
    + Performance fix for delegating subnet permissions;
    + Convert to UTF-8 encoding on import/export to preserve dialectics (#1659, #1700, #1728);
    + Importing IPs loose Mac Addresses (#1607);
    + Section names containing spaces are not included in exports. (#1566);
    + Bug with section and dashboard (#1593);
    + Fixed improper contents in plain text part of notification e-mails (#1707);
    + Reduce size of email notifications (#1643);
    + PHP 5.3 compatibility fixes (#1594, #1730);
    + PHP 7.2 compatibility fixes (#1683, #1714);
    + Fixed notification e-mails contain a broken link. (#1708);
    + Allow dots to be used in domain names. (#1747);
    + Use multi-byte compatible functions when shortening text. (#1753);
    + Scan subnet reports/selects invalid php path. (#1757);
    + Small code refactoring (#1699);
    + Rack device start position overwritten. (#1545);
    + Sections with folders returns no subnets using API. (#1883);
    + Add custom_ prefix to Prefix controller custom fields. (#1836);
    + Non-Admins missing the button to Add circuit. (#1902);
    + Wrong field name of deviceTypes table when checking device type. (#1910);
    + SNMPv3 improvements;
    + Misc IPv6 fixes;
    
    Security Fixes:
    ----------------------------
    + Code injection in Name field. (#1667);
    + XSS (reflected) in SubnetID param. (#1702);
    + CSRF enables open mail relay. (#1703);
    + Reflected XSS requiring user interaction on search. (#1705);
    + XSS reflected via CSRF in preview.php. (#1706);
    + Reflected XSS via CSV upload. (#1742);
    + Reflected XSS on 'mac' parameter. (#1903);
    
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Nov 15, 2017)

    New features:
    ------------
    + Circuits module (circuits, providers, map, ...) (#731);
    
    Enhancements, changes:
    ----------------------------
    + Racks:
        + Automatic location assignment when device added to rack (#1230);
        + Rack map showing map of all racks in location;
        + Rack back side;
    + Compact menu layout (per-user setting, showing only icons);
    + Network to network static nat;
    + Selectable logo size (from config.php) (#952);
    + Added default option for permissions propagations (#1351);
    + API:
        + Added Circuits controller;
        + Encrypyted requests can now also be form-encoded (#1191);
        + Introduce mcrypt AES compatibility (#1516);
        + Fixed field ip not displayed when filters applied (#1529);
    + New resolve hostnames option for subnet (#1222):
        + Updates hostnames via pingCheck.php script (if parameter set for subnet);
        + Updates hostnames via resolveIPaddresses.php script (if parameter set for subnet);
        + On-the-fly empty hostname update if resolved (if parameter set for subnet and enabled globally);
        + Added this infor to tools > scanned networks;
    + Added custom_ prefix to custom field names to avoid duplication with custom fields (#1387);
    + Added option to hide IP requests for unauthenticated users on login page (#1394);
    + Performance optimizations for locations and subnet usage calculation;
    + Added user groups custom fields;
    
    Translations:
    ----------------------------
    + French translation updated to verson 1.3;
    + German translation updated to verson 1.3;
    
    Bugfixes:
    ----------------------------
    + Fixed RACK images not displayed if not root location (#1204);
    + Fixed import gateway ip (#1240);
    + Fixed JSON_UNESCAPED_UNICODE for PHP 5.3 (#1135, #1245);
    + Rename class Thread to PingThread to avoid naming conflict with pthreads Thread class (#1254);
    + Fixed custom fields integer on subnet (#1266);
    + Fixed Import Ip-adress doesnt update location (#1284);
    + Fixed json_error for logo upload (#1256);
    + Fixed CSRF error when moving orphaned addresses (#1303);
    + Fixed VRF fetching via API by Id;
    + Fixed map issues when quotes are in name/description (#1384);
    + Fixed item not removed from NAT when deleted (#1378);
    + Fixed Error when error_reporting = E_ALL about strict standards when importing IP addresses (#1372);
    + Fixed Apostrophe errors in text custom fields (#1375);
    + Fixed API error when creating address under folder (#1507);
    + Fixed SNMPv3 (#1119);
    
    Security Fixes:
    ----------------------------
    + Fixed XSS issues (#1403, #1521, #1500);
    
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jun 14, 2017)

    New features:
    ------------
    + Multicast module (RFC1112, RFC2464) with IP to MAC mapping and multicast networks overview;
    + Threshold module for subnets;
    + Racks module (Rack drawing) for devices;
    + Address linking by selected field;
    + Custom logo for site and mails;
    + PSTN number management module;
    + SNMP module:
        + Subnets discovery from route table (all subnets, nested subnets, add new subnet);
        + Hosts discovery scans via ARP check/interface check;
        + Hosts discovery scans via ARP + MAC address check (detects interface);
        + VLAN discovery;
        + VRF discovery;
        + Status update scans via ARP check;
    + NAT module
        + Source / static / destination NAT;
        + Linking subnet to NAT
        + Show bindings under tools and next to IP address / subnet
    + Locations module
        + Map devices / racks / subnets to location;
        + Google maps integration;
    + SAML2 authentication (SSO)
    
    Enhancements, changes:
    ----------------------------
    + Folders can now contain addresses;
    + API:
        - Api v1 removed;
        + If subnet gateway defined gatewayId is returned in subnet details;
        + Automatically added nameservers to subnet results;
        + Added subnet usage result for each subnet in section;
        + Added custom fields for all controllers;
        + New subnets automatically get parent permissions;
        + Added IP calculation to subnet;
        + Changed all not_found when searching objects to 404 and all invalid parameters to 409 (conflict);
        + If new item is created id will be available in response field “id”;
        + New parameter $time_response in api/index.php that will return execution time in field “time";
        + Extensive first_free subnet calls search speedup;
        + POST transaction locking;
        + All first_free and first_address responses are now "data" instead of "ip" and "subnet" for consistency;
        + Subnet splitting now copies over custom fields values by default (user custom_fields=no to revert);
        + Added API option to nest custom_fields to assure correct structure;
        + Added option to show/hide links in api by default for each app;
        + Changed API http response codes;
        + New methods:
            + users:
                GET    /user/expires/                         // returns token expiration date
                GET    /user/token-expires/                   // returns token expiration date
                GET    /user/users/                           // returns all users (rwa app permissions required)
                GET    /user/admins/                          // returns all admin users (rwa app permissions required)
            + addresses:
                GET    /addresses/first_free/{subnetId}/      // returns first available address (subnetId can be provided with parameters)
                GET    /addresses/{ip}/{subnetId}/            // returns IP address from subnet
                GET    /addresses/search/{hostname}/          // Will search addresses by hostname
                DELETE /addresses/{ip}/{subnetId}/            // deletes IP address from subnet
                POST   /addresses/first_free/{subnetId}/      // will search for first free address in subnet, creating new address
            + subnets:
                GET    /subnets/{id}/addresses/{ip}/          // returns IP address from subnet
                GET    /subnets/{id}/first_free/              // returns first free address in subnet
                GET    /subnets/{id}/first_subnet/{mask}/     // returns first available subnets with specified mask
                GET    /subnets/{id}/all_subnets/{mask}/      // returns all available subnets with specified mask
                POST   /subnets/{id}/first_subnet/{mask}/     // creates first free subnet under master with specified mask
                DELETE /subnets/{id}/permissions/             // removes permissions
                PATCH  /subnets/{id}/permissions/             // sets subnet permissions (?grouname1=ro&groupname2=3&43=1)
        + New controller Prefix;
        + New controller Devices;
        + New subcontrollers:
            + /tools/nat/
            + /tools/racks/
            + /tools/locations/
    + Widgets:
        + New threshold widget;
        + New inactive hosts widget;
        + New Locations widget;
    + PowerDNS:
        + Default domain for PTR records (if hostname is not set);
        + When removing IP address additional option that removes all associated PDNS records (ip and hostname);
    + Permit normal users to manage VLANs / VRFs;
    + Inactive (offline) hosts tools page;
    + MAC address normalization;
    + jQuery tables;
    + Permission delegation now only delegates changes not whole permission set;
    + Users with RWA permission can manage IP requests and receive IP request mails + changelog mails for subnet;
    + IPv4 subnet link to IPv6 for dual-stack info;
    + Removed inacessible DNS servers if timeout to prevent page load timeouts;
    + Added option to only show supernets to limit pageload [#844 #816 #736];
    + Added last scan info to subnet details;
    + Added option to update address tags when address state change occurs (pingCheck) [#840];
    + Added mantaneance mode;
    + Added inactive addresses removal script;
    + Subnet overlapping now checked also inside folders to prevernt duplicates;
    + Subnet overlapping now checked also between sections if VRF defined;
    + Added new settings directive that requires unique subnets accross sections;
    + Added index check in verify database to detect and fix possible missing DB indexes;
    + Added MAC address vendor display option;
    
    Bugfixes:
    ----------------------------
    + PowerDNS regenerate PTR records now only updates current subnet (before whole zone);
    + Fixed visual bug on 32-bit systems;
    + Normal users with RWA permissions can scan subnets;
    + Changed default timestamp from 0000-00-00 00:00:00 to 1970-01-01 00:00:01 to avoid SQL install errors if strict mode;
    + Fixed https access on non-standard ports;
    + Extended username to 255 chars for LDAP logins;
    + Fixed search export invalid encoding and data may have been lost XLS file error;
    + Fixed invalid character encoding in API responses;
    + PowerDNS records cannot be created on slave zone;
    + Fixed subnet resizing bug if subnet contained slaves;
    + Added separate CSRF cookies for each address/subnet/pstn object;
    + Deleted items are now shown and searchable from changelog;
    
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Jan 29, 2016)

    New features:
    ------------
    + Added multiple simultaneous authentication methods (Apache, AD, LDAP, Radius, NetIQ);
    + Added fping scanning support;
    + Added selectable scanning type (ping/pear/fping);
    + Added L2 domains;
    + Added option to define address as default GW for subnet;
    + Added customizable address tags with compressed option;
    + Added temporary subnet / address shares;
    + Added quick subnet masks;
    + Added nameserver sets per subnets (jonashauge);
    + Added optional syslog as log location;
    + REST API:
        + documentation: http://phpipam.net/api-documentation/
        + API v2, old v1 support added
        + Complete rewrite of all API calls;
        + New security models (crypt, ssl, none);
        + Support for custom fields;
        + JSON / XML output
        + Full read/write controllers (Sections, Subnets/Folders, Addresses, Vlans, Vrfs);
    + PowerDNS integration:
        + Automatic reverse records creation (PTR) - IPv4 and IPv6;
        + Automatic SOA, NS record creation;
        + DNS domain management;
    + Added Scan agents to scan subnets remotely;
    + Added firewall zone mappings and module;
    + Added per-subnet DNS resolvers;
    + Added option to mark subnet as utilized (full);
    
    Enhancements:
    ----------------------------
    + All tables are now InnoDB by default;
    + Upgraded jQuery to 2.1.3;
    + All functions rewritten to classes/methods;
    + Parametized all SQL queries, moved from MySQLI to PDO;
    + Added VLAN/VRF to search and to search results export;
    + Redesigned admin and tools menu;
    + Added scanned/discovered subnets to tools for faster overview;
    + Per-user display settings;
    + New widget - tools shortcuts;
    + New widget - IP calculator;
    + New widget - request IP address;
    + Clickable links for subnet fields;
    + Custom VRF fields;
    + Subnets can be now linked to devices;
    + Import/export enhancements;
    + Fast user switching for admins to impersonate user;
    + Opened folders and subnets in tree menu are saved on page reload;
    + RWA users can now process IP requests;
    + Added auto-suggest for possible slave subnets;
    + SSL option for MySQL connections;
    + Enum custom field support;
    + Added password reset script;
    + Set sections to display VRF in;
    
    Security Fixes:
    ----------------------------
    + Parametized all MySQL querries;
    + Fixed plainpass being logged on user update;
    + Fixed XSS exploit on /error/;
    + Added CSRF protection to forms;
    
    Translations:
    ----------------------------
    + Added Czech translation;
    
    Bugfixes:
    ----------------------------
    + Fixed bug with SSL/TLS smtp servers;
    + Fixed visual subnet display issues on 32bit systems;
    + Fixed IPv6 split subnets bug;
    + Fixed /31 ping bug scanning out of boundaries;
    + Fixed nested broadcast not counted to used percentage;
    + Fixed invalid redirect after timeout;
    + Fixed discovery script index overridden;
    + Fixed dashboard graphs links to subnets;
    + Fixed Invalid ID on subnet scan of large subnets;
    
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0_beta2(Oct 21, 2015)

  • v1.19.008(Oct 12, 2015)

  • v1.16.003(Jun 18, 2015)

Owner
Miha Petkovsek
Miha Petkovsek
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
OroCRM is an open source Client Relationship Management (CRM) application

OroCRM is an open source Client Relationship Management (CRM) application that allows to create a 360° view of your customers across multiple channels, organize the sales pipeline, manage account and contact information, communicate with customers, run marketing campaigns and track campaign performance.

Oro, Inc. 607 Dec 2, 2022
OpenEMR is a Free and Open Source electronic health records and medical practice management application

OpenEMR is a Free and Open Source electronic health records and medical practice management application. It features fully integrated electronic health records, practice management, scheduling, electronic billing, internationalization, free support, a vibrant community, and a whole lot more. It runs on Windows, Linux, Mac OS X, and many other platforms.

OpenEMR 2.1k Dec 7, 2022
Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms 1.1k Nov 24, 2022
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

opensourcepos 2.7k Dec 1, 2022
Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income.

Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income. Table of Contents About

Ray Icemont 4 Nov 22, 2022
Admidio is a free open source user management system for websites of organizations and groups

Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio 209 Nov 28, 2022
Powerful, yet easy to use, open-source online ordering, table reservation and management system for restaurants

TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online food ordering and table reservation to their custom

TastyIgniter 2.4k Dec 7, 2022
Snipe-IT - A free open source IT asset/license management system

Snipe-IT - A free open source IT asset/license management system

snipe 7k Dec 4, 2022
Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal 3.8k Nov 28, 2022
A complete open source hotel management system built with Laravel Framework.

Hotelio : Hotel Management System Hotelio is a open source hotel management system that manages your hotel operations, smoothly, effortless. Hotelio i

Mehedi Jaman 9 Nov 15, 2022
Simple searching for postcodes to retrieve geographic information. Support for various API providers and a unified address/output format.

Postcode Search Simple searching for postcodes to retrieve geographic information. Support for various API providers and a unified address/output form

Gary Green 10 Nov 29, 2022
CheckIP - A composer module to retrieve information from an IP address

A composer module to retrieve information from an IP address, using geoplugin.net Installation Use composer to install CheckIP composer requir

IsMyStore 1 Aug 9, 2022
Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.

Introduction Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates. Web Applica

Bytefury 6.6k Nov 29, 2022
An open source self hosted notes and bookmarks taking web app.

Benotes An open source self hosted web app for your notes and bookmarks side by side. This project is currently in Beta. You may encounter bugs or err

null 240 Dec 1, 2022
Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable.

Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students & teachers to learn about web application security in a controlled class room environment.

Robin Wood 6.9k Nov 27, 2022
Mibew Messenger - open-source live support application written in PHP and MySQL

Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.

Mibew Messenger 444 Nov 17, 2022
EspoCRM open source CRM application

EspoCRM is an Open Source CRM (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.

EspoCRM - Open Source CRM 1k Dec 5, 2022
Open source knowledge base application for Teams

Opensource knowledge base application for Teams. Introduction Opus is a place for your team to document who you are, what you do and how you do it. It

Zeeshan Ahmad 1.2k Nov 27, 2022