diff options
| author | Shishkevich D. <135337715+shishkevichd@users.noreply.github.com> | 2025-04-06 12:40:33 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-06 12:40:33 +0300 |
| commit | bea19a263db88fef44b4356082b199fbfcc39a25 (patch) | |
| tree | a111e9328c6273ad9721118238c40cf3004f72a9 /web/html/form/protocol/trojan.html | |
| parent | 878e0d02cd01a045f4f32464124c59e24f98aedd (diff) | |
Code refactoring (#2865)
* refactor: use vue inline styles in entire application
* refactor: setting row in dashboard page
* refactor: use blob for download file in text modal
* refactor: move all html templates in `web/html` folder
* refactor: `DeviceUtils` -> `MediaQueryMixin`
The transition to mixins has been made, as they can update themselves.
* chore: pretty right buttons in `outbounds` tab in xray settings
* refactor: add translations for system status
* refactor: adjust gutter spacing in setting list item
* refactor: use native `a-input-password` for password field
* chore: return old system status
with new translations
* chore: add missing translation
Diffstat (limited to 'web/html/form/protocol/trojan.html')
| -rw-r--r-- | web/html/form/protocol/trojan.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/web/html/form/protocol/trojan.html b/web/html/form/protocol/trojan.html new file mode 100644 index 00000000..fc327721 --- /dev/null +++ b/web/html/form/protocol/trojan.html @@ -0,0 +1,50 @@ +{{define "form/trojan"}} +<a-collapse activeKey="0" v-for="(client, index) in inbound.settings.trojans.slice(0,1)" v-if="!isEdit"> + <a-collapse-panel header='{{ i18n "pages.inbounds.client" }}'> + {{template "form/client"}} + </a-collapse-panel> +</a-collapse> +<a-collapse v-else> + <a-collapse-panel :header="'{{ i18n "pages.client.clientCount"}} : ' + inbound.settings.trojans.length"> + <table width="100%"> + <tr class="client-table-header"> + <th>{{ i18n "pages.inbounds.email" }}</th> + <th>Password</th> + </tr> + <tr v-for="(client, index) in inbound.settings.trojans" :class="index % 2 == 1 ? 'client-table-odd-row' : ''"> + <td>[[ client.email ]]</td> + <td>[[ client.password ]]</td> + </tr> + </table> + </a-collapse-panel> +</a-collapse> +<template v-if="inbound.isTcp"> + <a-form :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }"> + <a-form-item label="Fallbacks"> + <a-button icon="plus" type="primary" size="small" @click="inbound.settings.addFallback()"></a-button> + </a-form-item> + </a-form> + + <!-- trojan fallbacks --> + <a-form v-for="(fallback, index) in inbound.settings.fallbacks" :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }"> + <a-divider :style="{ margin: '0' }"> Fallback [[ index + 1 ]] <a-icon type="delete" @click="() => inbound.settings.delFallback(index)" :style="{ color: 'rgb(255, 77, 79)', cursor: 'pointer' }"></a-icon> + </a-divider> + <a-form-item label='SNI'> + <a-input v-model="fallback.name"></a-input> + </a-form-item> + <a-form-item label='ALPN'> + <a-input v-model="fallback.alpn"></a-input> + </a-form-item> + <a-form-item label='Path'> + <a-input v-model="fallback.path"></a-input> + </a-form-item> + <a-form-item label='Dest'> + <a-input v-model="fallback.dest"></a-input> + </a-form-item> + <a-form-item label='xVer'> + <a-input-number v-model.number="fallback.xver" :min="0" :max="2"></a-input-number> + </a-form-item> + </a-form> + <a-divider style="margin:5px 0;"></a-divider> +</template> +{{end}} |
