json.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {{define "settings/panel/subscription/json"}}
  2. <a-collapse default-active-key="1">
  3. <a-collapse-panel key="1" header='{{ i18n "pages.xray.generalConfigs"}}'>
  4. <a-setting-list-item paddings="small">
  5. <template #title>{{ i18n "pages.settings.subPath"}}</template>
  6. <template #description>{{ i18n "pages.settings.subPathDesc"}}</template>
  7. <template #control>
  8. <a-input type="text" v-model="allSetting.subJsonPath"></a-input>
  9. </template>
  10. </a-setting-list-item>
  11. <a-setting-list-item paddings="small">
  12. <template #title>{{ i18n "pages.settings.subURI"}}</template>
  13. <template #description>{{ i18n "pages.settings.subURIDesc"}}</template>
  14. <template #control>
  15. <a-input type="text" placeholder="(http|https)://domain[:port]/path/"
  16. v-model="allSetting.subJsonURI"></a-input>
  17. </template>
  18. </a-setting-list-item>
  19. </a-collapse-panel>
  20. <a-collapse-panel key="2" header='{{ i18n "pages.settings.fragment"}}'>
  21. <a-setting-list-item paddings="small">
  22. <template #title>{{ i18n "pages.settings.fragment"}}</template>
  23. <template #description>{{ i18n "pages.settings.fragmentDesc"}}</template>
  24. <template #control>
  25. <a-switch v-model="fragment"></a-switch>
  26. </template>
  27. </a-setting-list-item>
  28. <a-list-item v-if="fragment" :style="{ padding: '10px 20px' }">
  29. <a-collapse>
  30. <a-collapse-panel header='{{ i18n "pages.settings.fragmentSett"}}' v-if="fragment">
  31. <a-setting-list-item paddings="small">
  32. <template #title>Packets</template>
  33. <template #control>
  34. <a-input type="text" v-model="fragmentPackets"
  35. placeholder="1-1 | 1-3 | tlshello | ..."></a-input>
  36. </template>
  37. </a-setting-list-item>
  38. <a-setting-list-item paddings="small">
  39. <template #title>Length</template>
  40. <template #control>
  41. <a-input type="text" v-model="fragmentLength" placeholder="100-200"></a-input>
  42. </template>
  43. </a-setting-list-item>
  44. <a-setting-list-item paddings="small">
  45. <template #title>Interval</template>
  46. <template #control>
  47. <a-input type="text" v-model="fragmentInterval" placeholder="10-20"></a-input>
  48. </template>
  49. </a-setting-list-item>
  50. </a-collapse-panel>
  51. </a-collapse>
  52. </a-list-item>
  53. </a-collapse-panel>
  54. <a-collapse-panel key="3" header="Noises">
  55. <a-setting-list-item paddings="small">
  56. <template #title>Noises</template>
  57. <template #description>{{ i18n "pages.settings.noisesDesc"}}</template>
  58. <template #control>
  59. <a-switch v-model="noises"></a-switch>
  60. </template>
  61. </a-setting-list-item>
  62. <a-list-item v-if="noises" :style="{ padding: '10px 20px' }">
  63. <a-collapse>
  64. <a-collapse-panel v-for="(noise, index) in noisesArray" :key="index" :header="`Noise №${index + 1}`">
  65. <a-setting-list-item paddings="small">
  66. <template #title>Type</template>
  67. <template #control>
  68. <a-select :value="noise.type" :style="{ width: '100%' }"
  69. :dropdown-class-name="themeSwitcher.currentTheme"
  70. @change="(value) => updateNoiseType(index, value)">
  71. <a-select-option :value="p" :label="p" v-for="p in ['rand', 'base64', 'str', 'hex']" :key="p">
  72. <span>[[ p ]]</span>
  73. </a-select-option>
  74. </a-select>
  75. </template>
  76. </a-setting-list-item>
  77. <a-setting-list-item paddings="small">
  78. <template #title>Packet</template>
  79. <template #control>
  80. <a-input type="text" :value="noise.packet"
  81. @input="(value) => updateNoisePacket(index, event.target.value)"
  82. placeholder="5-10"></a-input>
  83. </template>
  84. </a-setting-list-item>
  85. <a-setting-list-item paddings="small">
  86. <template #title>Delay (ms)</template>
  87. <template #control>
  88. <a-input type="text" :value="noise.delay"
  89. @input="(value) => updateNoiseDelay(index, event.target.value)"
  90. placeholder="10-20"></a-input>
  91. </template>
  92. </a-setting-list-item>
  93. <a-space direction="horizontal" :style="{ padding: '10px 20px' }">
  94. <a-button v-if="noisesArray.length > 1" type="danger"
  95. @click="removeNoise(index)">Remove</a-button>
  96. </a-space>
  97. </a-collapse-panel>
  98. </a-collapse>
  99. <a-button v-if="noises" type="primary" @click="addNoise" :style="{ marginTop: '10px' }">Add Noise</a-button>
  100. </a-list-item>
  101. </a-collapse-panel>
  102. <a-collapse-panel key="4" header='{{ i18n "pages.settings.mux"}}'>
  103. <a-setting-list-item paddings="small">
  104. <template #title>{{ i18n "pages.settings.mux"}}</template>
  105. <template #description>{{ i18n "pages.settings.muxDesc"}}</template>
  106. <template #control>
  107. <a-switch v-model="enableMux"></a-switch>
  108. </template>
  109. </a-setting-list-item>
  110. <a-list-item v-if="enableMux" :style="{ padding: '10px 20px' }">
  111. <a-collapse>
  112. <a-collapse-panel header='{{ i18n "pages.settings.muxSett"}}'>
  113. <a-setting-list-item paddings="small">
  114. <template #title>Concurrency</template>
  115. <template #control>
  116. <a-input-number v-model="muxConcurrency" :min="-1" :max="1024"
  117. :style="{ width: '100%' }"></a-input-number>
  118. </template>
  119. </a-setting-list-item>
  120. <a-setting-list-item paddings="small">
  121. <template #title>xudp Concurrency</template>
  122. <template #control>
  123. <a-input-number v-model="muxXudpConcurrency" :min="-1" :max="1024"
  124. :style="{ width: '100%' }"></a-input-number>
  125. </template>
  126. </a-setting-list-item>
  127. <a-setting-list-item paddings="small">
  128. <template #title>xudp UDP 443</template>
  129. <template #control>
  130. <a-select v-model="muxXudpProxyUDP443" :style="{ width: '100%' }"
  131. :dropdown-class-name="themeSwitcher.currentTheme">
  132. <a-select-option :value="p" :label="p" v-for="p in ['reject', 'allow', 'skip']">
  133. <span>[[ p ]]</span>
  134. </a-select-option>
  135. </a-select>
  136. </template>
  137. </a-setting-list-item>
  138. </a-collapse-panel>
  139. </a-collapse>
  140. </a-list-item>
  141. </a-collapse-panel>
  142. <a-collapse-panel key="5" header='{{ i18n "pages.settings.direct" }}'>
  143. <a-setting-list-item paddings="small">
  144. <template #title>{{ i18n "pages.settings.direct"}}</template>
  145. <template #description>{{ i18n "pages.settings.directDesc"}}</template>
  146. <template #control>
  147. <a-switch v-model="enableDirect"></a-switch>
  148. </template>
  149. </a-setting-list-item>
  150. <a-list-item v-if="enableDirect" :style="{ padding: '10px 20px' }">
  151. <a-collapse>
  152. <a-collapse-panel header='{{ i18n "pages.settings.direct"}}'>
  153. <a-setting-list-item paddings="small">
  154. <template #title>{{ i18n "pages.xray.directips" }}</template>
  155. <template #control>
  156. <a-select mode="tags" :style="{ width: '100%' }" v-model="directIPs"
  157. :dropdown-class-name="themeSwitcher.currentTheme">
  158. <a-select-option :value="p.value" :label="p.label" v-for="p in directIPsOptions">
  159. <span>[[ p.label ]]</span>
  160. </a-select-option>
  161. </a-select>
  162. </template>
  163. </a-setting-list-item>
  164. <a-setting-list-item paddings="small">
  165. <template #title>{{ i18n "pages.xray.directdomains" }}</template>
  166. <template #control>
  167. <a-select mode="tags" :style="{ width: '100%' }" v-model="directDomains"
  168. :dropdown-class-name="themeSwitcher.currentTheme">
  169. <a-select-option :value="p.value" :label="p.label" v-for="p in diretDomainsOptions">
  170. <span>[[ p.label ]]</span>
  171. </a-select-option>
  172. </a-select>
  173. </template>
  174. </a-setting-list-item>
  175. </a-collapse-panel>
  176. </a-collapse>
  177. </a-list-item>
  178. </a-collapse-panel>
  179. </a-collapse>
  180. {{end}}