SolusVM伪授权
本文最后更新于 625 天前,其中的信息可能已经有所发展或是发生改变。

安装SolusVM

AlmaLinux 8/CentOS Stream 8

为了执行安装,下载安装程序并选择选项管理节点

# curl -o installer https://files.soluslabs.com/solusvmphp7/install/installer && chmod +x installer && ./installer

CentOS Stream 8 的菜单示例:

CentOS 7/RHEL 7/Scientific Linux 7/Open VZ7

满足软件和硬件要求后,通过 SSH 登录服务器,下载安装程序并启动它:

安装 SolusVM Master

# curl -o install.sh https://files.solusvm.com/install.sh && sh install.sh

您对安装程序中的“UI”(用户界面)类型感兴趣。其他选项将仅安装管理程序(从节点):

CentOS 7 – 没有虚拟化的主节点 – 选项 1:

OpenVZ 7 – 带有 OpenVZ 的主节点 – 选项 2: 

如果您在 OpenVZ 7 服务器上安装了 Master 节点,则需要手动为模板文件创建目录:

# mkdir /vz/template/cache
# chown solusvm.solusvm /vz/template/cache/

修改SolusVM主控的/etc/hosts文件

/etc/hosts文件中插入

你的服务器IP soluslabs.net
你的服务器IP soluslabs.com
你的服务器IP licensing1.soluslabs.net
你的服务器IP licensing2.soluslabs.net
你的服务器IP licensing3.soluslabs.net
你的服务器IP licensing4.soluslabs.net
你的服务器IP licensing5.soluslabs.net
你的服务器IP licensing6.soluslabs.net
你的服务器IP licensing7.soluslabs.net

授权码:SVMTL-88888-88888-88888-88888-88888-88888

屏蔽SolusVM服务器

iptables -I INPUT -s 94.0.0.0/8 -j DROP
iptables -I INPUT -s 144.0.0.0/8 -j DROP
iptables -I INPUT -s 37.0.0.0/8 -j DROP

保存iptables配置
service iptables save


重启iptables
service iptables restart

伪授权服务器Nginx配置文件

server {
        listen 80; # 监听80
        listen [::]:80;
        root /var/www/solusvm;# 文件目录
        index index.php;
        server_name soluslabs.net soluslabs.com licensing1.soluslabs.net licensing2.soluslabs.net licensing3.soluslabs.net licensing4.soluslabs.net licensing5.soluslabs.net licensing6.soluslabs.net licensing7.soluslabs.net; # SolusVM授权服务器
        # PHP相关配置
        location ~ \.php$ {
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include        fastcgi_params;
                fastcgi_pass unix:/run/php74-fpm/php-fpm.sock;
        }

}

SolusVM伪授权文件

在网站目录下创建目录

一键梭哈 mkdir -p clients/modules/servers/licensing 务必在网站目录下执行

在创建的目录下创建 slbs_verify_license.php 文件

内容为

<?php
$lgo = new LicenseSys();
class LicenseSys
{
    private $_s_C_OOO_o01 = "ypO%_Y/y0#rY@KFi==@65%swYskCaCTk-52#*StP6HCsrwP!tB";
    private $_s_C_OOO_o02 = "MM=co=_prb+;XyuHkHfNtyWy/y@/FzcofZ9HqjQ9?XxSb96a.d";
    private $_s_C_OOO_o03 = "31m*R*Z!zmnDjdqovF8Wyq1-LZUAFohEKqn652kM.FGykJF7LT";
    private $_s_C_OOO_o04 = "UF*zssdx8E9Q7+tzZ%*Y#j2=/FFZOekUr1BXB6OANpO1-ivAOm";
    private $_s_C_OOO_o05 = 30;
    private $_s_C_OOO_o06 = "+";
    private $_s_C_OOO_o07 = 30;
    private $_s_C_OOO_o08 = "(";
    private $_s_C_OOO_o09 = "=============================== START KEY DATA =================================\n";
    private $_s_C_OOO_o10 = "\n================================ END KEY DATA ==================================";
    public function LicenseEncode($result)
    {
        $resulttraw = serialize($result);
        $resulttraw = base64_encode($resulttraw);
        $md5Hash = md5($resulttraw . $result['checkDate'] . $this->_s_C_OOO_o04);
        $data = $md5Hash . $resulttraw;
        $md5Hash = md5(strrev($data) . $this->_s_C_OOO_o03);
        $data = $md5Hash . strrev($data);
        $data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o01);
        $data = strrev($data);
        $data = gzdeflate($data);
        $data = convert_uuencode($data);
        $data = strrev($data);
        $data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o02);
        $data = strtoupper($data);
        $data = wordwrap($data, 18, "+", true);
        $data = wordwrap($data, 348, "(", true);
        $data = wordwrap($data, 80, "\n", true);
        $data = $this->_s_C_OOO_o09 . $data;
        $data = $data . $this->_s_C_OOO_o10;
        return $data;
    }
    private function LicenseEncodePart($string, $key)
    {
        $key = sha1($key);
        $strLen = strlen($string);
        $keyLen = strlen($key);
        $i = 0;
        $j =0;
        $hash='';
        while ($i < $strLen) {
            $ordStr = ord(substr($string, $i, 1));
            if ($j == $keyLen) {
                $j = 0;
            }
            $ordKey = ord(substr($key, $j, 1));
            $j++;
            $hash .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36));
            $i += 1;
        }
        return $hash;
    }
}


if(isset($_POST["nodes"]) && isset($_POST["licensekey"]) && isset($_POST["domain"]) && isset($_POST["ip"]) && isset($_POST["dir"])){
    $returnarray = array( 
              'registeredname' =>  '03SEC',
              'companyname' =>  '03SEC' ,
              'email' =>  '[email protected]',
              'productid' =>  '20',
              'productname' =>  'SolusVM Enterprise (RS)',
              'regdate' =>  '2018-07-05',
              'nextduedate' =>  '2999-12-31' ,
              'billingcycle' =>  'Free Account' ,
              'validip' =>  '0.0.0.0',
              'hash2' =>  'dfc82ada90d043bf32568a40ddff8ee27d908bf4e0a916c8b041d2294416ae3310b832838c721b55a79eb125c598d1dc' ,
              'hash' =>  'a0890c3cfe6bd9693afc8d0e18958cbf8bee10cc7f88eb1b0c3278dd24b452508bee10cc7f88eb1b0c3278dd24b45250',
              'status' => 'Active',
              'uuid' => '8c2ee6e2-b5e0-4422-864e-8289d2978521',
              'checkDate' =>  date("Y-M-D"),
              "configoptions" => "Slaves=99999|Mini Slaves=99999|Micro Slaves=99999"
        );
    $data = $lgo->LicenseEncode($returnarray);
    echo($data);
}else{
    echo("No input");
}

评论

  1. nickname
    Windows Chrome
    2 年前
    2022-11-04 14:09:11

    你好内容填写什么

    • 博主
      nickname
      Android Chrome
      2 年前
      2022-11-06 20:59:45

      已补充

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇