add.html 7.5 KB

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