{"id":13824808,"url":"https://github.com/pieterlouw/caddy-net","last_synced_at":"2025-07-15T13:08:52.228Z","repository":{"id":57484713,"uuid":"84323410","full_name":"pieterlouw/caddy-net","owner":"pieterlouw","description":"Proxy server type for Caddy server (https://github.com/mholt/caddy)","archived":false,"fork":false,"pushed_at":"2020-04-08T06:50:11.000Z","size":64,"stargazers_count":67,"open_issues_count":11,"forks_count":11,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-12-16T14:05:57.484Z","etag":null,"topics":["caddy","cowbell","go","plugin","server-type"],"latest_commit_sha":null,"homepage":"","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/pieterlouw.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}},"created_at":"2017-03-08T13:30:25.000Z","updated_at":"2024-12-05T13:19:52.000Z","dependencies_parsed_at":"2022-08-26T14:24:08.114Z","dependency_job_id":null,"html_url":"https://github.com/pieterlouw/caddy-net","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieterlouw%2Fcaddy-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieterlouw%2Fcaddy-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieterlouw%2Fcaddy-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieterlouw%2Fcaddy-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pieterlouw","download_url":"https://codeload.github.com/pieterlouw/caddy-net/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230626696,"owners_count":18255685,"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":["caddy","cowbell","go","plugin","server-type"],"created_at":"2024-08-04T09:01:09.746Z","updated_at":"2024-12-20T18:07:44.774Z","avatar_url":"https://github.com/pieterlouw.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Caddy Net #\r\n\r\nTCP/UDP server type for [Caddy Server](https://github.com/caddyserver/caddy)\r\n\r\nThe server type is called `net`\r\n\r\n## Proposed Caddyfile \r\n\r\n```\r\necho :22017 {\r\n    host echo.example.com\r\n}\r\n\r\nproxy :12017 :22017 {\r\n    host proxy.example.com\r\n}\r\n```\r\n\r\nThe first server block will listen on port `22017` and echo any traffic back to caller\r\n\r\nThe second server block will listen on port `12017` and forward traffic to address `:22017`\r\n\r\n**Rule:** A server block can only echo or proxy, not both.\r\n\r\n\r\n### host directive ###\r\n\r\nThe `host` directive is the hostname/address of the site to serve, and is needed for TLS , especially in cases where the auto TLS feature [Let's encrypt](https://letsencrypt.org/) is used.\r\n\r\n## TLS ##\r\n\r\nThis server type leverage the [tls directive](https://caddyserver.com/docs/tls) from the Caddy server and can be added to the server blocks as needed.\r\n\r\n\r\n## Start/Run \r\n\r\n***Note***: When you start caddy you will need to specify the server type using the `-type` flag: `caddy -type=net`\r\n\r\n## Status ##\r\n\r\n*This server type plugin works as intended but is still considered BETA* \r\n\r\n***Note***: *Because the server type is still in early development the syntax for the Caddyfile might change, but will try to have syntax above backward compatible.*\r\n\r\n## Use cases ##\r\n\r\n[Using Caddy To Create A Secure Socket Server](https://www.chaoswebs.net/blog/using-caddy-to-create-a-secure-socket-server.html)\r\n\r\n\r\n## References ##\r\n\r\n[Writing a Plugin: Server Type](https://github.com/caddyserver/caddy/wiki/Writing-a-Plugin:-Server-Type)\r\n\r\n[Caddy Forum discussion](https://caddy.community/t/writing-a-tcp-udp-server-type-for-caddy/1589)\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieterlouw%2Fcaddy-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpieterlouw%2Fcaddy-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieterlouw%2Fcaddy-net/lists"}