{"id":16541938,"url":"https://github.com/itzg/haproxy-gen","last_synced_at":"2025-09-01T17:35:06.035Z","repository":{"id":144211194,"uuid":"75570119","full_name":"itzg/haproxy-gen","owner":"itzg","description":"Generate an haproxy.cfg file for multi-domain proxying","archived":false,"fork":false,"pushed_at":"2023-02-25T01:40:58.000Z","size":3630,"stargazers_count":14,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T20:23:49.314Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itzg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-04T22:56:34.000Z","updated_at":"2023-08-05T23:07:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"e4e31e60-6de9-454f-9a76-f1e15c89f918","html_url":"https://github.com/itzg/haproxy-gen","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/itzg/haproxy-gen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fhaproxy-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fhaproxy-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fhaproxy-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fhaproxy-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itzg","download_url":"https://codeload.github.com/itzg/haproxy-gen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fhaproxy-gen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263360759,"owners_count":23454780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T18:56:16.562Z","updated_at":"2025-07-03T16:32:03.292Z","avatar_url":"https://github.com/itzg.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![CircleCI](https://circleci.com/gh/itzg/haproxy-gen.svg?style=svg)](https://circleci.com/gh/itzg/haproxy-gen)\n\nThis tool uses a Go template and expands out the contents\nfor any number of domains to proxy.\n\nRun it without any arguments to view usage:\n\n```\nUsage:\n  haproxy-gen [command]\n\nAvailable Commands:\n  certbot-args   Generate the -d arguments suitable for passing to certbot\n  generate       Generates the haproxy.cfg file\n  primary-domain Extract just the primary domain from the given configuration and domains\n\nFlags:\n      --config string   config file (default is $HOME/.haproxy-gen.yaml)\n  -t, --toggle          Help message for toggle\n\nUse \"haproxy-gen [command] --help\" for more information about a command.\n```\n\n## Example\n\nWith the appropriate binary downloaded from the [releases](https://github.com/itzg/haproxy-gen/releases) and the [template file downloaded](https://raw.githubusercontent.com/itzg/haproxy-gen/master/haproxy.cfg.tmpl), running:\n\n```\n➜ chmod +x haproxy-gen_darwin_amd64\n➜ ./haproxy-gen_darwin_amd64 generate -d testing.example.com@apache:80\n```\n\nproduces the output:\n```\nglobal\n    # set default parameters to the modern configuration\n    tune.ssl.default-dh-param 2048\n    ssl-default-bind-ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHAC\n    ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets\n    ssl-default-server-ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CH\n    ssl-default-server-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets\n\n\ndefaults\n    mode    http\n    option  forwardfor\n    option  http-server-close\n\n    stats   enable\n    stats   uri /hastats\n    stats   realm HAproxy\\ Stats\n    stats   auth admin:haproxy\n\n    timeout client 30s\n    timeout connect 4s\n    timeout server 30s\n\nfrontend ft\n    bind    :443 ssl crt /etc/certs\n    bind    :80\n    redirect scheme https code 301 if !{ ssl_fc }\n    # HSTS (15768000 seconds = 6 months)\n    http-response set-header Strict-Transport-Security max-age=15768000\n\n\n    acl host_testing_example_com hdr(host) -i testing.example.com\n    use_backend testing_example_com if host_testing_example_com\n\n\nbackend testing_example_com\n    server testing_example_com apache:80\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fhaproxy-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitzg%2Fhaproxy-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fhaproxy-gen/lists"}