123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- <?php
- // by 请勿倒卖,已申请软著,否则追究法律责任
- namespace app\upload;
- use app\index\Base;
- use app\index\super_sign;
- class install extends Base
- {
- function index()
- {
- $_var_0 = intval(bees_decrypt(SafeRequest("id", "get")));
- $_var_1 = SafeRequest("s", "get");
- $_var_2 = SafeRequest("ssid", "get");
- $_var_3 = db("appid")->where("in_id", $_var_0)->find();
- $_var_4 = db("user")->where("in_userid", $_var_3["in_uid"])->find();
- if (!$_var_3["in_super"]) {
- $_var_4["in_points"] >= $_var_3["in_deduct"] || redirect(getlink($_var_0));
- }
- $_var_5 = md5($_var_0 . "|" . time() . "|" . rand(2, pow(2, 24)));
- db("salt")->insert(array("in_aid" => $_var_0, "in_salt" => $_var_5, "in_time" => time()));
- if ($_var_3["in_sign_type"] != 2) {
- db("downhistory")->where("appid", $_var_0)->whereTime("addtime", "today")->inc("down")->inc("down_points", $_var_3["in_deduct"])->update();
- db("appid")->where("in_id", $_var_0)->inc("in_downloads")->update();
- changeAc(-1 * $_var_3["in_deduct"], $_var_4, "in_points", "[" . $_var_3["in_id"] . "]-" . $_var_3["in_name"] . "-下载扣除");
- }
- if ($_var_3["in_form"] == "iOS") {
- $_var_6 = "https://" . $_SERVER["HTTP_HOST"];
- if ($_var_3["in_super"]) {
- if ($_var_2) {
- $_var_7 = db("super_sign")->where("id", $_var_2)->value("plist_path");
- if ($_var_7 && is_file(IN_ROOT . $_var_7)) {
- $_var_8 = "itms-services://?action=download-manifest&url=" . $_var_6 . "/" . $_var_7;
- redirect($_var_8);
- }
- exit("下载链接已失效" . $_var_7);
- } else {
- $_var_9 = $_COOKIE["udid"] ?? "";
- if ($_var_9) {
- $_var_10 = new super_sign();
- $_var_10->create_logs($_var_3, $_var_9);
- } else {
- $_var_11 = $_var_6 . "/index/super_sign/mobileconfig?app_id=" . $_var_0;
- $_var_12 = $_var_6 . "/data/cert/public/embedded1.mobileprovision";
- redirect($_var_11);
- }
- }
- } else {
- if (substr($_var_3["in_app"], -13) == ".mobileconfig") {
- db("salt")->where("in_salt", $_var_5)->delete();
- redirect(getapp($_var_0, 1));
- } else {
- $_var_13 = $_var_6 . "/upload/install/ios/" . $_var_5 . ".plist";
- redirect("itms-services://?action=download-manifest&url=" . $_var_13);
- }
- }
- } else {
- if (IN_DENIED && getapp($_var_0) == false) {
- redirect("/upload/install/proxy/" . $_var_5 . ".apk");
- } else {
- db("salt")->where("in_salt", $_var_5)->delete();
- redirect(getapp($_var_0, 1));
- }
- }
- }
- function ios()
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache, must-revalidate");
- header("Pragma: no-cache");
- header("Content-type: application/xml;charset=utf-8");
- $_var_14 = explode("/", isset($_SERVER["PATH_INFO"]) ? $_SERVER["PATH_INFO"] : NULL);
- $_var_15 = isset($_var_14[4]) ? $_var_14[4] : NULL;
- $_var_16 = SafeSql(str_replace(".plist", "", $_var_15));
- $_var_17 = db("salt")->where("in_salt", $_var_16)->value("in_aid");
- $_var_17 || exit("Access denied");
- if (IN_DENIED && getapp($_var_17) == false) {
- $_var_18 = get_site_url("s") . "/upload/install/proxy/" . $_var_16 . ".ipa";
- } else {
- db("salt")->where("in_salt='" . $_var_16 . "'")->delete();
- $_var_18 = getapp($_var_17, 1);
- $_var_18 = str_replace("http://", "https://", $_var_18);
- }
- $_var_19 = geticon(db("appid")->where("in_id", $_var_17)->value("in_icon"));
- $_var_20 = db("appid")->where("in_id", $_var_17)->value("in_bid");
- $_var_21 = convert_charset(db("appid")->where("in_id", $_var_17)->value("in_name"));
- echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
- <plist version=\"1.0\">
- <dict>
- <key>items</key>
- <array>
- <dict>
- <key>assets</key>
- <array>
- <dict>
- <key>kind</key>
- <string>software-package</string>
- <key>url</key>
- <string><![CDATA[" . $_var_18 . "]]></string>
- </dict>
- <dict>
- <key>kind</key>
- <string>display-image</string>
- <key>needs-shine</key>
- <integer>0</integer>
- <key>url</key>
- <string><![CDATA[" . $_var_19 . "]]></string>
- </dict>
- <dict>
- <key>kind</key>
- <string>full-size-image</string>
- <key>needs-shine</key>
- <true/>
- <key>url</key>
- <string><![CDATA[" . $_var_19 . "]]></string>
- </dict>
- </array>
- <key>metadata</key>
- <dict>
- <key>bundle-identifier</key>
- <string>" . $_var_20 . "</string>
- <key>bundle-version</key>
- <string><![CDATA[1.0]]></string>
- <key>kind</key>
- <string>software</string>
- <key>title</key>
- <string><![CDATA[" . $_var_21 . "]]></string>
- </dict>
- </dict>
- </array>
- </dict>
- </plist>";
- }
- function proxy()
- {
- db("salt")->where("in_time", "<", strtotime("-60 seconds"))->delete();
- $_var_22 = explode("/", isset($_SERVER["PATH_INFO"]) ? $_SERVER["PATH_INFO"] : NULL);
- $_var_23 = isset($_var_22[4]) ? $_var_22[4] : NULL;
- $_var_24 = SafeSql(str_replace(array(".ipa", ".apk"), array("", ""), $_var_23));
- $_var_25 = db("salt")->where("in_salt", $_var_24)->value("in_aid");
- $_var_25 || exit("Access denied");
- $_var_26 = db("appid")->where("in_id", $_var_25)->find();
- $_var_27 = IN_ATTACHMENT_PATH . $_var_26["in_app"];
- $_var_28 = $_var_26["in_form"] == "Android" ? $_var_26["in_originalName"] : $_var_26["in_app"];
- $_var_29 = filesize($_var_27);
- header("Cache-Control: private");
- header("Content-Type: application/octet-stream");
- header("Content-Disposition: attachment; filename=" . $_var_28);
- header("Content-Transfer-Encoding:binary");
- header("Accept-Ranges: bytes");
- header("Expires:0");
- header("Cache-Control:must-revalidate");
- header("Pragma:public");
- header("Content-Length: " . $_var_29);
- readfile($_var_27);
- }
- }
|