ScriptsController.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Support\Str;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Routing\UrlGenerator;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Storage;
  8. use App\Server;
  9. use App\User;
  10. class ScriptsController extends Controller
  11. {
  12. protected $url;
  13. public function __construct(UrlGenerator $url)
  14. {
  15. $this->url = $url;
  16. }
  17. public function install($servercode)
  18. {
  19. $server = Server::where([['servercode', $servercode]])->where([['complete', 0]])->get()->first();
  20. if(!$server) {
  21. return abort(403);
  22. }
  23. $script = Storage::get('scripts/install.sh');
  24. $script = Str::replaceArray('???', [
  25. $server->ip,
  26. $server->port,
  27. $server->username,
  28. $server->password,
  29. $server->dbroot,
  30. $server->servercode,
  31. $this->url->to('/'),
  32. env("ENABLE_SSH_ROOT_ACCESS", 0)
  33. ], $script);
  34. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  35. }
  36. public function hostadd($servercode)
  37. {
  38. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  39. if(!$server) {
  40. return abort(403);
  41. }
  42. $script = Storage::get('scripts/hostadd.sh');
  43. $script = Str::replaceArray('???', [
  44. $server->dbroot,
  45. $server->ip,
  46. ], $script);
  47. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  48. }
  49. public function hostdel($servercode)
  50. {
  51. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  52. if(!$server) {
  53. return abort(403);
  54. }
  55. $script = Storage::get('scripts/hostdel.sh');
  56. $script = Str::replaceArray('???', [
  57. $server->dbroot,
  58. ], $script);
  59. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  60. }
  61. public function hostssl($servercode)
  62. {
  63. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  64. if(!$server) {
  65. return abort(403);
  66. }
  67. $script = Storage::get('scripts/hostssl.sh');
  68. $script = Str::replaceArray('???', [
  69. env('USER_EMAIL', 'admin@admin.com'),
  70. env('USER_EMAIL', 'admin@admin.com'),
  71. ], $script);
  72. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  73. }
  74. public function passwd($servercode)
  75. {
  76. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  77. if(!$server) {
  78. return abort(403);
  79. }
  80. $script = Storage::get('scripts/passwd.sh');
  81. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  82. }
  83. public function aliasadd($servercode)
  84. {
  85. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  86. if(!$server) {
  87. return abort(403);
  88. }
  89. $script = Storage::get('scripts/aliasadd.sh');
  90. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  91. }
  92. public function aliasdel($servercode)
  93. {
  94. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  95. if(!$server) {
  96. return abort(403);
  97. }
  98. $script = Storage::get('scripts/aliasdel.sh');
  99. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  100. }
  101. public function status($servercode)
  102. {
  103. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  104. if(!$server) {
  105. return abort(403);
  106. }
  107. $script = Storage::get('scripts/status.sh');
  108. return response($script)->withHeaders(['Content-Type' =>'application/x-sh']);
  109. }
  110. public function authorizedkeys($servercode)
  111. {
  112. $server = Server::where([['servercode', $servercode]])->where([['complete', 1]])->get()->first();
  113. if(!$server) {
  114. return response("")->withHeaders(['Content-Type' =>'text/plain']);
  115. }
  116. $script = Storage::get('configuration/authorized_keys');
  117. return response($script)->withHeaders(['Content-Type' =>'text/plain']);
  118. }
  119. }