api.php 6.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. // 后端WEBAPI
  3. Route::group(['namespace' => 'Api\WebApi', 'middleware' => 'webApi', 'domain' => sysConfig('web_api_url') ?: sysConfig('website_url')], function () {
  4. // ss后端WEBAPI V1版
  5. Route::group(['prefix' => 'ss/v1'], function () {
  6. Route::get('node/{node}', 'SSController@getNodeInfo'); // 获取节点信息
  7. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  8. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  9. Route::get('userList/{node}', 'SSController@getUserList'); // 获取节点可用的用户列表
  10. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  11. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  12. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  13. });
  14. // SSR后端WEBAPI V1版
  15. Route::group(['prefix' => 'ssr/v1'], function () {
  16. Route::get('node/{node}', 'SSRController@getNodeInfo'); // 获取节点信息
  17. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  18. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  19. Route::get('userList/{node}', 'SSRController@getUserList'); // 获取节点可用的用户列表
  20. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  21. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  22. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  23. });
  24. // VNet后端WEBAPI V1版 !!! 即将遗弃的api
  25. Route::group(['prefix' => 'web/v1'], function () {
  26. Route::get('node/{node}', 'SSRController@getNodeInfo'); // 获取节点信息
  27. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  28. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  29. Route::get('userList/{node}', 'SSRController@getUserList'); // 获取节点可用的用户列表
  30. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  31. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  32. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  33. });
  34. // VNet后端WEBAPI V2版 !!! 即将遗弃的api
  35. Route::group(['prefix' => 'vnet/v2'], function () {
  36. Route::get('node/{node}', 'SSRController@getNodeInfo'); // 获取节点信息
  37. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  38. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  39. Route::get('userList/{node}', 'SSRController@getUserList'); // 获取节点可用的用户列表
  40. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  41. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  42. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  43. });
  44. // V2Ray后端WEBAPI V1版
  45. Route::group(['prefix' => 'v2ray/v1'], function () {
  46. Route::get('node/{node}', 'V2RayController@getNodeInfo'); // 获取节点信息
  47. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  48. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  49. Route::get('userList/{node}', 'V2RayController@getUserList'); // 获取节点可用的用户列表
  50. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  51. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  52. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  53. Route::post('certificate/{node}', 'V2RayController@addCertificate'); // 上报节点伪装域名证书信息
  54. });
  55. // Trojan后端WEBAPI V1版
  56. Route::group(['prefix' => 'trojan/v1'], function () {
  57. Route::get('node/{node}', 'TrojanController@getNodeInfo'); // 获取节点信息
  58. Route::post('nodeStatus/{node}', 'CoreController@setNodeStatus'); // 上报节点心跳信息
  59. Route::post('nodeOnline/{node}', 'CoreController@setNodeOnline'); // 上报节点在线人数
  60. Route::get('userList/{node}', 'TrojanController@getUserList'); // 获取节点可用的用户列表
  61. Route::post('userTraffic/{node}', 'CoreController@setUserTraffic'); // 上报用户流量日志
  62. Route::get('nodeRule/{node}', 'CoreController@getNodeRule'); // 获取节点的审计规则
  63. Route::post('trigger/{node}', 'CoreController@addRuleLog'); // 上报用户触发的审计规则记录
  64. });
  65. });
  66. // 客户端API
  67. Route::group(['namespace' => 'Api\Client', 'prefix' => 'v1'], function () {
  68. Route::post('login', 'AuthController@login'); // 登录
  69. Route::post('register', 'AuthController@register'); // 注册
  70. Route::get('logout', 'AuthController@logout'); //登出
  71. Route::get('getconfig', 'ClientController@getConfig'); // 获取配置文件
  72. Route::get('version/update', 'ClientController@checkClientVersion'); // 检查更新
  73. Route::get('shop', 'ClientController@shop'); // 获取商品列表
  74. Route::group(['middleware' => 'auth.client'], function () { // 用户验证
  75. Route::get('getclash', 'ClientController@downloadProxies'); // 下载节点配置
  76. Route::get('getuserinfo', 'ClientController@getUserInfo'); // 获取用户信息
  77. Route::post('doCheckIn', 'ClientController@checkIn'); // 签到
  78. Route::get('checkClashUpdate', 'ClientController@proxyCheck'); // 判断是否更新订阅
  79. Route::get('proxy', 'ClientController@getProxyList'); // 获取节点列表
  80. Route::get('tickets', 'ClientController@ticketList'); // 获取工单列表
  81. Route::post('tickets/add', 'ClientController@ticket_add'); // 提交工单
  82. Route::get('order', 'ClientController@getOrders'); // 获取订单列表
  83. Route::get('invite/gift', 'ClientController@getInvite'); // 获取邀请详情和列表
  84. Route::get('gettransfer', 'ClientController@getUserTransfer'); // 获取剩余流量
  85. });
  86. });