stream_hysteria.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {{define "form/streamHysteria"}}
  2. <a-form :colon="false" :label-col="{ md: {span:8} }"
  3. :wrapper-col="{ md: {span:14} }">
  4. <a-form-item label='Auth Password'>
  5. <a-input v-model.trim="inbound.stream.hysteria.auth"></a-input>
  6. </a-form-item>
  7. <a-form-item label='UDP Idle Timeout'>
  8. <a-input-number v-model.number="inbound.stream.hysteria.udpIdleTimeout"
  9. :min="0"></a-input-number>
  10. </a-form-item>
  11. <a-form-item label='Masquerade'>
  12. <a-switch v-model="inbound.stream.hysteria.masqueradeSwitch"></a-switch>
  13. </a-form-item>
  14. <template v-if="inbound.stream.hysteria.masqueradeSwitch">
  15. <a-divider :style="{ margin: '5px 0 0' }">Masquerade</a-divider>
  16. <a-form-item label='Type'>
  17. <a-select v-model="inbound.stream.hysteria.masquerade.type"
  18. :dropdown-class-name="themeSwitcher.currentTheme">
  19. <a-select-option value="file">File</a-select-option>
  20. <a-select-option value="proxy">Proxy</a-select-option>
  21. <a-select-option value="string">String</a-select-option>
  22. </a-select>
  23. </a-form-item>
  24. <a-form-item label='Dir'
  25. v-if="inbound.stream.hysteria.masquerade.type === 'file'">
  26. <a-input
  27. v-model.trim="inbound.stream.hysteria.masquerade.dir"></a-input>
  28. </a-form-item>
  29. <template v-if="inbound.stream.hysteria.masquerade.type === 'proxy'">
  30. <a-form-item label='URL'>
  31. <a-input
  32. v-model.trim="inbound.stream.hysteria.masquerade.url"></a-input>
  33. </a-form-item>
  34. <a-form-item label='Rewrite Host'>
  35. <a-switch
  36. v-model="inbound.stream.hysteria.masquerade.rewriteHost"></a-switch>
  37. </a-form-item>
  38. <a-form-item label='Insecure'>
  39. <a-switch
  40. v-model="inbound.stream.hysteria.masquerade.insecure"></a-switch>
  41. </a-form-item>
  42. </template>
  43. <template v-if="inbound.stream.hysteria.masquerade.type === 'string'">
  44. <a-form-item label='Content'>
  45. <a-input
  46. v-model.trim="inbound.stream.hysteria.masquerade.content"></a-input>
  47. </a-form-item>
  48. <a-form-item
  49. label='{{ i18n "pages.inbounds.stream.tcp.requestHeader" }}'>
  50. <a-button size="small"
  51. @click="inbound.stream.hysteria.masquerade.addHeader('', '')">+</a-button>
  52. </a-form-item>
  53. <a-form-item :wrapper-col="{span:24}">
  54. <a-input-group compact
  55. v-for="(header, index) in inbound.stream.hysteria.masquerade.headers">
  56. <a-input style="width: 50%" v-model.trim="header.name"
  57. placeholder='{{ i18n "pages.inbounds.stream.general.name"}}'>
  58. <template slot="addonBefore" style="margin: 0;">[[
  59. index+1 ]]</template>
  60. </a-input>
  61. <a-input style="width: 50%" v-model.trim="header.value"
  62. placeholder='{{ i18n "pages.inbounds.stream.general.value" }}'>
  63. <a-button slot="addonAfter" size="small"
  64. @click="inbound.stream.hysteria.masquerade.removeHeader(index)">-</a-button>
  65. </a-input>
  66. </a-input-group>
  67. </a-form-item>
  68. <a-form-item label='Status Code'>
  69. <a-input-number
  70. v-model.number="inbound.stream.hysteria.masquerade.statusCode"></a-input-number>
  71. </a-form-item>
  72. </template>
  73. </template>
  74. </a-form>
  75. {{end}}