convert.blade.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. @extends('admin.layouts')
  2. @section('content')
  3. <div class="page-content container-fluid">
  4. <div class="panel">
  5. <div class="panel-heading">
  6. <h2 class="panel-title">格式转换
  7. <small>Shadowsocks 转 ShadowsocksR</small>
  8. </h2>
  9. </div>
  10. <div class="panel-body">
  11. <div class="row">
  12. <div class="col-md-4 form-group">
  13. <label for="method">加密方式</label>
  14. <select class="form-control" name="method" id="method">
  15. @foreach (Helpers::methodList() as $method)
  16. <option value="{{$method->name}}" @if($method->is_default) selected @endif>
  17. {{$method->name}}
  18. </option>
  19. @endforeach
  20. </select>
  21. </div>
  22. <div class="col-md-4 form-group">
  23. <label for="transfer_enable">可用流量</label>
  24. <div class="input-group">
  25. <input type="number" class="form-control" name="transfer_enable" value="1000" id="transfer_enable" placeholder="" required>
  26. <span class="input-group-text">GB</span>
  27. </div>
  28. </div>
  29. <div class="col-md-4 form-group">
  30. <label for="protocol">协议</label>
  31. <select class="form-control" name="protocol" id="protocol">
  32. @foreach (Helpers::protocolList() as $protocol)
  33. <option value="{{$protocol->name}}" @if($protocol->is_default) selected @endif>
  34. {{$protocol->name}}
  35. </option>
  36. @endforeach
  37. </select>
  38. </div>
  39. <div class="col-md-4 form-group">
  40. <label for="protocol_param">协议参数</label>
  41. <input type="text" class="form-control" name="protocol_param" id="protocol_param" placeholder="">
  42. </div>
  43. <div class="col-md-4 form-group">
  44. <label for="obfs">混淆</label>
  45. <select class="form-control" name="obfs" id="obfs">
  46. @foreach (Helpers::obfsList() as $obfs)
  47. <option value="{{$obfs->name}}" @if($obfs->is_default) selected @endif>
  48. {{$obfs->name}}
  49. </option>
  50. @endforeach
  51. </select>
  52. </div>
  53. <div class="col-md-4 form-group">
  54. <label for="obfs_param">混淆参数</label>
  55. <input type="text" class="form-control" name="obfs_param" id="obfs_param" placeholder="">
  56. </div>
  57. <div class="col-md-6">
  58. <textarea class="form-control" rows="22" name="content" id="content" placeholder="请填入要转换的配置信息" autofocus></textarea>
  59. </div>
  60. <div class="col-md-6">
  61. <textarea class="form-control" rows="22" name="result" id="result" onclick="this.focus();this.select()" readonly="readonly"></textarea>
  62. </div>
  63. <div class="col-md-6">
  64. <button class="btn btn-block btn-primary" onclick="Convert()">转 换</button>
  65. </div>
  66. <div class="col-md-6">
  67. <a href="{{route('admin.tools.download', ['type' => 1])}}" class="btn btn-block btn-danger">下 载</a>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. @endsection
  74. @section('javascript')
  75. <script>
  76. // 转换
  77. function Convert() {
  78. const content = $('#content').val();
  79. if (content.trim() === '') {
  80. swal.fire({title: '请填入要转换的配置信息', icon: 'warning', timer: 1000, showConfirmButton: false});
  81. return;
  82. }
  83. swal.fire({
  84. title: '确定继续转换吗?',
  85. icon: 'question',
  86. allowEnterKey: false,
  87. showCancelButton: true,
  88. cancelButtonText: '{{trans('home.ticket_close')}}',
  89. confirmButtonText: '{{trans('home.ticket_confirm')}}',
  90. }).then((result) => {
  91. if (result.value) {
  92. $.ajax({
  93. method: 'POST',
  94. url: '{{route('admin.tools.convert')}}',
  95. async: false,
  96. data: {
  97. _token: '{{csrf_token()}}',
  98. method: $('#method').val(),
  99. transfer_enable: $('#transfer_enable').val(),
  100. protocol: $('#protocol').val(),
  101. protocol_param: $('#protocol_param').val(),
  102. obfs: $('#obfs').val(),
  103. obfs_param: $('#obfs_param').val(),
  104. content: content,
  105. },
  106. dataType: 'json',
  107. success: function(ret) {
  108. if (ret.status === 'success') {
  109. $('#result').val(ret.data);
  110. } else {
  111. $('#result').val(ret.message);
  112. }
  113. },
  114. });
  115. }
  116. });
  117. return false;
  118. }
  119. </script>
  120. @endsection