{"id":13615925,"url":"https://github.com/anerg2046/Caddy_V2ray","last_synced_at":"2025-04-13T23:34:20.958Z","repository":{"id":41604838,"uuid":"510079487","full_name":"anerg2046/Caddy_V2ray","owner":"anerg2046","description":"Caddy V2ray SSL TLS Websocket 整合Docker镜像","archived":false,"fork":false,"pushed_at":"2025-03-01T15:30:22.000Z","size":197,"stargazers_count":88,"open_issues_count":4,"forks_count":26,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-01T16:27:53.230Z","etag":null,"topics":["caddy","docker","ssl","tls","v2ray","websocket"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anerg2046.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":"2022-07-03T16:40:35.000Z","updated_at":"2025-03-01T15:30:26.000Z","dependencies_parsed_at":"2024-01-17T00:18:38.281Z","dependency_job_id":"c79773d6-39d5-4e23-b83c-428e1fe588b6","html_url":"https://github.com/anerg2046/Caddy_V2ray","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anerg2046%2FCaddy_V2ray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anerg2046%2FCaddy_V2ray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anerg2046%2FCaddy_V2ray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anerg2046%2FCaddy_V2ray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anerg2046","download_url":"https://codeload.github.com/anerg2046/Caddy_V2ray/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248797967,"owners_count":21163224,"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","docker","ssl","tls","v2ray","websocket"],"created_at":"2024-08-01T20:01:20.641Z","updated_at":"2025-04-13T23:34:16.112Z","avatar_url":"https://github.com/anerg2046.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Caddy V2ray SSL TSL Websocket 整合镜像\n\n[![Build Docker Images](https://github.com/anerg2046/Caddy_V2ray/actions/workflows/workflow.yaml/badge.svg)](https://github.com/anerg2046/Caddy_V2ray/actions/workflows/workflow.yaml)\n\n### 环境需求：\n- 一台运行docker的主机\n- 一个域名，可以是二级域名，并已解析A记录到你的主机IP\n- 一个邮箱地址，用于caddy申请SSL证书，如果不填将不会申请证书，且caddy只监听80端口\n\n### 常见操作系统docker安装教程：\n\n参见官方文档\nhttps://docs.docker.com/engine/install/\n\n### 快速开始\n\n可用参数\n\n| 参数名 | 是否必须 | 默认值 | 说明\n|  ----  | ----  | ---- | ----\n| DOMAIN | 是 | 无 | 申请证书的域名，可以是二级域名\n| EMAIL | 否 | 无 | 申请证书的邮箱，如果不填将不会申请证书，且caddy只监听80端口\n\n```\ndocker run -d \\\n  --publish=80:80 \\\n  --publish=443:443 \\\n  --env=DOMAIN=v2.mooim.com \\\n  --env=EMAIL=r.anerg@gmail.com \\\n  --restart=always \\\n  --name=caddy_v2ray \\\n  anerg/v2ray:latest\n```\n\n\u003e 开放`80`端口是因为zerossl在发证书的时候需要先访问80端口\n\n之后运行命令`docker logs caddy_v2ray`（注意，这里的`caddy_v2ray`要和命令中的`--name`的值一致）\n\n你就能看到类似如下的输出：\n\n```\n=====================================\nV2ray 配置信息\n地址（address）: v2.mooim.com\n端口（port）： 443\n用户id（UUID）： a736b1ef-a96e-4f35-8f6b-5b76a050e282\n加密方式（security）： 自适应\n传输协议（network）： ws\n伪装类型（type）： none\n路径（不要落下/）： /8768f5ff9/\n底层传输安全： tls\n=====================================\n=========复制以下内容进行导入==========\nvmess://ewogICAgInYiOiAiMiIsCiAgICAicHMiOiAidjIubW9vaW0uY29tIiwKICAgICJhZGQiOiAidjIubW9vaW0uY29tIiwKICAgICJwb3J0IjogIjQ0MyIsCiAgICAiaWQiOiAiYTczNmIxZWYtYTk2ZS00ZjM1LThmNmItNWI3NmEwNTBlMjgyIiwKICAgICJhaWQiOiAiMCIsCiAgICAibmV0IjogIndzIiwKICAgICJ0eXBlIjogIm5vbmUiLAogICAgImhvc3QiOiAidjIubW9vaW0uY29tIiwKICAgICJwYXRoIjogIi84NzY4ZjVmZjkvIiwKICAgICJ0bHMiOiAidGxzIgp9\n=========复制以上内容进行导入==========\n{\"level\":\"info\",\"ts\":1656863534.6378205,\"msg\":\"using provided configuration\",\"config_file\":\"/etc/caddy/Caddyfile\",\"config_adapter\":\"caddyfile\"}\n{\"level\":\"warn\",\"ts\":1656863534.6384249,\"logger\":\"caddyfile\",\"msg\":\"Unnecessary header_up X-Forwarded-For: the reverse proxy's default behavior is to pass headers to the upstream\"}\n.......\n```\n\n**注意**\n\n因为升级了v5版本，某些客户端你可能需要手动修改alertId为0\n\n### 高级使用\n\n如果不想每次更新v2ray版本以后都要从新配置v2ray客户端，那么需要映射出`v2ray`和`caddy`的配置目录到宿主机，同时，证书在一定时间内不能申请多次，所以最好把证书也映射出来，命令如下：\n\n```\ndocker run -d \\\n  -v /data/conf/v2ray:/etc/v2ray:rw \\\n  -v /data/conf/caddy:/etc/caddy:rw \\\n  -v /data/ssl:/data/caddy/certificates:rw \\\n  -p 80:80 \\\n  -p 443:443 \\\n  -e DOMAIN=v2.mooim.com \\\n  -e EMAIL=r.anerg@gmail.com \\\n  --restart=always \\\n  --name=caddy_v2ray \\\n  --net=work-net \\\n  anerg/v2ray:latest\n```\n\n这里的`/data/conf/v2ray`和`/data/conf/caddy`你可以自定义，如果报错，就手动创建这俩目录\n\n`--net`可以指定已有的docker网络\n\n### 当有其他代理软件存在的时候\n\n比如你有已经运行的`nginx-proxy`或者`traefik`之类的，那么不设置环境变量`EMAIL`即可，以下是配合`traefik`的例子\n\n```\nversion: '3'\n\nnetworks:\n  work-net:\n    external: true\n\nservices:\n  caddy_v2ray:\n    image: anerg/v2ray\n    container_name: caddy_v2ray\n    restart: always\n    volumes:\n      - v2ray:/etc/v2ray:rw\n      - caddy:/etc/caddy:rw\n    networks:\n      - work-net\n    environment:\n      - \"DOMAIN=${V2RAY_DOMAIN:-v2.mooim.com}\"\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.v2ray.rule=Host(`${V2RAY_DOMAIN:-v2.mooim.com}`)\"\n      - \"traefik.http.routers.v2ray.tls=true\"\n      - \"traefik.http.routers.v2ray.tls.certresolver=leresolver\"\n      - \"traefik.http.routers.v2ray.entrypoints=websecure\"\n      - \"traefik.http.routers.v2ray.service=v2ray\"\n      - \"traefik.http.services.v2ray.loadbalancer.server.port=80\"\n\nvolumes:\n  v2ray:\n    name: v2ray_v2ray\n  caddy:\n    name: v2ray_caddy\n```\n\n\n### 如何更新\n\n先停止并删除镜像文件\n```\ndocker stop caddy_v2ray\ndocker rm caddy_v2ray\ndocker rmi anerg/v2ray\n```\n然后再从新启动即可\n\n### 相关\n[JustHost.ru](https://justhost.ru/?ref=69692) 北方联通推荐使用，价格便宜不限量\n\n[CloudCone](https://app.cloudcone.com/?ref=7690) 经常有活动，价格很合适\n\n\u003e 如果开出的ip不能访问，提交一个ticket，让给一个国内可访问ip即可，好像是几块钱rmb\n\n你可以在 https://github.com/v2fly/v2ray-core/releases 这里找到所有v2ray的版本\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanerg2046%2FCaddy_V2ray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanerg2046%2FCaddy_V2ray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanerg2046%2FCaddy_V2ray/lists"}