Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cooperlarson authored Sep 1, 2024
1 parent bdf5dac commit 6071bd6
Showing 1 changed file with 48 additions and 10 deletions.
58 changes: 48 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,54 @@
# forti-api

**Advanced FortiOS API Management**
**Empowering FortiGate Users with Streamlined API Access**

Welcome to **forti-api**, a FortiOS api v2 API wrapper developed on the C++23 standard for FortiGate firewalls. This project is designed to facilitate secure and efficient management of network security services using FortiGate technologies.
Welcome to **forti-api**, an open-source project designed to unlock the full potential of FortiGate's API. Developed through meticulous research and practical application, **forti-api** makes it easier for network security professionals to harness FortiGate's powerful, yet often complex, capabilities.

**Project Overview:**
- **Current Phase:** I am currently transitioning the library from Python to C++23 to enhance its robustness and type safety.
- **Capabilities:** This library supports comprehensive (in active dev) management of Threat Feeds and DNS Filters, with ongoing development to expand these capabilities.
- **Future Developments:** You can look forward to an expanding suite of API features designed to empower administrators with more precise control over their security infrastructure.

**Engagement and Contributions:**
- **Contribute:** I invite fellow developers to contribute to **forti-api**, helping to shape its future and ensure it meets the needs of robust network security management.
- **Feedback:** Your feedback is crucial. Please share your insights and experiences to refine the functionality and user experience of **forti-api**.
## Project Vision

**Join me in my mission to deliver a secure, reliable, and forward-thinking API management tool to the FortiGate community.**

### Simplifying FortiGate Management

**forti-api** is designed to turn the intricate world of FortiGate firewall management into something straightforward and accessible. By providing a clean interface that integrates seamlessly with your existing setup, this tool simplifies complex configurations, making advanced network management more approachable for everyone.

### Real-World Impact

With tools like **forti-hole** and **forti2ban**, **forti-api** integrates Pi-hole and Fail2Ban directly into the FortiGate ecosystem. These integrations have been proven to significantly enhance network security, achieving a 97% block-rate against ad traffic with the advanced DNS filter—transforming ad-heavy sites into cleaner, faster-loading pages, and reducing unnecessary network traffic by up to 20%.


## Project Overview


### Current Phase

The core API support is in place, with ongoing optimizations to enhance functionality and ease of use. Comprehensive build instructions are on the way, along with a streamlined Conan installation process via a dedicated Artifactory server for effortless setup.

### Future Developments

The project is rapidly progressing, with plans to submit a pull request to ConanCenter's index repo in the near future. **forti-api** is poised to become an essential tool for anyone managing FortiGate firewalls.


## Engagement and Contributions


### Open to Collaboration

**forti-api** is a community-driven project, but contributing comes with important responsibilities:

- **Physical Device or FortiVM Requirement**: Contributors must own either a physical FortiGate device or a FortiVM subscription. FortiVM users, given the significant investment (approximately 10 times the cost of a 1-year UTM subscription on a physical FortiGate or the initial base price of hardware), are highly valued. If you're a FortiVM user, consider this your red carpet invitation—you're a big fish in a small market.

- **Rigorous Pull Request Process**: All pull requests will undergo thorough scrutiny. Whether you’re testing on a physical device or a FortiVM, your contributions will be subject to rigorous code reviews. Tests will be meticulously vetted for any potential harm before they reach my personal testing environment, ensuring that no changes will compromise the integrity of users' FortiGate setups.

- **Prioritizing Software Integrity**: Even though this is an open-source project, the integrity of the software is paramount. Every stage of development prioritizes security, understanding the immense trust involved in granting API access to a security device with super admin privileges.

- **Commitment to Transparency and Trust**: The open-source nature of **forti-api** allows the code to be audited by the community, which is crucial for maintaining security integrity. I am deeply committed to upholding this trust by adhering to the highest standards of software integrity.

This ensures that whether you're a FortiVM subscriber or a physical device owner, you understand the importance of your role in contributing to **forti-api** and the shared commitment to maintaining a robust and secure codebase.


---

**forti-api** is part of a broader effort to create reliable, efficient tools for network security management. Your participation can help shape the future of FortiGate management, making it more accessible and effective for everyone.

Join the community and help us simplify and enhance the FortiGate experience while upholding the highest standards of security and integrity.

0 comments on commit 6071bd6

Please sign in to comment.