123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
- namespace App\Http\Controllers;
- use App\Http\Controllers\Controller;
- use App\Models\Node;
- use App\Models\Article;
- use Helpers;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
- use Illuminate\Validation\Rule;
- use Illuminate\Support\Facades\Redis;
- use Auth;
- use Session;
- use App\Models\Sms;
- class DownloadControllers extends Controller
- {
- public function index(){
- if(Auth::check()){
- // 用户转换
- if (Session::has('user')) {
- auth()->loginUsingId(Session::get('user'));
- Session::forget('user');
- }
- $user = auth()->user();
- $totalTransfer = $user->transfer_enable;
- $usedTransfer = $user->usedTraffic();
- $unusedTraffic = $totalTransfer - $usedTransfer > 0 ? $totalTransfer - $usedTransfer : 0;
- $expireTime = $user->expired_at;
- $profile= auth()->user()->profile();
- $data = [];
- if (Node::whereIn('type', [1, 4])->whereStatus(1)->exists()) {
- $data[] = 'ss';
- //array_push
- }
- if (Node::whereType(2)->whereStatus(1)->exists()) {
- $data[] = 'v2';
- }
- if (Node::whereType(3)->whereStatus(1)->exists()) {
- $data[] = 'trojan';
- }
- $subscribe = auth()->user()->subscribe;
- //$subscribe_link = route('sub', $subscribe->code);
- $subscribe_link = sysConfig('subscribe_domain') . "/s/" . $subscribe->code;
- $subscribe_linkA = "https://user.vipsix.top" . "/s/" . $subscribe->code;
- $subscribe_linkB = "https://user.vipfive.top" . "/s/" . $subscribe->code;
- $subscribe_linkC = "http://user.vipfive.top" . "/s/" . $subscribe->code;
- // $subarr = ["A"=>"","B"=>""];
- return view('down.dowload', [
- "islogin" => 1,
- 'remainDays' => $expireTime < date('Y-m-d') ? -1 : Helpers::daysToNow($expireTime),
- 'username' => $profile["account"],
- 'unusedTraffic' => flowAutoShow($unusedTraffic),
- 'totalTransfer' => flowAutoShow($totalTransfer),
- 'expireTime' => $expireTime,
- 'banedTime' => $user->ban_time,
- 'unusedPercent' => $totalTransfer > 0 ? round($unusedTraffic / $totalTransfer, 2) * 100 : 0,
- "android" => Article::whereId(8)->first(),
- "ios" => Article::whereId(7)->first(),
- "windows" => Article::whereId(9)->first(),
- "game" => Article::whereId(5)->first(),
- "mac" => Article::whereId(6)->first(),
- "wx" => Article::whereId(10)->first(),
- "v2" => Article::whereId(11)->first(),
- "pg" => Article::whereId(7)->first(),
- "sp" => Article::whereId(13)->first(),
- 'subUrl' => sysConfig('subscribe_domain') . "/s/" . $subscribe->code,
- 'sub' => $data,
- 'paying_user' => auth()->user()->activePayingUser(), // 付费用户判断
- 'Shadowrocket_install' => 'itms-services://?action=download-manifest&url='.sysConfig('website_url').'/clients/Shadowrocket.plist', // 客户端安装
- 'Quantumult_install' => 'itms-services://?action=download-manifest&url='.sysConfig('website_url').'/clients/Quantumult.plist', // 客户端安装
- 'subscribe_status' => $subscribe->status, // 订阅连接
- 'link' => $subscribe_link,
- 'subscribe_link' => 'sub://'.base64url_encode($subscribe_link),
- 'Shadowrocket_link' => 'shadowrocket://add/sub://'.base64url_encode($subscribe_link).'?remarks='.sysConfig('website_name'),
- 'Shadowrocket_linkA' => 'shadowrocket://add/sub://'.base64url_encode($subscribe_linkA).'?remarks='.sysConfig('website_name'),
- 'Shadowrocket_linkB' => 'shadowrocket://add/sub://'.base64url_encode($subscribe_linkB).'?remarks='.sysConfig('website_name'),
- 'Shadowrocket_linkC' => 'shadowrocket://add/sub://'.base64url_encode($subscribe_linkC).'?remarks='.sysConfig('website_name'),
- 'Shadowrocket_linkQrcode' => 'sub://'.base64url_encode($subscribe_link).'#'.base64url_encode(sysConfig('website_name')),
- 'Clash_link' => "clash://install-config?url={$subscribe_link}",
- 'Clash_linkA' => "clash://install-config?url={$subscribe_linkA}",
- 'Clash_linkB' => "clash://install-config?url={$subscribe_linkB}",
- 'Clash_linkC' => "clash:///install-config?url={$subscribe_linkC}",
- 'Quantumultx' => 'quantumult-x:///update-configuration?remote-resource='.json_encode([
- 'server_remote' => "{$subscribe_link}, tag=".urlencode(sysConfig('website_name').' '.sysConfig('website_url')),
- 'filter_remote' => '',
- 'rewrite_remote' => '',
- ]),
- 'Quantumult_linkOut' => 'quantumult://configuration?server='.base64url_encode($subscribe_link).'&filter='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Pro.conf').'&rejection='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Rejection.conf'),
- 'Quantumult_linkIn' => 'quantumult://configuration?server='.base64url_encode($subscribe_link).'&filter='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/BacktoCN.conf').'&rejection='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Rejection.conf'),
- ]);
- } else {
- return view('down.dowIndex',[
- "islogin" => 0,
- "android" => Article::whereId(8)->first(),
- "ios" => Article::whereId(7)->first(),
- "windows" => Article::whereId(9)->first(),
- "game" => Article::whereId(5)->first(),
- "mac" => Article::whereId(6)->first(),
- "wx" => Article::whereId(10)->first(),
- "v2" => Article::whereId(11)->first(),
- "pg" => Article::whereId(7)->first(),
- "sp" => Article::whereId(13)->first(),
- ]);
- }
- }
- public function down(){
- }
- public function article(Request $request)
- {
- $id = $request->input("id");
- $query = Article::whereId($id)->first();
- //var_dump($query); die();
- return view('down.article',["article" => $query]);
- }
- /**
- $values = Redis::lrange('dxzym',0,-1); //获取所有
- if(!empty($values)){
- foreach ($values as $key => $value){
- $data = json_decode($value, true);
- $datas[$key]["fromNumber"] = $data["fromNumber"];
- $datas[$key]["text"] = $data["text"];
- $datas[$key]["time"] = $data["time"];
- Redis::lrem('dxzym',$key,$value);
- }
- }
- * @param Request $request
- * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
- */
- public function ShowCode(Request $request){
- // $datas = [];
- //
- // $values = Redis::lrange('dxzym',0,-1); //获取所有
- // if(!empty($values)){
- // foreach ($values as $key => $value){
- //
- // $data = json_decode($value, true);
- // $datas[$key]["fromNumber"] = $data["fromNumber"];
- // $datas[$key]["text"] = $data["text"];
- // $datas[$key]["time"] = $data["time"];
- //
- // Redis::lrem('dxzym',$key,$value);
- //
- // }
- // }
- $sql = Sms::where('created_at','>=',date('Y-m-d H:i:s', strtotime(' -10 minutes')))->orderByDesc('created_at')->get();
- //return response()->json(['ret' => 1, 'code' => $sql], 200);
- return view('down.zym',['CodeList' => $sql]);
- }
- }
|