Frequently Asked Questions

Carbon is a high-performance HTTP/HTTPS server written in C for Linux systems. It features modern web technologies including HTTP/2, WebSocket support, SSL/TLS encryption, and comprehensive security measures. It's designed for developers who value speed, security, and simplicity.

  • Operating System: Linux (kernel 2.6.27+)
  • Compiler: GCC 4.8+ or Clang 3.4+
  • Memory: Minimum 512MB RAM (1GB recommended)
  • Dependencies: OpenSSL 1.1.0+, libmagic, nghttp2 1.0.0+, zlib

Installation is straightforward:

# Clone the repository
git clone https://github.com/Azreyo/Carbon.git
cd Carbon

# Install dependencies
sudo apt-get install -y build-essential libssl-dev libmagic-dev libnghttp2-dev zlib1g-dev pkg-config

# Build the server
make

# Run the server
sudo ./server

Yes! Carbon has full SSL/TLS support with:

  • TLS 1.2 and TLS 1.3 protocol support
  • Modern, secure cipher suites
  • Perfect Forward Secrecy (ECDHE key exchange)
  • ALPN support for HTTP/2 negotiation
  • Automatic HTTP to HTTPS redirection

Yes, Carbon includes full HTTP/2 implementation. HTTP/2 provides significant performance improvements:

  • Multiplexing: Multiple requests over a single connection
  • Header Compression: Reduced overhead with HPACK
  • Server Push: Proactive resource delivery
  • Binary Protocol: More efficient parsing
  • Stream Prioritization: Better resource loading

If you encounter "Address already in use" errors:

# Find process using the port
sudo lsof -i :8080

# Or use netstat
sudo netstat -tulpn | grep 8080

# Kill the process
kill -9 <PID>

Carbon is currently under active development and is not yet a full release. For production deployments, we recommend:

  • Using a reverse proxy (Nginx, Apache) for additional security
  • Obtaining proper SSL certificates from Let's Encrypt or another CA
  • Keeping dependencies updated regularly
  • Monitoring server logs for suspicious activity
  • Conducting regular security audits
  • Thorough testing in your specific environment

Contributions are welcome! Here's how you can help:

  1. Fork the repository on GitHub
  2. Create a feature branch
  3. Make your changes following the code style
  4. Include appropriate comments and documentation
  5. Submit a pull request

Visit our GitHub repository to get started!

Carbon is licensed under the MIT License (Modified - Non-Commercial). This means you can freely use, modify, and distribute the software for non-commercial purposes. Commercial use requires explicit written permission from the copyright holders.

Still have questions?

Check out our comprehensive documentation or reach out to the community.

Read Documentation Contact Us