add.html 8.1 KB

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