sftp.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="mobile-web-app-capable" content="yes">
  5. <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"/>
  6. <meta charset="UTF-8">
  7. <link rel="stylesheet" href="../../script/semantic/semantic.min.css">
  8. <script src="../../script/jquery.min.js"></script>
  9. <script src="../../script/semantic/semantic.min.js"></script>
  10. <style>
  11. .hidden{
  12. display:none;
  13. }
  14. .disabled{
  15. opacity: 0.5;
  16. pointer-events: none;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div class="ui form">
  22. <div class="field">
  23. <div class="ui toggle checkbox">
  24. <input id="useUPNP" type="checkbox" name="upnp" onchange="toggleUPNP(this.checked);">
  25. <label>Enable UPnP on SFTP Server Port</label>
  26. <small>Aka Auto Port Forwarding. Disable this option if you are connecting within Local Area Network</small>
  27. </div>
  28. </div>
  29. <div class="field">
  30. <label>Listening Port</label>
  31. <div class="ui labeled input">
  32. <input id="listeningPort" type="number" placeholder="2022" min="22" onchange="updateFTPPort(this.value)">
  33. </div>
  34. </div>
  35. <div id="ok" class="ui secondary inverted green segment" style="display:none;">
  36. <i class="checkmark icon"></i> Setting Applied
  37. </div>
  38. <div id="error" class="ui secondary inverted red segment" style="display:none;">
  39. <i class="remove icon"></i> <span class="msg">Something went wrong</span>
  40. </div>
  41. <div class="ui divider"></div>
  42. </div>
  43. <br><br>
  44. <script>
  45. var serverAllowUPNP = false;
  46. function updateFTPPort(portNumber){
  47. if (portNumber < 21){
  48. showError("Port number must be > 21")
  49. return
  50. }
  51. $.ajax({
  52. url: "../../system/storage/ftp/setPort",
  53. data: {port: portNumber},
  54. success: function(data){
  55. if (data.error !== undefined){
  56. showError(data.error);
  57. }else{
  58. showOK();
  59. }
  60. }
  61. })
  62. }
  63. function showOK(){
  64. $("#ok").stop().finish().slideDown("fast").delay(3000).slideUp("fast");
  65. }
  66. function showError(msg){
  67. $("#error").find(".msg").text(msg);
  68. $("#error").stop().finish().slideDown("fast").delay(3000).slideUp("fast");
  69. }
  70. </script>
  71. </body>
  72. </html>