---
title: 主机
description: >-
  按入站逐项覆盖的端点。每个启用的主机都会额外生成一条订阅链接/代理，可拥有独立的
  地址/端口/TLS，从而取代已弃用的 externalProxy 数组。所有端点均位于 /panel/api/hosts
  之下。
full: true
_openapi:
  preload:
    - ./public/openapi.json
  toc:
    - depth: 2
      title: >-
        List every host across all inbounds, grouped by inbound then ordered by
        sort order.
      url: >-
        #list-every-host-across-all-inbounds-grouped-by-inbound-then-ordered-by-sort-order
    - depth: 2
      title: Fetch a single host by ID.
      url: '#fetch-a-single-host-by-id'
    - depth: 2
      title: Fetch one inbound's hosts, ordered by sort order then id.
      url: '#fetch-one-inbounds-hosts-ordered-by-sort-order-then-id'
    - depth: 2
      title: Distinct, sorted set of tags used across all hosts.
      url: '#distinct-sorted-set-of-tags-used-across-all-hosts'
    - depth: 2
      title: >-
        Create a host on an inbound. inboundId and remark are required; security
        defaults to "same" (inherit the inbound).
      url: >-
        #create-a-host-on-an-inbound-inboundid-and-remark-are-required-security-defaults-to-same-inherit-the-inbound
    - depth: 2
      title: >-
        Replace a host’s content. The inbound and sort order are immutable here
        (use /reorder for ordering).
      url: >-
        #replace-a-hosts-content-the-inbound-and-sort-order-are-immutable-here-use-reorder-for-ordering
    - depth: 2
      title: Delete a host.
      url: '#delete-a-host'
    - depth: 2
      title: >-
        Enable or disable a single host (disabled hosts are skipped in
        subscriptions).
      url: >-
        #enable-or-disable-a-single-host-disabled-hosts-are-skipped-in-subscriptions
    - depth: 2
      title: Set host sort order by the position of each id in the array.
      url: '#set-host-sort-order-by-the-position-of-each-id-in-the-array'
    - depth: 2
      title: Enable or disable many hosts in one call.
      url: '#enable-or-disable-many-hosts-in-one-call'
    - depth: 2
      title: Delete many hosts in one call.
      url: '#delete-many-hosts-in-one-call'
  structuredData:
    headings:
      - content: >-
          List every host across all inbounds, grouped by inbound then ordered
          by sort order.
        id: >-
          list-every-host-across-all-inbounds-grouped-by-inbound-then-ordered-by-sort-order
      - content: Fetch a single host by ID.
        id: fetch-a-single-host-by-id
      - content: Fetch one inbound's hosts, ordered by sort order then id.
        id: fetch-one-inbounds-hosts-ordered-by-sort-order-then-id
      - content: Distinct, sorted set of tags used across all hosts.
        id: distinct-sorted-set-of-tags-used-across-all-hosts
      - content: >-
          Create a host on an inbound. inboundId and remark are required;
          security defaults to "same" (inherit the inbound).
        id: >-
          create-a-host-on-an-inbound-inboundid-and-remark-are-required-security-defaults-to-same-inherit-the-inbound
      - content: >-
          Replace a host’s content. The inbound and sort order are immutable
          here (use /reorder for ordering).
        id: >-
          replace-a-hosts-content-the-inbound-and-sort-order-are-immutable-here-use-reorder-for-ordering
      - content: Delete a host.
        id: delete-a-host
      - content: >-
          Enable or disable a single host (disabled hosts are skipped in
          subscriptions).
        id: >-
          enable-or-disable-a-single-host-disabled-hosts-are-skipped-in-subscriptions
      - content: Set host sort order by the position of each id in the array.
        id: set-host-sort-order-by-the-position-of-each-id-in-the-array
      - content: Enable or disable many hosts in one call.
        id: enable-or-disable-many-hosts-in-one-call
      - content: Delete many hosts in one call.
        id: delete-many-hosts-in-one-call
    contents: []
---

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

export default function Layout(props) {
  const { APIPage, OpenAPIPage } = props.components ?? {};
  // "APIPage" is the old name from v10, this allows both for backward compatibility
  const Comp = OpenAPIPage ?? APIPage;
  return (
    <>
      {props.children}
      <Comp document="./public/openapi.json" webhooks={[]} operations={[{"path":"/panel/api/hosts/list","method":"get"},{"path":"/panel/api/hosts/get/{groupId}","method":"get"},{"path":"/panel/api/hosts/byInbound/{inboundId}","method":"get"},{"path":"/panel/api/hosts/tags","method":"get"},{"path":"/panel/api/hosts/add","method":"post"},{"path":"/panel/api/hosts/update/{groupId}","method":"post"},{"path":"/panel/api/hosts/del/{groupId}","method":"post"},{"path":"/panel/api/hosts/setEnable/{groupId}","method":"post"},{"path":"/panel/api/hosts/reorder","method":"post"},{"path":"/panel/api/hosts/bulk/setEnable","method":"post"},{"path":"/panel/api/hosts/bulk/del","method":"post"}]} showTitle />
    </>
  );
}