add.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <div class="row tile">
  2. <div class="col-md-12 col-md-auto">
  3. <div class="ibox float-e-margins">
  4. <h3 class="ibox-title" langtag="page-add"></h3>
  5. <div class="ibox-content">
  6. <form class="form-horizontal">
  7. <div class="form-group">
  8. <label class="control-label font-bold" langtag="word-scheme"></label>
  9. <div class="col-sm-10">
  10. <select class="form-control" name="type" id="type">
  11. <option {{if eq "tcp" .type}}selected{{end}} value="tcp" langtag="scheme-tcp"></option>
  12. <option {{if eq "udp" .type}}selected{{end}} value="udp" langtag="scheme-udp"></option>
  13. <option {{if eq "httpProxy" .type}}selected{{end}} value="httpProxy" langtag="scheme-httpProxy"></option>
  14. <option {{if eq "socks5" .type}}selected{{end}} value="socks5" langtag="scheme-socks5">
  15. </option>
  16. <option {{if eq "secret" .type}}selected{{end}} value="secret" langtag="scheme-secret"></option>
  17. <option {{if eq "p2p" .type}}selected{{end}} value="p2p" langtag="scheme-p2p"></option>
  18. {{/*<option {{if eq "file" .type}}selected{{end}} value="file" langtag="scheme-file"></option>*/}}
  19. </select>
  20. </div>
  21. </div>
  22. <div class="form-group" id="client_id">
  23. <label class="control-label font-bold" langtag="word-clientid"></label>
  24. <div class="col-sm-10">
  25. <input value="{{.client_id}}" class="form-control" type="text" name="client_id" placeholder="" langtag="word-clientid">
  26. </div>
  27. </div>
  28. <div class="form-group">
  29. <label class="control-label font-bold" langtag="word-remark"></label>
  30. <div class="col-sm-10">
  31. <input class="form-control" type="text" name="remark" placeholder="" langtag="info-unrestricted">
  32. </div>
  33. </div>
  34. {{if eq true .allow_multi_ip}}
  35. <div class="form-group" id="server_ip">
  36. <label class="control-label font-bold" langtag="word-serverip"></label>
  37. <div class="col-sm-10">
  38. <input class="form-control" type="text" value="0.0.0.0" name="server_ip" placeholder="" langtag="info-suchasip">
  39. </div>
  40. </div>
  41. {{end}}
  42. <div class="form-group" id="port">
  43. <label class="control-label font-bold" langtag="word-serverport"></label>
  44. <div class="col-sm-10">
  45. <input class="form-control" type="text" name="port" placeholder="" langtag="info-suchasport">
  46. </div>
  47. </div>
  48. {{if eq true .allow_local_proxy}}
  49. <div class="form-group" id="local_proxy">
  50. <label class="control-label font-bold" langtag="word-proxytolocal"></label>
  51. <div class="col-sm-10">
  52. <select class="form-control" name="local_proxy">
  53. <option value="0" langtag="word-no"></option>
  54. <option value="1" langtag="word-yes"></option>
  55. </select>
  56. </div>
  57. </div>
  58. {{end}}
  59. <div class="form-group" id="target">
  60. <label class="control-label font-bold" langtag="word-target"></label>
  61. <div class="col-sm-10">
  62. <textarea class="form-control" name="target" rows="4" placeholder="" langtag="info-suchasiplist"></textarea>
  63. <span class="help-block m-b-none" langtag="info-targettunnel"></span>
  64. </div>
  65. </div>
  66. <div class="form-group" id="local_path">
  67. <label class="control-label font-bold" langtag="word-localpath"></label>
  68. <div class="col-sm-10">
  69. <input class="form-control" type="text" name="local_path" placeholder="" langtag="info-suchaslocalpath">
  70. </div>
  71. </div>
  72. <div class="form-group" id="strip_pre">
  73. <label class="control-label font-bold" langtag="word-stripprefix"></label>
  74. <div class="col-sm-10">
  75. <input class="form-control" type="text" name="strip_pre" placeholder="" langtag="info-suchasstripprefix">
  76. </div>
  77. </div>
  78. <div class="form-group" id="password">
  79. <label class="control-label font-bold" langtag="word-identificationkey"></label>
  80. <div class="col-sm-10">
  81. <input class="form-control" type="text" name="password" placeholder="" langtag="word-identificationkey">
  82. <span class="help-block m-b-none" langtag="info-identificationkey"></span>
  83. </div>
  84. </div>
  85. <div class="hr-line-dashed"></div>
  86. <div class="form-group">
  87. <div class="col-sm-4 col-sm-offset-2">
  88. <button class="btn btn-success" type="button" onclick="submitform('add', '{{.web_base_url}}/index/add', $('form').serializeArray())">
  89. <i class="fa fa-fw fa-lg fa-check-circle"></i> <span langtag="word-add"></span>
  90. </button>
  91. </div>
  92. </div>
  93. </form>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <script>
  99. var arr = []
  100. arr["all"] = ["type", "port", "compress", "u", "p", "target", "password", "local_path", "strip_pre", "local_proxy"]
  101. arr["tcp"] = ["type", "port", "target", "u", "p", "compress", "local_proxy"]
  102. arr["udp"] = ["type", "port", "target", "compress", "local_proxy"]
  103. arr["socks5"] = ["type", "port", "compress", "u", "p"]
  104. arr["httpProxy"] = ["type", "port", "compress", "u", "p"]
  105. arr["secret"] = ["type", "target", "compress", "u", "p", "password"]
  106. arr["p2p"] = ["type", "target", "password"]
  107. arr["file"] = ["type", "port", "local_path", "strip_pre"]
  108. arrClientHide = ["compress", "u", "p", "crypt", "mux"]
  109. function resetForm() {
  110. for (var i = 0; i < arr["all"].length; i++) {
  111. $("#" + arr["all"][i]).css("display", "none")
  112. }
  113. o = $("#type option:selected").val()
  114. for (var i = 0; i < arr[o].length; i++) {
  115. $("#" + arr[o][i]).css("display", "block")
  116. }
  117. }
  118. function resetClientCnf() {
  119. for (var i = 0; i < arrClientHide.length; i++) {
  120. $("#" + arrClientHide[i]).css("display", "block")
  121. }
  122. op = $("#use_client option:selected").val()
  123. if (op == 1) {
  124. for (var i = 0; i < arrClientHide.length; i++) {
  125. $("#" + arrClientHide[i]).css("display", "none")
  126. }
  127. }
  128. }
  129. $(function () {
  130. resetForm()
  131. resetClientCnf()
  132. $("#type").on("change", function () {
  133. resetForm()
  134. resetClientCnf()
  135. })
  136. $("#use_client").on("change", function () {
  137. resetForm()
  138. resetClientCnf()
  139. })
  140. })
  141. </script>