commit 11bed12ea2d34a658b0a95d1071809fd13ebd432 Author: evilgenius Date: Thu Nov 20 17:50:35 2025 +0800 init diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9898ad3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.sh linguist-language=Rust +*.md linguist-language=Rust +*.apk filter=lfs diff=lfs merge=lfs -text diff --git a/APP/PoolNode/Android/PoolNode.apk b/APP/PoolNode/Android/PoolNode.apk new file mode 100644 index 0000000..47e22eb --- /dev/null +++ b/APP/PoolNode/Android/PoolNode.apk @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a91354535ce8da814c186c468fc91c4bc6ad0b5aa650c5da28b8a64ed3c8d40a +size 116397120 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3eaa99e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 RustMinerSystem + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8be3fc0 --- /dev/null +++ b/README.md @@ -0,0 +1,146 @@ +# ![alt text](https://raw.githubusercontent.com/EvilGenius-dot/RustMinerSystem/refs/heads/main/image/_logo.svg) + +

完备的虚拟货币挖矿全链路解决方案。

+ +

+ + version + + + Telegram + + + Discord + + + GitHub stars + +

+ +

+ 矿池代理(抽水) • + 自建矿池 • + 加密压缩 • + 详细教程 • + 免费定制 • + 服务协议 +

+ +![screenshot](https://raw.githubusercontent.com/EvilGenius-dot/RustMinerSystem/main/image/review.gif) + +## RustMinerSystem + +> [!TIP] +> RustMinerSystem既可以代理传统矿池,也可以使您的设备成为一个真正的矿池节点, 具体取决于您的需求。 +> +> 两种不同的方式都可使您的设备开始挖掘各种加密货币, 如果您是场地管理方或是节点拥有者, 还可自定义费率来提升您的盈利。 +> +> 并且RustMinerSystem还提供配套的本地安全客户端[RMS](https://github.com/EvilGenius-dot/RMS), [RMS](https://github.com/EvilGenius-dot/RMS)可加密且压缩数据体积10-20(1000% > 2000%)倍, 大幅降低带宽压力的情况下同时可避免中间人攻击, 大幅 +提升安全性, 哪怕您使用4g流量卡, 单张流量卡依旧可稳定带动5000台以上矿机。 +> +> 在开始使用之前,请认真阅读我们的 [服务协议](https://rustminersystem.gitbook.io/rustminersystem/guan-yu/fu-wu-xie-yi) 。 +> +> 如果您需要将设备接入至传统矿池, 请翻阅 [传统矿池代理](https://rustminersystem.gitbook.io/rustminersystem/chuan-tong-kuang-chi-dai-li/dai-li-chuan-tong-kuang-chi) 教程。 +> +> 如果您想要搭建自己的矿池节点, 请翻阅 [自建矿池节点](https://rustminersystem.gitbook.io/rustminersystem/zi-jian-kuang-chi-jie-dian/cheng-wei-kuang-chi-jie-dian) 教程。 + + + +## 安装RustMinerSystem + +> RustMinerSystem同时提供不同平台以及架构的安装程序(二进制可执行文件), Linux下仅需一行命令即可完成部署, WINDOWS下仅下载可执行程序. 双击打开根据提示即可工作。 + +### WINDOWS + +> 1. 打开以下链接: +> 2. https://github.com/EvilGenius-dot/RustMinerSystem/tree/main/windows +> 3. 找到最新版的RustMinerSystem程序文件, 点击之后等页面跳转完毕找到View raw点击即可下载。 +> 4. 双击启动下载的程序, 根据提示浏览器访问即可进入RustMinerSystem管理后台。 +>5. 默认后台账号密码为 qzpm19kkx xloqslz913 + +### Linux +> - 操作系统推荐使用Ubuntu +> - 复制运行以下shell指令以运行工具包 + +``` +bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/install.sh) +``` + +> - 如果在部分地区下载过慢或是无法访问, 您可尝试备用安装地址 + +``` +bash <(curl -s -L -k https://rustminersystem.com/EvilGenius-dot/RustMinerSystem/raw/main/install.sh) +``` + +> - 如果您是ARM架构处理器, 请使用以下命令安装 + +``` +# ARM +bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/arm-install.sh) +``` +``` +# ARMV7 +bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/armv7-install.sh) +``` + +> - 成功运行后,您将看到以下菜单, 根据提示安装即可。 + +> ![screenshot](https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/image/install.gif) + +### 加入聊天组 + + + Telegram + + + + Discord + + + +### 特别感谢 + +> [!TIP] +> 感谢以下矿池在一定范围内提供了技术支持😊 + + + + + + + + +
+ Logo + + Logo + + Logo + + Logo +
+ +## 服务协议 + +> [!Caution] +> RustMinerSystem受香港法律监管。请注意,不同国家/地区的法律要求可能会限制此类产品和服务。 +> +> 因此,该产品和服务以及某些功能可能不可用,或者在某些司法管辖区或地区或某些用户中可能受到限制。 +> +> 本产品并非VPN类型产品, 因为他无法使不允许地区访问禁止访问的内容。 +> +> 本产品为矿机、矿场管理软件,并非通过不正当手段获取矿机数据, 所有接入的设备均需设备拥有者主动设置矿机连接地址,以此确保任意使用本程序的客户拥有知情权。 +> +> 您不在任何恐怖活动组织及恐怖活动人员名单中,如联合国安理会决议中所列的恐怖活动组织及恐怖活动人员名单。 +> +> 您未被任何国家或地区的行政执法机构限制或禁止使用本程序。 +> +> 您非古巴、伊朗、朝鲜、叙利亚以及其他受到相关国家政府或国际机构执行制裁的国家或地区居民。 +> +> 您非限制或禁止开展数字货币相关活动国家或地区的居民,包括但不限于中国大陆地区等。 +> +> 您使用本程序提供的服务在您所在的国家或地区符合相关法律法规和政策。 +> +> 您同意:如因您所在国家或地区的法律法规和政策或其他任何适用法律的原因,导致您使用本程序的服务违法,您将独立承担相关法律风险和责任,您无条件且不可撤销地放弃向本程序进行追索的权利。 +> +> 您应该理解并遵守当地的法律法规。如果您使用此产品,默认代表将接受上述许可证。如果本产品引起的法律问题与本产品无关。 diff --git a/Readme/i18n/zh-EN/README.md b/Readme/i18n/zh-EN/README.md new file mode 100644 index 0000000..5f9b4df --- /dev/null +++ b/Readme/i18n/zh-EN/README.md @@ -0,0 +1,337 @@ +
+ +
+ +Logo + +[![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code&size=28&duration=3000&pause=1000&color=F76322¢er=true&vCenter=true&width=435&lines=RustMinerSystem)](https://git.io/typing-svg) + + +Logo + +
+
+ +English简体中文 | Русский язык + + + + + + + + + + + + + + + + + + + +[![RustMinerSystem][rustminersystem.io-badge]][rustminersystem.io] +[![Stargazers][stars-shield]][stars-url] + +
+ +# RustMinerSystem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +### 👉 **Service Agreement** + +

       RustMinerSystem is regulated by Hong Kong law. Please note that legal requirements in different countries/regions may restrict such products and services. + +        As a result, the product and services, as well as certain features, may be unavailable or restricted in certain jurisdictions or regions or to certain users. + +        This product is not a VPN-type product, as it cannot enable access to restricted content in disallowed regions. + +        This product is a mining machine and mining farm management software, not acquiring mining machine data through illegitimate means. All accessing devices require the device owner to actively set the mining machine connection address to ensure that customers using this program have informed consent. + +        You are not listed in any terrorist organization and terrorist personnel list, as listed in the resolutions of the United Nations Security Council. + +        You are not restricted or prohibited by any administrative law enforcement agency of any country or region from using this program. + +        You are not a resident of countries or regions such as Cuba, Iran, North Korea, Syria, and other countries or regions subject to sanctions by relevant national governments or international organizations. + +        You are not a resident of countries or regions where activities related to digital currency are restricted or prohibited, including but not limited to mainland China. + +        Your use of the services provided by this program complies with relevant laws, regulations, and policies in your country or region. + +        You agree: if your use of the services provided by this program becomes illegal due to laws, regulations, and policies in your country or region, or any other applicable laws, you will independently bear the legal risks and liabilities, and unconditionally and irrevocably waive the right to claim against this program. + +        You should understand and comply with local laws and regulations. By using this product, you default to accepting the above license. If legal issues arise from the use of this product, they are unrelated to the product itself. +

+ + +
+ +### 👉 **Installation on Linux** + +

  Run the following shell command to execute the toolkit.

+ + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/install.sh) + ``` + +

  After successfully running it, you will see the following menu. Follow the prompts to install accordingly.

+ +         + +

  The default username and password for the backend are: qzpm19kkx xloqslz913

+ +

  For ARM versions, please use the following command for installation:

+ +   ARM: + + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/arm-install.sh) + ``` + +   ARMV7: + + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/armv7-install.sh) + ``` + +
+ +### 👉 **Installation on Windows** + +

  Please download the specified version directly from the Windows directory of this project:

+ + ```sh + https://github.com/EvilGenius-dot/RustMinerSystem/tree/main/windows + ``` + +

  For the Windows version, simply double-click to start it.

+ +

  The default username and password for the backend are: qzpm19kkx xloqslz913

+ +
+ +### 👉 **Supported algorithms and currencies** + +

  For supported algorithms, the corresponding currencies will be hot updated at any time.

+ +
+        +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +
+ +```text + Algorithm Supported currencies + SHA256 BTC、BCH、SPACE + ETHASH ETC、ETHW、ETHF、OCTA、 ETC+ZIL、ETHW+ZIL、ETHF+ZIL、CLORE、NEURAI、NEOXA、ZIL、CLO、UBQ、EGAZ、ELH、AVS、CAU、PAC、PWR、BTN、DUBX、XPB、REDEV2、RTH、DOGETHER + SCRYPT LTC、BEL + KHEAVYHASH KASPA、PYI、SDR + KARLSENHASH KLS + BLAKE2S KDA + BLAKE2B SC、HNS + OCTOPUS CFX + DYNEXSOLVE DNX + EAGLESONG CKB + EQUIHASH ZEN、ZEC + LBRY LBC + X11 DASH、BLOCX + PROGPOW SERO + BLAKE3 ALPH、IRON + RANDOMX XMR、ZEPH、NEVO + KAWPOW RVN、MEWC、AIPG + SHA512256D RXD + AUTOYKOS2 ERG + NEXAPOW NEXA + GHOSTRIDER RTM、RTC、MECU、MAXE、NIKI、SUBI、NEVO + CUCKATOO32 GRIN +``` + + +
+ + + +### 👉 **Join the chat group** + +

  Telegram:https://t.me/rustkt

+ +

  Discord: https://discord.gg/xpjRnv8wpX

+ +
+ +### 👉 **特别感谢** + +        +Logo + +        +Logo + +        +Logo + +

       Thank you for providing technical support within a certain scope for the above mining pool.😊

+ +
+ + + +### 👉 **Update log** + +

  Click to view update logs + + +

+ + + +### 👉 **Custom Exclusive Version Notes:** + +

  1. Join the chat group https://t.me/rustkt

+

  2. Please provide the data in a formatted format, and I will organize it for you to send to the group owner or administrator:

+ + ```text + Example: + + Software Name: [Name of the Software] + + Project URL: [URL of the Project] + + Logo and Description: [Provide the logo image and a brief description of the software] + + ————————————————— + + Currencies: BTC, + + Built-in Fee Ratio: 百分之1 + + Built-in Anonymous Wallet: xxxxxxxxxxxxxx + + Built-in Sub-Accounts: xxxxxxxxxxxx + + Device Names Displayed in Mining Pool: xxxxx + + ————————————————— + + Currencies: ETC + + Built-in Fee Ratio: 百分之1 + + Built-in Anonymous Wallet: xxxxxxxxxxxxxx + + Built-in Sub-Accounts: xxxxxxxxxxxx + + Device Names Displayed in Mining Pool: xxxxx + + ————————————————— + + Currencies: ETC+ZIL + + Built-in Fee Ratio: 百分之1 + + Built-in Anonymous Wallet: etc匿名钱包.zil匿名钱包 + + Built-in Sub-Accounts: xxxxxxxxxxxx + + Device Names Displayed in Mining Pool: xxxxx + + ————————————————— + + ...... + + The built-in fee pool address defaults to the same address as the target address within the software. The fee will be deducted to the target pool address of the port. For each currency, an anonymous wallet and a sub-account are required. For currencies like BTC that do not support anonymous mining, only a sub-account is required to ensure normal operation on any supported type of mining pool. Cross-pool drainage can also be specified. + + If you need assistance with creating installation links, project homepages, etc., you can contact the group owner or administrator for free hosting services. + ``` + +
+ +### 👉 **Port Import/Export** + +

  Three methods are available for importing and exporting ports. Here, we emphasize the Excel file import. If you wish to use Excel for importing, please download and refer to the Excel template file:

+ +

  Please provide the download link for the Excel template.

+ +
+ +### 👉 **Other issues** + +

  This is a free software and does not incur any charges. From a technical perspective, it only requires 0.2% of the terminal device's computing power as a technical return.

+ +
+ + + + +[rustminersystem.io]: https://github.com/EvilGenius-dot/RustMinerSystem +[rustminersystem.io-badge]: https://img.shields.io/badge/RustMinerSystem-v3.9.7-green?logo=rust +[downloads-badge]: https://img.shields.io/github/downloads/ajeetdsouza/zoxide/total?logo=github&logoColor=white&style=flat-square +[releases]: https://github.com/EvilGenius-dot/RustMinerSystem/releases +[stars-url]: https://github.com/EvilGenius-dot/RustMinerSystem/stargazers +[stars-shield]: https://img.shields.io/github/stars/EvilGenius-dot/RustMinerSystem.svg?style=flat +[stars-url]: https://github.com/EvilGenius-dot/RustMinerSystem/stargazers + diff --git a/Readme/i18n/zh-RU/README.md b/Readme/i18n/zh-RU/README.md new file mode 100644 index 0000000..cf4598b --- /dev/null +++ b/Readme/i18n/zh-RU/README.md @@ -0,0 +1,340 @@ +
+ +
+ +Logo + +[![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code&size=28&duration=3000&pause=1000&color=F76322¢er=true&vCenter=true&width=435&lines=RustMinerSystem)](https://git.io/typing-svg) + +Logo + +
+
+ +English简体中文 | Русский язык + + + + + + + + + + + + + + + + + + + +[![RustMinerSystem][rustminersystem.io-badge]][rustminersystem.io] +[![Stargazers][stars-shield]][stars-url] + +
+ +# RustMinerSystem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +### 👉 **Соглашение об обслуживании** + +

       RustMinerSystem подвергается законному регулированию Гонконга. Обратите внимание, что требования различных стран/регионов закона могут ограничивать такие продукты и услуги. + +        Следовательно, этот продукт и услуги, а также некоторые функции могут быть недоступны или ограничены в определенных юрисдикциях или регионах или для некоторых пользователей. + +        Этот продукт не является продуктом типа VPN, поскольку он не способен обеспечить доступ к запрещенному контенту в запрещенных регионах. + +        Этот продукт представляет собой программное обеспечение для управления майнинговыми установками и майнинговыми фермами и не получает данные майнинговых установок незаконным путем, все подключенные устройства должны иметь установленный владельцем устройства активный адрес подключения майнинговой установки для обеспечения информированности любых клиентов, использующих данную программу. + +        Вы не входите в список организаций, занимающихся террористической деятельностью, и лиц, связанных с террористической деятельностью, как указано в резолюциях Совета Безопасности Организации Объединенных Наций. + +        Вы не ограничены или не запрещены использовать эту программу никакими административными или правоохранительными органами ни одной страны или региона. + +        Вы не являетесь жителем стран или регионов, на которых налагаются санкции со стороны правительств или международных организаций, таких как Куба, Иран, КНДР, Сирия и другие. + +        Вы не являетесь жителем стран или регионов, где деятельность, связанная с криптовалютой, ограничена или запрещена, включая, но не ограничиваясь, материковую часть Китая и т. Д. + +        Использование вами услуг, предоставленных этой программой, в вашей стране или регионе соответствует соответствующим законам и политике. + +        Вы соглашаетесь: если использование вами услуг, предоставленных этой программой, станет противозаконным из-за законов и политики вашей страны или региона или любых других применимых законов, вы несете независимую ответственность за соответствующие правовые риски и обязательства, и вы безусловно и безоговорочно отказываетесь от права предъявлять иски к этой программе. + +        Вы должны понимать и соблюдать местные законы и положения. Используя этот продукт, вы подтверждаете свое согласие с вышеуказанными условиями. Если возникнут юридические проблемы из-за использования этого продукта, они не будут связаны с этим продуктом. + +

+ +
+ +### 👉 **Установка на Linux** + +

  Запустите следующую команду оболочки для запуска пакета инструментов

+ + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/install.sh) + ``` + +

  После успешного запуска вы увидите следующее меню. Следуйте инструкциям для установки.

+ +         + +

  По умолчанию учетные данные для входа в систему - qzpm19kkx xloqslz913

+ +

  Для установки версии ARM используйте следующие команды

+ + +   ARM: + + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/arm-install.sh) + ``` + +   ARMV7: + + ```sh + bash <(curl -s -L https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/armv7-install.sh) + ``` + +
+ +### 👉 **Windows安装** + +

  Пожалуйста, загрузите указанную версию из каталога Windows этого проекта.

+ + ```sh + https://github.com/EvilGenius-dot/RustMinerSystem/tree/main/windows + ``` + +

  Для запуска версии Windows просто дважды щелкните по ней.

+ +

  По умолчанию учетные данные для входа в систему - qzpm19kkx xloqslz913

+ +
+ +### 👉 **Поддерживаемые алгоритмы и валюты** + +

  Для поддерживаемых алгоритмов соответствующая валюта будет автоматически обновляться в режиме реального времени.

+ +
+        +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +Logo +
+ +```text + алгоритм Поддерживаемые валюты + SHA256 BTC、BCH、SPACE + ETHASH ETC、ETHW、ETHF、OCTA、 ETC+ZIL、ETHW+ZIL、ETHF+ZIL、CLORE、NEURAI、NEOXA、ZIL、CLO、UBQ、EGAZ、ELH、AVS、CAU、PAC、PWR、BTN、DUBX、XPB、REDEV2、RTH、DOGETHER + SCRYPT LTC、BEL + KHEAVYHASH KASPA、PYI、SDR + KARLSENHASH KLS + BLAKE2S KDA + BLAKE2B SC、HNS + OCTOPUS CFX + DYNEXSOLVE DNX + EAGLESONG CKB + EQUIHASH ZEN、ZEC + LBRY LBC + X11 DASH、BLOCX + PROGPOW SERO + BLAKE3 ALPH、IRON + RANDOMX XMR、ZEPH、NEVO + KAWPOW RVN、MEWC、AIPG + SHA512256D RXD + AUTOYKOS2 ERG + NEXAPOW NEXA + GHOSTRIDER RTM、RTC、MECU、MAXE、NIKI、SUBI、NEVO + CUCKATOO32 GRIN +``` + + +
+ + + +### 👉 **Присоединиться к групповому чату** + +

  Telegram:https://t.me/rustkt

+ +

  Discord: https://discord.gg/xpjRnv8wpX

+ +
+ +### 👉 **特别感谢** + +        +Logo + +        +Logo + +        +Logo + +

       Спасибо этим пулам за предоставление технической поддержки в определенном диапазоне 😊

+ +
+ + + +### 👉 **更新日志** + +

  Нажмите для просмотра журнала обновлений + + +

+ + + +### 👉 **定制专属版本说明** + +

  1. 加入聊天群组 https://t.me/rustkt

+

  2. Пожалуйста, соберите данные в следующем формате и отправьте их владельцу группы или администратору:

+ + ```text + Пример: + + Название программы + + Адрес проекта + + Логотип и описание + + ————————————————— + + Валюта:: BTC, + + Доля встроенных сборов: 百分之1 + + Встроенный анонимный кошелек: xxxxxxxxxxxxxx + + Встроенный субсчет: xxxxxxxxxxxx + + Название оборудования в шахте: xxxxx + + ————————————————— + + Валюта:: ETC + + Доля встроенных сборов: 百分之1 + + Встроенный анонимный кошелек: xxxxxxxxxxxxxx + + Встроенный субсчет: xxxxxxxxxxxx + + Название оборудования в шахте: xxxxx + + ————————————————— + + Валюта:: ETC+ZIL + + Доля встроенных сборов: 百分之1 + + Встроенный анонимный кошелек: etc匿名钱包.zil匿名钱包 + + Встроенный субсчет: xxxxxxxxxxxx + + Название оборудования в шахте: xxxxx + + ————————————————— + + ...... + + Адрес пула по умолчанию совпадает с адресом целевого пула в программном обеспечении, и плата взимается с адреса целевого пула порта, + Каждая валюта требует анонимного кошелька и субсчета, + Такие майнинговые пулы, как BTC, которые не поддерживают анонимное майнинг, предлагают только дочерние счета, + Чтобы обеспечить нормальную работу в бассейнах любого типа поддержки, также может быть назначена перекачка воды через бассейны. + Если вы не делаете ссылку на установку, главную страницу проекта и т. Д. самостоятельно, вы можете связаться с владельцем группы или администратором для бесплатного хостинга + + ``` + +
+ +### 👉 **Порт Импорт, Экспорт** + +

  Импорт порта может быть осуществлен тремя способами: здесь подчеркивается только импорт файлов EXCEL, а для импорта с помощью Excel загрузите и обратитесь к файлу шаблона Excel:

+ +

  Скачать шаблоны Excel

+ +
+ +### 👉 **Other issues** + +

  Это бесплатное программное обеспечение без взимания платы. С технической точки зрения это требует только 0,2% вычислительной мощности конечного устройства в качестве технической отдачи.

+ +
+ + + + +[rustminersystem.io]: https://github.com/EvilGenius-dot/RustMinerSystem +[rustminersystem.io-badge]: https://img.shields.io/badge/RustMinerSystem-v3.9.7-green?logo=rust +[downloads-badge]: https://img.shields.io/github/downloads/ajeetdsouza/zoxide/total?logo=github&logoColor=white&style=flat-square +[releases]: https://github.com/EvilGenius-dot/RustMinerSystem/releases +[stars-url]: https://github.com/EvilGenius-dot/RustMinerSystem/stargazers +[stars-shield]: https://img.shields.io/github/stars/EvilGenius-dot/RustMinerSystem.svg?style=flat +[stars-url]: https://github.com/EvilGenius-dot/RustMinerSystem/stargazers + diff --git a/arm-install.sh b/arm-install.sh new file mode 100644 index 0000000..d8a4559 --- /dev/null +++ b/arm-install.sh @@ -0,0 +1,697 @@ +#!/bin/bash + +VERSION="4.5.0" +DOWNLOAD_HOST="https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/linux/arm" +ORIGIN_EXEC="rustminersystem-${VERSION}" + +SERVICE_NAME="rustservice" + +PATH_RUST="/root/rustminersystem" +PATH_EXEC="rustminersystem" + +PATH_CONFIG="${PATH_RUST}/rust-config" +PATH_NOHUP="${PATH_RUST}/nohup.out" +PATH_ERR="${PATH_RUST}/err.log" +PATH_CUE="${PATH_RUST}/cue" +PATH_D_1="${PATH_RUST}/0.d1" +PATH_D_2="${PATH_RUST}/0.d1-shm" +PATH_D_3="${PATH_RUST}/0.d1-wal" + +# 语言选择菜单 +clear +echo "Please select your language / 请选择语言:" +# echo "" +echo "1. English" +echo "2. 中文" +# echo "" +read -p "$(echo -e "[1-2]:")" lang_choice + +if [ "$lang_choice" = "1" ]; then + prompt_title="---------- English Menu ----------" + prompt_install="1. Install" + prompt_update="2. Update" + prompt_start="3. Start software" + prompt_stop="4. Stop software" + prompt_restart="5. Restart software" + prompt_port="6. Modify startup port" + prompt_ulimit="7. Remove Linux system connection limit (requires server restart to take effect)" + prompt_auto_start="8. Set automatic startup" + prompt_disable_auto_start="9. Disable automatic startup..." + prompt_status="10. Check program running status" + prompt_error_log="11. View error log" + prompt_clear_log="12. Clear log files" + prompt_web_port="13. View current WEB access port" + prompt_uninstall="14. Uninstall" + prompt_reset_pwd="15. Reset account password" + prompt_target_version="16. Install specified version" + prompt_root_no="Please run this script as root!" + prompt_error_command="Invalid command entered. Please try again." + prompt_msg_1="Start installation" + prompt_msg_2="Disable firewall" + prompt_msg_3="Unknown operating system, failed to disable firewall" + m_4="Start program" + m_5="Program is already running, please do not start it again." + m_6="Program started successfully, WEB access port is" + m_7="Default account is qzpm19kkx default password is xloqslz913" + m_8="If you are using the default password and port, please change the account password and web access port in a timely manner through the web settings." + m_9="Password reset completed, changed to default account password qzpm19kkx xloqslz913" + m_10="Terminating process..." + m_11="Not found" + m_12="Process" + m_13="Terminated" + m_14="Set up automatic startup" + m_15="Disable automatic startup..." + m_16="Failed" + m_17="Environment variable configuration file not found, creating one now" + m_18="Modify system connection limit" + m_19="Connection limit has been changed to 65535, please restart the server for the change to take effect" + m_20="Current connection limit:" + m_21="Modification completed, please restart the server for the change to take effect" + m_22="Detected running" + m_23=", it must be stopped before continuing with the installation." + m_24="Enter 1 to stop the running" + m_25="and continue with the installation, enter 2 to cancel the installation." + m_26="Please choose" + m_27="Cancel installation" + m_28="Invalid input, cancelling installation." + m_29="Creating directory" + m_30="Directory already exists, no need to create it again, continuing with the installation." + m_31="Downloading..." + m_32="Downloading program" + m_33="Uninstall completed" + m_34="Press CTRL+C to run in the background" + m_35="Cleaning up logs" + m_36="Cleanup completed" + m_37="Current WEB access port is" + m_38="Enter the published version number to install:" + m_39="Please enter the version number:" + m_40="Program startup failure!!!" + +elif [ "$lang_choice" = "2" ]; then + prompt_title="---------- 中文菜单 ----------" + prompt_install="1. 安装" + prompt_update="2. 更新" + prompt_start="3. 启动软件" + prompt_stop="4. 停止软件" + prompt_restart="5. 重启软件" + prompt_port="6. 修改启动端口" + prompt_ulimit="7. 解除Linux系统连接数限制(需要重启服务器生效)" + prompt_auto_start="8. 设置开机启动" + prompt_disable_auto_start="9. 关闭开机启动" + prompt_status="10. 查看程序运行状态" + prompt_error_log="11. 查看错误日志" + prompt_clear_log="12. 清理日志文件" + prompt_web_port="13. 查看当前WEB访问端口" + prompt_uninstall="14. 卸载" + prompt_reset_pwd="15. 重置认账号密码" + prompt_target_version="16. 安装指定版本" + prompt_root_no="请使用root用户运行此脚本!" + prompt_error_command="输入了错误的指令, 请重新输入。" + prompt_msg_1="开始安装" + prompt_msg_2="关闭防火墙" + prompt_msg_3="未知的操作系统, 关闭防火墙失败" + m_4="启动程序" + m_5="程序已经启动,请不要重复启动。" + m_6="程序启动成功, WEB访问端口" + m_7="默认账号 qzpm19kkx 默认密码 xloqslz913" + m_8="如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。" + m_9="重置密码完成, 已修改为默认账号密码 qzpm19kkx xloqslz913" + m_10="终止进程..." + m_11="未发现" + m_12="进程" + m_13="终止" + m_14="设置开机启动" + m_15="关闭开机启动..." + m_16="失败" + m_17="未发现环境变量配置文件, 开始创建" + m_18="修改系统连接数限制" + m_19="连接数限制已修改为65535,重启服务器后生效" + m_20="当前连接数限制:" + m_21="修改完成, 重启服务器后生效" + m_22="发现正在运行的" + m_23=", 需要停止才可继续安装。" + m_24="输入1停止正在运行的" + m_25="并且继续安装, 输入2取消安装。" + m_26="请选择" + m_27="取消安装" + m_28="输入错误, 取消安装。" + m_29="开始创建目录" + m_30="目录已存在, 无需重复创建, 继续执行安装。" + m_31="开始下载..." + m_32="下载程序" + m_33="卸载完成" + m_34="按住CTRL+C后台运行" + m_35="清理日志" + m_36="清理完成" + m_37="当前WEB访问端口" + m_38="输入已发布的版本来进行安装:" + m_39="请输入版本号:" + m_40="程序启动失败!!!" +else + echo "无效的选择" + exit 1 +fi + +clear + +[ $(id -u) != "0" ] && { echo "$prompt_root_no"; exit 1; } + +echo "$prompt_title" +echo "$prompt_install" +echo "$prompt_update" +echo "$prompt_start" +echo "$prompt_stop" +echo "$prompt_restart" +echo "$prompt_port" +echo "$prompt_ulimit" +echo "$prompt_auto_start" +echo "$prompt_disable_auto_start" +echo "$prompt_status" +echo "$prompt_error_log" +echo "$prompt_clear_log" +echo "$prompt_web_port" +echo "$prompt_uninstall" +echo "$prompt_reset_pwd" +echo "$prompt_target_version" +echo "17. 设置后台https访问" + +update() { + stop + + disable_autostart + + installapp $VERSION +} + + +check_process() { + if [[ $(uname) == "Linux" ]]; then + if pgrep -x "$1" >/dev/null; then + return 0 + else + return 1 + fi + else + if ps aux | grep -v grep | grep "$1" >/dev/null; then + return 0 + else + return 1 + fi + fi +} + +set_port() { + read -p "$(echo -e "请输入要设置的端口号:")" choose + + setConfig START_PORT $choose + + stop + + start +} + +set_https_admin() { + stop + + start +} + +set_https() { + echo "是否开启https后台访问? 请注意,开启后后台地址必须使用https://访问, 关闭后必须使用http://访问。" + echo "1. 不开启" + echo "2. 开启" + + read -p "$(echo -e "请选择[1-2]?:")" choose + + case $choose in + 1) + setConfig ENABLE_WEB_TLS 0 + ;; + 2) + setConfig ENABLE_WEB_TLS 1 + return + ;; + *) + setConfig ENABLE_WEB_TLS 1 + echo "输入错误, 默认不开启。" + return + ;; + esac +} + +get_ip(){ + local IP=$( ip addr | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | egrep -v "^192\.168|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-2]\.|^10\.|^127\.|^255\.|^0\." | head -n 1 ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipv4.icanhazip.com ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipinfo.io/ip ) + [ ! -z ${IP} ] && echo ${IP} || echo +} + +start() { + # set_https + + echo $BLUE "${m_4}..." + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_5}" + return + else + enable_autostart + + sleep 1 + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + clear + port=$(getConfig "START_PORT") + https=$(getConfig "ENABLE_WEB_TLS") + http_h="http://" + http_t="未开启" + + if [ $https = 0 ];then + http_t="当前后台为http协议访问, 请不要使用https访问, 如需使用https, 请运行脚本选择17进行设置。" + http_h="http://" + else + http_t="当前后台为https协议访问, 请不要使用http访问, 如需使用http, 请运行脚本选择17进行设置。" + http_h="https://" + fi + + echo "" + echo "" + echo "|----------------------------------------------------------------|" + echo "程序启动成功, 版本号: ${VERSION}" + echo $http_t + echo "后台访问地址: ${http_h}$(get_ip):${port}" + echo "默认用户名为 qzpm19kkx" + echo "默认密码为 xloqslz913" + echo "如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。" + echo "|----------------------------------------------------------------|" + else + echo "${m_40}" + fi + fi +} + +resetpass() { + stop + + echo "删除配置文件" + + rm -rf $PATH_D_1 + rm -rf $PATH_D_2 + rm -rf $PATH_D_3 + + start + + echo "${m_9}" +} + +restart() { + stop + + start +} + +stop() { + sleep 1 + + disable_autostart + + sleep 1 + + echo "${m_10}" + + kill_process $PATH_EXEC + + sleep 1 +} + +kill_process() { + local process_name="$1" + local pids=($(pgrep "$process_name")) + if [ ${#pids[@]} -eq 0 ]; then + echo "${m_11} $process_name ${m_12}." + return 1 + fi + for pid in "${pids[@]}"; do + echo "Stopping process $pid ..." + kill -TERM "$pid" + done + echo "${m_13} $process_name ." + + sleep 1 +} + +# 设置开机启动且进程守护 +enable_autostart() { + echo "${m_14}" + if [ "$(command -v systemctl)" ]; then + sudo tee /etc/systemd/system/$SERVICE_NAME.service > /dev/null <> /etc/rc.local" + sudo chmod +x /etc/rc.local + fi +} + +# 禁用开机启动函数 +disable_autostart() { + echo "${m_15}" + if [ "$(command -v systemctl)" ]; then + sudo systemctl stop $SERVICE_NAME.service + sudo systemctl disable $SERVICE_NAME.service + sudo rm /etc/systemd/system/$SERVICE_NAME.service + sudo systemctl daemon-reload + else # 系统使用的是SysVinit + sudo sed -i '/\/root\/rustminersystem\/rustminersystem\ &/d' /etc/rc.local + fi + + sleep 1 +} + + +ISSUE() { + echo "请输入指定的版本号, 例如 3.5.0" +} + +filterResult() { + if [ $1 -eq 0 ]; then + echo "" + else + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + echo "【${2}】${m_16}。" + + if [ ! $3 ];then + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + exit 1 + fi + fi + echo -e +} + +getConfig() { + value=$(sed -n 's/^[[:space:]]*'$1'[[:space:]]*=[[:space:]]*\(.*[^[:space:]]\)\([[:space:]]*\)$/\1/p' $PATH_CONFIG) + echo $value +} + +setConfig() { + if [ ! -f "$PATH_CONFIG" ]; then + echo "${m_17}" + + touch $PATH_CONFIG + + chmod -R 777 $PATH_CONFIG + + echo "START_PORT=63521" >> $PATH_CONFIG + echo "ENABLE_WEB_TLS=0" >> $PATH_CONFIG + fi + + if grep -q "^$1=" "$PATH_CONFIG"; then + # 如果key已经存在,则修改它的值 + sed -i "s/^$1=.*/$1=$2/" "$PATH_CONFIG" + echo "已更新配置文件: $PATH_CONFIG" + else + # 如果key不存在,则添加新的key=value行 + echo "$1=$2" >> "$PATH_CONFIG" + echo "已添加配置到文件: $PATH_CONFIG" + fi + + echo "$1已修改为$2" +} + +# 关闭防火墙 +disable_firewall() { + os_name=$(grep "^ID=" /etc/os-release | cut -d "=" -f 2 | tr -d '"') + echo $prompt_msg_2 + + if [ "$os_name" == "ubuntu" ]; then + sudo ufw disable + elif [ "$os_name" == "centos" ]; then + sudo systemctl stop firewalld + sudo systemctl disable firewalld + else + echo $prompt_msg_3 + fi +} + +change_limit() { + echo "${m_18}" + + changeLimit="n" + + if [[ -f /etc/debian_version ]]; then + echo "soft nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "hard nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + + # add PAM configuration to enable the limits for login sessions + if [[ -f /etc/pam.d/common-session ]]; then + grep -q '^session.*pam_limits.so$' /etc/pam.d/common-session || sudo sh -c "echo 'session required pam_limits.so' >> /etc/pam.d/common-session" + fi + fi + + # set file descriptor limits for CentOS/RHEL + if [[ -f /etc/redhat-release ]]; then + echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + fi + + # set file descriptor limits for macOS + if [[ "$(uname)" == "Darwin" ]]; then + sudo launchctl limit maxfiles 65535 65535 + sudo sysctl -w kern.maxfiles=100000 + sudo sysctl -w kern.maxfilesperproc=65535 + fi + + # set systemd file descriptor limits + if [[ -x /bin/systemctl ]]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + systemctl daemon-reexec + fi + + if [ $(grep -c "root soft nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root soft nofile 65535" >>/etc/security/limits.conf + echo "* soft nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "root hard nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root hard nofile 65535" >>/etc/security/limits.conf + echo "* hard nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/user.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/system.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + changeLimit="y" + fi + + if [[ "$changeLimit" = "y" ]]; then + echo "${m_19}" + else + echo -n "${m_20}" + ulimit -n + fi + + echo "${m_21}" +} + +installapp() { + if [ -n "$1" ]; then + VERSION="$1" + ORIGIN_EXEC="rustminersystem-${1}" + fi + + echo $ORIGIN_EXEC + + echo "${prompt_msg_1}${ORIGIN_EXEC}" + + disable_firewall + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_22}${PATH_EXEC}${m_23}" + echo "${m_24}${PATH_EXEC}${m_25}" + + read -p "$(echo -e "${m_26}[1-2]:")" choose + case $choose in + 1) + stop + ;; + 2) + echo "${m_27}" + return + ;; + *) + echo "${m_28}" + return + ;; + esac + fi + + echo "${m_29}" + + if [[ ! -d $PATH_RUST ]];then + mkdir $PATH_RUST + chmod 777 -R $PATH_RUST + else + echo $YELLOW "${m_30}" + fi + + if [[ ! -d $PATH_NOHUP ]];then + touch $PATH_NOHUP + touch $PATH_ERR + + chmod 777 -R $PATH_NOHUP + chmod 777 -R $PATH_ERR + fi + + if [[ ! -f $PATH_CONFIG ]];then + setConfig START_PORT $((RANDOM%65535+1)) + fi + + echo "${m_31}" + + wget -P $PATH_RUST "${DOWNLOAD_HOST}/${ORIGIN_EXEC}" -O "${PATH_RUST}/${PATH_EXEC}" 1>/dev/null + + filterResult $? "${m_32}" + + chmod 777 -R "${PATH_RUST}/${PATH_EXEC}" + + # enable_autostart + + start +} + +uninstall() { + stop + + rm -rf ${PATH_RUST} + + disable_autostart + + echo "${m_33}" +} + +check_hub() { + echo "${m_34}" + tail -f $PATH_NOHUP +} + +check_err() { + echo "${m_34}" + tail -f $PATH_ERR +} + +clearlog() { + echo "${m_35}" + rm $PATH_NOHUP > /dev/null 2>&1 + rm $PATH_ERR > /dev/null 2>&1 + echo "${m_36}" +} + + +lookport() { + port=$(getConfig "START_PORT") + + echo "${m_37}${port}" +} + +install_target() { + echo "${m_38}" + echo "" + ISSUE + echo "" + read -p "$(echo -e "${m_39}")" choose + + installapp $choose +} + + +read -p "$(echo -e "[1-17]:")" choose + +case $choose in +1) + installapp $VERSION + ;; +2) + update + ;; +3) + start + ;; +4) + stop + ;; +5) + restart + ;; +6) + set_port + ;; +7) + change_limit + ;; +8) + enable_autostart + ;; +9) + disable_autostart + ;; +10) + check_hub + ;; +11) + check_err + ;; +12) + clearlog + ;; +13) + lookport + ;; +14) + uninstall + ;; +15) + resetpass + ;; +16) + install_target + ;; +17) + set_https_admin + ;; +*) + echo $prompt_error_command + ;; +esac \ No newline at end of file diff --git a/armv7-install.sh b/armv7-install.sh new file mode 100644 index 0000000..13e9b4d --- /dev/null +++ b/armv7-install.sh @@ -0,0 +1,697 @@ +#!/bin/bash + +VERSION="4.0.0" +DOWNLOAD_HOST="https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/linux/armv7" +ORIGIN_EXEC="rustminersystem-${VERSION}" + +SERVICE_NAME="rustservice" + +PATH_RUST="/root/rustminersystem" +PATH_EXEC="rustminersystem" + +PATH_CONFIG="${PATH_RUST}/rust-config" +PATH_NOHUP="${PATH_RUST}/nohup.out" +PATH_ERR="${PATH_RUST}/err.log" +PATH_CUE="${PATH_RUST}/cue" +PATH_D_1="${PATH_RUST}/0.d1" +PATH_D_2="${PATH_RUST}/0.d1-shm" +PATH_D_3="${PATH_RUST}/0.d1-wal" + +# 语言选择菜单 +clear +echo "Please select your language / 请选择语言:" +# echo "" +echo "1. English" +echo "2. 中文" +# echo "" +read -p "$(echo -e "[1-2]:")" lang_choice + +if [ "$lang_choice" = "1" ]; then + prompt_title="---------- English Menu ----------" + prompt_install="1. Install" + prompt_update="2. Update" + prompt_start="3. Start software" + prompt_stop="4. Stop software" + prompt_restart="5. Restart software" + prompt_port="6. Modify startup port" + prompt_ulimit="7. Remove Linux system connection limit (requires server restart to take effect)" + prompt_auto_start="8. Set automatic startup" + prompt_disable_auto_start="9. Disable automatic startup..." + prompt_status="10. Check program running status" + prompt_error_log="11. View error log" + prompt_clear_log="12. Clear log files" + prompt_web_port="13. View current WEB access port" + prompt_uninstall="14. Uninstall" + prompt_reset_pwd="15. Reset account password" + prompt_target_version="16. Install specified version" + prompt_root_no="Please run this script as root!" + prompt_error_command="Invalid command entered. Please try again." + prompt_msg_1="Start installation" + prompt_msg_2="Disable firewall" + prompt_msg_3="Unknown operating system, failed to disable firewall" + m_4="Start program" + m_5="Program is already running, please do not start it again." + m_6="Program started successfully, WEB access port is" + m_7="Default account is qzpm19kkx default password is xloqslz913" + m_8="If you are using the default password and port, please change the account password and web access port in a timely manner through the web settings." + m_9="Password reset completed, changed to default account password qzpm19kkx xloqslz913" + m_10="Terminating process..." + m_11="Not found" + m_12="Process" + m_13="Terminated" + m_14="Set up automatic startup" + m_15="Disable automatic startup..." + m_16="Failed" + m_17="Environment variable configuration file not found, creating one now" + m_18="Modify system connection limit" + m_19="Connection limit has been changed to 65535, please restart the server for the change to take effect" + m_20="Current connection limit:" + m_21="Modification completed, please restart the server for the change to take effect" + m_22="Detected running" + m_23=", it must be stopped before continuing with the installation." + m_24="Enter 1 to stop the running" + m_25="and continue with the installation, enter 2 to cancel the installation." + m_26="Please choose" + m_27="Cancel installation" + m_28="Invalid input, cancelling installation." + m_29="Creating directory" + m_30="Directory already exists, no need to create it again, continuing with the installation." + m_31="Downloading..." + m_32="Downloading program" + m_33="Uninstall completed" + m_34="Press CTRL+C to run in the background" + m_35="Cleaning up logs" + m_36="Cleanup completed" + m_37="Current WEB access port is" + m_38="Enter the published version number to install:" + m_39="Please enter the version number:" + m_40="Program startup failure!!!" + +elif [ "$lang_choice" = "2" ]; then + prompt_title="---------- 中文菜单 ----------" + prompt_install="1. 安装" + prompt_update="2. 更新" + prompt_start="3. 启动软件" + prompt_stop="4. 停止软件" + prompt_restart="5. 重启软件" + prompt_port="6. 修改启动端口" + prompt_ulimit="7. 解除Linux系统连接数限制(需要重启服务器生效)" + prompt_auto_start="8. 设置开机启动" + prompt_disable_auto_start="9. 关闭开机启动" + prompt_status="10. 查看程序运行状态" + prompt_error_log="11. 查看错误日志" + prompt_clear_log="12. 清理日志文件" + prompt_web_port="13. 查看当前WEB访问端口" + prompt_uninstall="14. 卸载" + prompt_reset_pwd="15. 重置认账号密码" + prompt_target_version="16. 安装指定版本" + prompt_root_no="请使用root用户运行此脚本!" + prompt_error_command="输入了错误的指令, 请重新输入。" + prompt_msg_1="开始安装" + prompt_msg_2="关闭防火墙" + prompt_msg_3="未知的操作系统, 关闭防火墙失败" + m_4="启动程序" + m_5="程序已经启动,请不要重复启动。" + m_6="程序启动成功, WEB访问端口" + m_7="默认账号 qzpm19kkx 默认密码 xloqslz913" + m_8="如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。" + m_9="重置密码完成, 已修改为默认账号密码 qzpm19kkx xloqslz913" + m_10="终止进程..." + m_11="未发现" + m_12="进程" + m_13="终止" + m_14="设置开机启动" + m_15="关闭开机启动..." + m_16="失败" + m_17="未发现环境变量配置文件, 开始创建" + m_18="修改系统连接数限制" + m_19="连接数限制已修改为65535,重启服务器后生效" + m_20="当前连接数限制:" + m_21="修改完成, 重启服务器后生效" + m_22="发现正在运行的" + m_23=", 需要停止才可继续安装。" + m_24="输入1停止正在运行的" + m_25="并且继续安装, 输入2取消安装。" + m_26="请选择" + m_27="取消安装" + m_28="输入错误, 取消安装。" + m_29="开始创建目录" + m_30="目录已存在, 无需重复创建, 继续执行安装。" + m_31="开始下载..." + m_32="下载程序" + m_33="卸载完成" + m_34="按住CTRL+C后台运行" + m_35="清理日志" + m_36="清理完成" + m_37="当前WEB访问端口" + m_38="输入已发布的版本来进行安装:" + m_39="请输入版本号:" + m_40="程序启动失败!!!" +else + echo "无效的选择" + exit 1 +fi + +clear + +[ $(id -u) != "0" ] && { echo "$prompt_root_no"; exit 1; } + +echo "$prompt_title" +echo "$prompt_install" +echo "$prompt_update" +echo "$prompt_start" +echo "$prompt_stop" +echo "$prompt_restart" +echo "$prompt_port" +echo "$prompt_ulimit" +echo "$prompt_auto_start" +echo "$prompt_disable_auto_start" +echo "$prompt_status" +echo "$prompt_error_log" +echo "$prompt_clear_log" +echo "$prompt_web_port" +echo "$prompt_uninstall" +echo "$prompt_reset_pwd" +echo "$prompt_target_version" +echo "17. 设置后台https访问" + +update() { + stop + + disable_autostart + + installapp $VERSION +} + + +check_process() { + if [[ $(uname) == "Linux" ]]; then + if pgrep -x "$1" >/dev/null; then + return 0 + else + return 1 + fi + else + if ps aux | grep -v grep | grep "$1" >/dev/null; then + return 0 + else + return 1 + fi + fi +} + +set_port() { + read -p "$(echo -e "请输入要设置的端口号:")" choose + + setConfig START_PORT $choose + + stop + + start +} + +set_https_admin() { + stop + + start +} + +set_https() { + echo "是否开启https后台访问? 请注意,开启后后台地址必须使用https://访问, 关闭后必须使用http://访问。" + echo "1. 不开启" + echo "2. 开启" + + read -p "$(echo -e "请选择[1-2]?:")" choose + + case $choose in + 1) + setConfig ENABLE_WEB_TLS 0 + ;; + 2) + setConfig ENABLE_WEB_TLS 1 + return + ;; + *) + setConfig ENABLE_WEB_TLS 1 + echo "输入错误, 默认不开启。" + return + ;; + esac +} + +get_ip(){ + local IP=$( ip addr | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | egrep -v "^192\.168|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-2]\.|^10\.|^127\.|^255\.|^0\." | head -n 1 ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipv4.icanhazip.com ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipinfo.io/ip ) + [ ! -z ${IP} ] && echo ${IP} || echo +} + +start() { + # set_https + + echo $BLUE "${m_4}..." + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_5}" + return + else + enable_autostart + + sleep 1 + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + clear + port=$(getConfig "START_PORT") + https=$(getConfig "ENABLE_WEB_TLS") + http_h="http://" + http_t="未开启" + + if [ $https = 0 ];then + http_t="当前后台为http协议访问, 请不要使用https访问, 如需使用https, 请运行脚本选择17进行设置。" + http_h="http://" + else + http_t="当前后台为https协议访问, 请不要使用http访问, 如需使用http, 请运行脚本选择17进行设置。" + http_h="https://" + fi + + echo "" + echo "" + echo "|----------------------------------------------------------------|" + echo "程序启动成功, 版本号: ${VERSION}" + echo $http_t + echo "后台访问地址: ${http_h}$(get_ip):${port}" + echo "默认用户名为 qzpm19kkx" + echo "默认密码为 xloqslz913" + echo "如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。" + echo "|----------------------------------------------------------------|" + else + echo "${m_40}" + fi + fi +} + +resetpass() { + stop + + echo "删除配置文件" + + rm -rf $PATH_D_1 + rm -rf $PATH_D_2 + rm -rf $PATH_D_3 + + start + + echo "${m_9}" +} + +restart() { + stop + + start +} + +stop() { + sleep 1 + + disable_autostart + + sleep 1 + + echo "${m_10}" + + kill_process $PATH_EXEC + + sleep 1 +} + +kill_process() { + local process_name="$1" + local pids=($(pgrep "$process_name")) + if [ ${#pids[@]} -eq 0 ]; then + echo "${m_11} $process_name ${m_12}." + return 1 + fi + for pid in "${pids[@]}"; do + echo "Stopping process $pid ..." + kill -TERM "$pid" + done + echo "${m_13} $process_name ." + + sleep 1 +} + +# 设置开机启动且进程守护 +enable_autostart() { + echo "${m_14}" + if [ "$(command -v systemctl)" ]; then + sudo tee /etc/systemd/system/$SERVICE_NAME.service > /dev/null <> /etc/rc.local" + sudo chmod +x /etc/rc.local + fi +} + +# 禁用开机启动函数 +disable_autostart() { + echo "${m_15}" + if [ "$(command -v systemctl)" ]; then + sudo systemctl stop $SERVICE_NAME.service + sudo systemctl disable $SERVICE_NAME.service + sudo rm /etc/systemd/system/$SERVICE_NAME.service + sudo systemctl daemon-reload + else # 系统使用的是SysVinit + sudo sed -i '/\/root\/rustminersystem\/rustminersystem\ &/d' /etc/rc.local + fi + + sleep 1 +} + + +ISSUE() { + echo "请输入指定的版本号, 例如 3.5.0" +} + +filterResult() { + if [ $1 -eq 0 ]; then + echo "" + else + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + echo "【${2}】${m_16}。" + + if [ ! $3 ];then + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + exit 1 + fi + fi + echo -e +} + +getConfig() { + value=$(sed -n 's/^[[:space:]]*'$1'[[:space:]]*=[[:space:]]*\(.*[^[:space:]]\)\([[:space:]]*\)$/\1/p' $PATH_CONFIG) + echo $value +} + +setConfig() { + if [ ! -f "$PATH_CONFIG" ]; then + echo "${m_17}" + + touch $PATH_CONFIG + + chmod -R 777 $PATH_CONFIG + + echo "START_PORT=63521" >> $PATH_CONFIG + echo "ENABLE_WEB_TLS=0" >> $PATH_CONFIG + fi + + if grep -q "^$1=" "$PATH_CONFIG"; then + # 如果key已经存在,则修改它的值 + sed -i "s/^$1=.*/$1=$2/" "$PATH_CONFIG" + echo "已更新配置文件: $PATH_CONFIG" + else + # 如果key不存在,则添加新的key=value行 + echo "$1=$2" >> "$PATH_CONFIG" + echo "已添加配置到文件: $PATH_CONFIG" + fi + + echo "$1已修改为$2" +} + +# 关闭防火墙 +disable_firewall() { + os_name=$(grep "^ID=" /etc/os-release | cut -d "=" -f 2 | tr -d '"') + echo $prompt_msg_2 + + if [ "$os_name" == "ubuntu" ]; then + sudo ufw disable + elif [ "$os_name" == "centos" ]; then + sudo systemctl stop firewalld + sudo systemctl disable firewalld + else + echo $prompt_msg_3 + fi +} + +change_limit() { + echo "${m_18}" + + changeLimit="n" + + if [[ -f /etc/debian_version ]]; then + echo "soft nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "hard nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + + # add PAM configuration to enable the limits for login sessions + if [[ -f /etc/pam.d/common-session ]]; then + grep -q '^session.*pam_limits.so$' /etc/pam.d/common-session || sudo sh -c "echo 'session required pam_limits.so' >> /etc/pam.d/common-session" + fi + fi + + # set file descriptor limits for CentOS/RHEL + if [[ -f /etc/redhat-release ]]; then + echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + fi + + # set file descriptor limits for macOS + if [[ "$(uname)" == "Darwin" ]]; then + sudo launchctl limit maxfiles 65535 65535 + sudo sysctl -w kern.maxfiles=100000 + sudo sysctl -w kern.maxfilesperproc=65535 + fi + + # set systemd file descriptor limits + if [[ -x /bin/systemctl ]]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + systemctl daemon-reexec + fi + + if [ $(grep -c "root soft nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root soft nofile 65535" >>/etc/security/limits.conf + echo "* soft nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "root hard nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root hard nofile 65535" >>/etc/security/limits.conf + echo "* hard nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/user.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/system.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + changeLimit="y" + fi + + if [[ "$changeLimit" = "y" ]]; then + echo "${m_19}" + else + echo -n "${m_20}" + ulimit -n + fi + + echo "${m_21}" +} + +installapp() { + if [ -n "$1" ]; then + VERSION="$1" + ORIGIN_EXEC="rustminersystem-${1}" + fi + + echo $ORIGIN_EXEC + + echo "${prompt_msg_1}${ORIGIN_EXEC}" + + disable_firewall + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_22}${PATH_EXEC}${m_23}" + echo "${m_24}${PATH_EXEC}${m_25}" + + read -p "$(echo -e "${m_26}[1-2]:")" choose + case $choose in + 1) + stop + ;; + 2) + echo "${m_27}" + return + ;; + *) + echo "${m_28}" + return + ;; + esac + fi + + echo "${m_29}" + + if [[ ! -d $PATH_RUST ]];then + mkdir $PATH_RUST + chmod 777 -R $PATH_RUST + else + echo $YELLOW "${m_30}" + fi + + if [[ ! -d $PATH_NOHUP ]];then + touch $PATH_NOHUP + touch $PATH_ERR + + chmod 777 -R $PATH_NOHUP + chmod 777 -R $PATH_ERR + fi + + if [[ ! -f $PATH_CONFIG ]];then + setConfig START_PORT $((RANDOM%65535+1)) + fi + + echo "${m_31}" + + wget -P $PATH_RUST "${DOWNLOAD_HOST}/${ORIGIN_EXEC}" -O "${PATH_RUST}/${PATH_EXEC}" 1>/dev/null + + filterResult $? "${m_32}" + + chmod 777 -R "${PATH_RUST}/${PATH_EXEC}" + + # enable_autostart + + start +} + +uninstall() { + stop + + rm -rf ${PATH_RUST} + + disable_autostart + + echo "${m_33}" +} + +check_hub() { + echo "${m_34}" + tail -f $PATH_NOHUP +} + +check_err() { + echo "${m_34}" + tail -f $PATH_ERR +} + +clearlog() { + echo "${m_35}" + rm $PATH_NOHUP > /dev/null 2>&1 + rm $PATH_ERR > /dev/null 2>&1 + echo "${m_36}" +} + + +lookport() { + port=$(getConfig "START_PORT") + + echo "${m_37}${port}" +} + +install_target() { + echo "${m_38}" + echo "" + ISSUE + echo "" + read -p "$(echo -e "${m_39}")" choose + + installapp $choose +} + + +read -p "$(echo -e "[1-17]:")" choose + +case $choose in +1) + installapp $VERSION + ;; +2) + update + ;; +3) + start + ;; +4) + stop + ;; +5) + restart + ;; +6) + set_port + ;; +7) + change_limit + ;; +8) + enable_autostart + ;; +9) + disable_autostart + ;; +10) + check_hub + ;; +11) + check_err + ;; +12) + clearlog + ;; +13) + lookport + ;; +14) + uninstall + ;; +15) + resetpass + ;; +16) + install_target + ;; +17) + set_https_admin + ;; +*) + echo $prompt_error_command + ;; +esac \ No newline at end of file diff --git a/excel端口导入模板.xlsx b/excel端口导入模板.xlsx new file mode 100644 index 0000000..2c373e5 Binary files /dev/null and b/excel端口导入模板.xlsx differ diff --git a/image/1.jpg b/image/1.jpg new file mode 100644 index 0000000..1ec75e8 Binary files /dev/null and b/image/1.jpg differ diff --git a/image/1.png b/image/1.png new file mode 100644 index 0000000..1af8073 Binary files /dev/null and b/image/1.png differ diff --git a/image/2.pic.jpg b/image/2.pic.jpg new file mode 100644 index 0000000..e09d3be Binary files /dev/null and b/image/2.pic.jpg differ diff --git a/image/Telegram.svg b/image/Telegram.svg new file mode 100644 index 0000000..f83f261 --- /dev/null +++ b/image/Telegram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/_logo.png b/image/_logo.png new file mode 100644 index 0000000..c8ce00a Binary files /dev/null and b/image/_logo.png differ diff --git a/image/_logo.svg b/image/_logo.svg new file mode 100644 index 0000000..05d76cb --- /dev/null +++ b/image/_logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + Layer 1 + + RustMinerSystem + + \ No newline at end of file diff --git a/image/a1.png b/image/a1.png new file mode 100644 index 0000000..7ec1c7d Binary files /dev/null and b/image/a1.png differ diff --git a/image/antpool.png b/image/antpool.png new file mode 100644 index 0000000..43d29a5 Binary files /dev/null and b/image/antpool.png differ diff --git a/image/bd.png b/image/bd.png new file mode 100644 index 0000000..677f2ca Binary files /dev/null and b/image/bd.png differ diff --git a/image/cn.svg b/image/cn.svg new file mode 100644 index 0000000..2416236 --- /dev/null +++ b/image/cn.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/image/delete.png b/image/delete.png new file mode 100644 index 0000000..916b936 Binary files /dev/null and b/image/delete.png differ diff --git a/image/discord.svg b/image/discord.svg new file mode 100644 index 0000000..e3b7da4 --- /dev/null +++ b/image/discord.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/duankai.png b/image/duankai.png new file mode 100644 index 0000000..adde503 Binary files /dev/null and b/image/duankai.png differ diff --git a/image/e9.png b/image/e9.png new file mode 100644 index 0000000..8da99b2 Binary files /dev/null and b/image/e9.png differ diff --git a/image/e99.png b/image/e99.png new file mode 100644 index 0000000..fd115e1 Binary files /dev/null and b/image/e99.png differ diff --git a/image/edit.png b/image/edit.png new file mode 100644 index 0000000..10fbb45 Binary files /dev/null and b/image/edit.png differ diff --git a/image/etc+zil.svg b/image/etc+zil.svg new file mode 100644 index 0000000..7e0f47e --- /dev/null +++ b/image/etc+zil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/feiji.png b/image/feiji.png new file mode 100644 index 0000000..aa997dc Binary files /dev/null and b/image/feiji.png differ diff --git a/image/hd_logo.png b/image/hd_logo.png new file mode 100644 index 0000000..017ba0d Binary files /dev/null and b/image/hd_logo.png differ diff --git a/image/hj.png b/image/hj.png new file mode 100644 index 0000000..dd19fc0 Binary files /dev/null and b/image/hj.png differ diff --git a/image/icon-ae.png b/image/icon-ae.png new file mode 100644 index 0000000..7d6abcf Binary files /dev/null and b/image/icon-ae.png differ diff --git a/image/icon-aleo.png b/image/icon-aleo.png new file mode 100644 index 0000000..7fb8dad Binary files /dev/null and b/image/icon-aleo.png differ diff --git a/image/icon-alph.png b/image/icon-alph.png new file mode 100644 index 0000000..759b21d Binary files /dev/null and b/image/icon-alph.png differ diff --git a/image/icon-bch.png b/image/icon-bch.png new file mode 100644 index 0000000..179deb7 Binary files /dev/null and b/image/icon-bch.png differ diff --git a/image/icon-beam.png b/image/icon-beam.png new file mode 100644 index 0000000..034fad5 Binary files /dev/null and b/image/icon-beam.png differ diff --git a/image/icon-btc.png b/image/icon-btc.png new file mode 100644 index 0000000..d702a56 Binary files /dev/null and b/image/icon-btc.png differ diff --git a/image/icon-cfx.png b/image/icon-cfx.png new file mode 100644 index 0000000..c0e3096 Binary files /dev/null and b/image/icon-cfx.png differ diff --git a/image/icon-ckb.png b/image/icon-ckb.png new file mode 100644 index 0000000..b759aec Binary files /dev/null and b/image/icon-ckb.png differ diff --git a/image/icon-ctxc.png b/image/icon-ctxc.png new file mode 100644 index 0000000..ca8bdec Binary files /dev/null and b/image/icon-ctxc.png differ diff --git a/image/icon-dash.png b/image/icon-dash.png new file mode 100644 index 0000000..86eefdc Binary files /dev/null and b/image/icon-dash.png differ diff --git a/image/icon-dcr.png b/image/icon-dcr.png new file mode 100644 index 0000000..7121f6a Binary files /dev/null and b/image/icon-dcr.png differ diff --git a/image/icon-dnx.png b/image/icon-dnx.png new file mode 100644 index 0000000..2e4ed4d Binary files /dev/null and b/image/icon-dnx.png differ diff --git a/image/icon-enox.png b/image/icon-enox.png new file mode 100644 index 0000000..f55e129 Binary files /dev/null and b/image/icon-enox.png differ diff --git a/image/icon-erg.png b/image/icon-erg.png new file mode 100644 index 0000000..c3a993f Binary files /dev/null and b/image/icon-erg.png differ diff --git a/image/icon-etc+zil.png b/image/icon-etc+zil.png new file mode 100644 index 0000000..07fecb9 Binary files /dev/null and b/image/icon-etc+zil.png differ diff --git a/image/icon-etc.png b/image/icon-etc.png new file mode 100644 index 0000000..c51d906 Binary files /dev/null and b/image/icon-etc.png differ diff --git a/image/icon-eth.png b/image/icon-eth.png new file mode 100644 index 0000000..eaaaf59 Binary files /dev/null and b/image/icon-eth.png differ diff --git a/image/icon-ethf+zil.png b/image/icon-ethf+zil.png new file mode 100644 index 0000000..892b0a9 Binary files /dev/null and b/image/icon-ethf+zil.png differ diff --git a/image/icon-ethf.png b/image/icon-ethf.png new file mode 100644 index 0000000..eaaaf59 Binary files /dev/null and b/image/icon-ethf.png differ diff --git a/image/icon-ethw+zil.png b/image/icon-ethw+zil.png new file mode 100644 index 0000000..6011b7e Binary files /dev/null and b/image/icon-ethw+zil.png differ diff --git a/image/icon-ethw.png b/image/icon-ethw.png new file mode 100644 index 0000000..4a2d333 Binary files /dev/null and b/image/icon-ethw.png differ diff --git a/image/icon-fb.png b/image/icon-fb.png new file mode 100644 index 0000000..63e93ee Binary files /dev/null and b/image/icon-fb.png differ diff --git a/image/icon-flux.png b/image/icon-flux.png new file mode 100644 index 0000000..f3525b4 Binary files /dev/null and b/image/icon-flux.png differ diff --git a/image/icon-hns.png b/image/icon-hns.png new file mode 100644 index 0000000..b4338a1 Binary files /dev/null and b/image/icon-hns.png differ diff --git a/image/icon-kas(ks0,1,2).png b/image/icon-kas(ks0,1,2).png new file mode 100644 index 0000000..f7643e3 Binary files /dev/null and b/image/icon-kas(ks0,1,2).png differ diff --git a/image/icon-kas(ks3).png b/image/icon-kas(ks3).png new file mode 100644 index 0000000..f7643e3 Binary files /dev/null and b/image/icon-kas(ks3).png differ diff --git a/image/icon-kaspa.png b/image/icon-kaspa.png new file mode 100644 index 0000000..f7643e3 Binary files /dev/null and b/image/icon-kaspa.png differ diff --git a/image/icon-kda.png b/image/icon-kda.png new file mode 100644 index 0000000..f2545ae Binary files /dev/null and b/image/icon-kda.png differ diff --git a/image/icon-lbc.png b/image/icon-lbc.png new file mode 100644 index 0000000..ca36c6c Binary files /dev/null and b/image/icon-lbc.png differ diff --git a/image/icon-logo-blue.png b/image/icon-logo-blue.png new file mode 100644 index 0000000..930309b Binary files /dev/null and b/image/icon-logo-blue.png differ diff --git a/image/icon-ltc.png b/image/icon-ltc.png new file mode 100644 index 0000000..955c0f6 Binary files /dev/null and b/image/icon-ltc.png differ diff --git a/image/icon-meow.png b/image/icon-meow.png new file mode 100644 index 0000000..f9fa45d Binary files /dev/null and b/image/icon-meow.png differ diff --git a/image/icon-neox.png b/image/icon-neox.png new file mode 100644 index 0000000..f55e129 Binary files /dev/null and b/image/icon-neox.png differ diff --git a/image/icon-nginx.png b/image/icon-nginx.png new file mode 100644 index 0000000..fa0444e Binary files /dev/null and b/image/icon-nginx.png differ diff --git a/image/icon-octa.png b/image/icon-octa.png new file mode 100644 index 0000000..bd9598d Binary files /dev/null and b/image/icon-octa.png differ diff --git a/image/icon-rvn.png b/image/icon-rvn.png new file mode 100644 index 0000000..6258e6a Binary files /dev/null and b/image/icon-rvn.png differ diff --git a/image/icon-rxd.png b/image/icon-rxd.png new file mode 100644 index 0000000..95752b3 Binary files /dev/null and b/image/icon-rxd.png differ diff --git a/image/icon-sc.png b/image/icon-sc.png new file mode 100644 index 0000000..eb196f1 Binary files /dev/null and b/image/icon-sc.png differ diff --git a/image/icon-sero.png b/image/icon-sero.png new file mode 100644 index 0000000..a194f87 Binary files /dev/null and b/image/icon-sero.png differ diff --git a/image/icon-xmr.png b/image/icon-xmr.png new file mode 100644 index 0000000..a80488d Binary files /dev/null and b/image/icon-xmr.png differ diff --git a/image/icon-zec.png b/image/icon-zec.png new file mode 100644 index 0000000..b723724 Binary files /dev/null and b/image/icon-zec.png differ diff --git a/image/icon-zen.png b/image/icon-zen.png new file mode 100644 index 0000000..0735869 Binary files /dev/null and b/image/icon-zen.png differ diff --git a/image/icon-zeph.png b/image/icon-zeph.png new file mode 100644 index 0000000..75ba4f7 Binary files /dev/null and b/image/icon-zeph.png differ diff --git a/image/install.gif b/image/install.gif new file mode 100644 index 0000000..dcc7d40 Binary files /dev/null and b/image/install.gif differ diff --git a/image/ktlogo.gif b/image/ktlogo.gif new file mode 100644 index 0000000..e12ef0e Binary files /dev/null and b/image/ktlogo.gif differ diff --git a/image/ktlogo.png b/image/ktlogo.png new file mode 100644 index 0000000..e41ed77 Binary files /dev/null and b/image/ktlogo.png differ diff --git a/image/lianjie.png b/image/lianjie.png new file mode 100644 index 0000000..2474080 Binary files /dev/null and b/image/lianjie.png differ diff --git a/image/logo.png b/image/logo.png new file mode 100644 index 0000000..c8ce00a Binary files /dev/null and b/image/logo.png differ diff --git a/image/logobg1.jpeg b/image/logobg1.jpeg new file mode 100644 index 0000000..a84bf27 Binary files /dev/null and b/image/logobg1.jpeg differ diff --git a/image/merge.png b/image/merge.png new file mode 100644 index 0000000..d284007 Binary files /dev/null and b/image/merge.png differ diff --git a/image/mob.png b/image/mob.png new file mode 100644 index 0000000..83d2f58 Binary files /dev/null and b/image/mob.png differ diff --git a/image/off.svg b/image/off.svg new file mode 100644 index 0000000..f3e9611 --- /dev/null +++ b/image/off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/phone.svg b/image/phone.svg new file mode 100644 index 0000000..fce7530 --- /dev/null +++ b/image/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/play.png b/image/play.png new file mode 100644 index 0000000..0db0c47 Binary files /dev/null and b/image/play.png differ diff --git a/image/poolin.svg b/image/poolin.svg new file mode 100644 index 0000000..c415b77 --- /dev/null +++ b/image/poolin.svg @@ -0,0 +1,75 @@ + + + + Slice 1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/image/ravencoin_dark.svg b/image/ravencoin_dark.svg new file mode 100644 index 0000000..5e26b43 --- /dev/null +++ b/image/ravencoin_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/review.gif b/image/review.gif new file mode 100644 index 0000000..9240b81 Binary files /dev/null and b/image/review.gif differ diff --git a/image/rms.png b/image/rms.png new file mode 100644 index 0000000..9006328 Binary files /dev/null and b/image/rms.png differ diff --git a/image/rust.png b/image/rust.png new file mode 100644 index 0000000..a1fd858 Binary files /dev/null and b/image/rust.png differ diff --git a/image/safe.png b/image/safe.png new file mode 100644 index 0000000..b71e346 Binary files /dev/null and b/image/safe.png differ diff --git a/image/serverj.png b/image/serverj.png new file mode 100644 index 0000000..764b459 Binary files /dev/null and b/image/serverj.png differ diff --git a/image/shoucang.png b/image/shoucang.png new file mode 100644 index 0000000..8789183 Binary files /dev/null and b/image/shoucang.png differ diff --git a/image/smile.png b/image/smile.png new file mode 100644 index 0000000..d7f0c6a Binary files /dev/null and b/image/smile.png differ diff --git a/image/socket.png b/image/socket.png new file mode 100644 index 0000000..ae2d370 Binary files /dev/null and b/image/socket.png differ diff --git a/image/ssl.png b/image/ssl.png new file mode 100644 index 0000000..fbaf327 Binary files /dev/null and b/image/ssl.png differ diff --git a/image/stop.png b/image/stop.png new file mode 100644 index 0000000..331102b Binary files /dev/null and b/image/stop.png differ diff --git a/image/tcp.png b/image/tcp.png new file mode 100644 index 0000000..2216f40 Binary files /dev/null and b/image/tcp.png differ diff --git a/image/theme.svg b/image/theme.svg new file mode 100644 index 0000000..fd99397 --- /dev/null +++ b/image/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/tuding.png b/image/tuding.png new file mode 100644 index 0000000..79500ee Binary files /dev/null and b/image/tuding.png differ diff --git a/image/um.svg b/image/um.svg new file mode 100644 index 0000000..7b91838 --- /dev/null +++ b/image/um.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/image/wallet.png b/image/wallet.png new file mode 100644 index 0000000..a0be670 Binary files /dev/null and b/image/wallet.png differ diff --git a/image/yishoucang.png b/image/yishoucang.png new file mode 100644 index 0000000..f889ca9 Binary files /dev/null and b/image/yishoucang.png differ diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..062bee6 --- /dev/null +++ b/install.sh @@ -0,0 +1,710 @@ +#!/bin/bash + +VERSION="4.5.8" +DOWNLOAD_HOST="https://github.com/EvilGenius-dot/RustMinerSystem/raw/main/linux" +ORIGIN_EXEC="rustminersystem-${VERSION}" + +SERVICE_NAME="rustservice" + +PATH_RUST="/root/rustminersystem" +PATH_EXEC="rustminersystem" + +PATH_CONFIG="${PATH_RUST}/rust-config" +PATH_NOHUP="${PATH_RUST}/nohup.out" +PATH_ERR="${PATH_RUST}/err.log" +PATH_CUE="${PATH_RUST}/cue" +PATH_D_1="${PATH_RUST}/0.d1" +PATH_D_2="${PATH_RUST}/0.d1-shm" +PATH_D_3="${PATH_RUST}/0.d1-wal" + +RED="\033[31m" +GREEN="\033[32m" +YELLOW="\033[33m" +BLUE="\033[34m" +BOLD="\033[1m" +RESET="\033[0m" + + +# 语言选择菜单 +clear +echo "Please select your language / 请选择语言:" +# echo "" +echo "1. English" +echo "2. 中文" +# echo "" +read -p "$(echo -e "[1-2]:")" lang_choice + +if [ "$lang_choice" = "1" ]; then + prompt_title="---------- English Menu ----------" + prompt_install="1. Install" + prompt_update="2. Update" + prompt_start="3. Start software" + prompt_stop="4. Stop software" + prompt_restart="5. Restart software" + prompt_port="6. Modify startup port" + prompt_ulimit="7. Remove Linux system connection limit (requires server restart to take effect)" + prompt_auto_start="8. Set automatic startup" + prompt_disable_auto_start="9. Disable automatic startup..." + prompt_status="10. Check program running status" + prompt_error_log="11. View error log" + prompt_clear_log="12. Clear log files" + prompt_web_port="13. View current WEB access port" + prompt_uninstall="14. Uninstall" + prompt_reset_pwd="15. Reset account password" + prompt_target_version="16. Install specified version" + prompt_root_no="Please run this script as root!" + prompt_error_command="Invalid command entered. Please try again." + prompt_msg_1="Start installation" + prompt_msg_2="Disable firewall" + prompt_msg_3="Unknown operating system, failed to disable firewall" + m_4="Start program" + m_5="Program is already running, please do not start it again." + m_6="Program started successfully, WEB access port is" + m_7="Default account is qzpm19kkx default password is xloqslz913" + m_8="If you are using the default password and port, please change the account password and web access port in a timely manner through the web settings." + m_9="Password reset completed, changed to default account password qzpm19kkx xloqslz913" + m_10="Terminating process..." + m_11="Not found" + m_12="Process" + m_13="Terminated" + m_14="Set up automatic startup" + m_15="Disable automatic startup..." + m_16="Failed" + m_17="Environment variable configuration file not found, creating one now" + m_18="Modify system connection limit" + m_19="Connection limit has been changed to 65535, please restart the server for the change to take effect" + m_20="Current connection limit:" + m_21="Modification completed, please restart the server for the change to take effect" + m_22="Detected running" + m_23=", it must be stopped before continuing with the installation." + m_24="Enter 1 to stop the running" + m_25="and continue with the installation, enter 2 to cancel the installation." + m_26="Please choose" + m_27="Cancel installation" + m_28="Invalid input, cancelling installation." + m_29="Creating directory" + m_30="Directory already exists, no need to create it again, continuing with the installation." + m_31="Downloading..." + m_32="Downloading program" + m_33="Uninstall completed" + m_34="Press CTRL+C to run in the background" + m_35="Cleaning up logs" + m_36="Cleanup completed" + m_37="Current WEB access port is" + m_38="Enter the published version number to install:" + m_39="Please enter the version number:" + m_40="Program startup failure!!!" + +elif [ "$lang_choice" = "2" ]; then + prompt_title="---------- 中文菜单 ----------" + prompt_install="1. 安装" + prompt_update="2. 更新" + prompt_start="3. 启动软件" + prompt_stop="4. 停止软件" + prompt_restart="5. 重启软件" + prompt_port="6. 修改启动端口" + prompt_ulimit="7. 解除Linux系统连接数限制(需要重启服务器生效)" + prompt_auto_start="8. 设置开机启动" + prompt_disable_auto_start="9. 关闭开机启动" + prompt_status="10. 查看程序运行状态" + prompt_error_log="11. 查看错误日志" + prompt_clear_log="12. 清理日志文件" + prompt_web_port="13. 查看当前WEB访问端口" + prompt_uninstall="14. 卸载" + prompt_reset_pwd="15. 重置认账号密码" + prompt_target_version="16. 安装指定版本" + prompt_root_no="请使用root用户运行此脚本!" + prompt_error_command="输入了错误的指令, 请重新输入。" + prompt_msg_1="开始安装" + prompt_msg_2="关闭防火墙" + prompt_msg_3="未知的操作系统, 关闭防火墙失败" + m_4="启动程序" + m_5="程序已经启动,请不要重复启动。" + m_6="程序启动成功, WEB访问端口" + m_7="默认账号 qzpm19kkx 默认密码 xloqslz913" + m_8="如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。" + m_9="重置密码完成, 已修改为默认账号密码 qzpm19kkx xloqslz913" + m_10="终止进程..." + m_11="未发现" + m_12="进程" + m_13="终止" + m_14="设置开机启动" + m_15="关闭开机启动..." + m_16="失败" + m_17="未发现环境变量配置文件, 开始创建" + m_18="修改系统连接数限制" + m_19="连接数限制已修改为65535,重启服务器后生效" + m_20="当前连接数限制:" + m_21="修改完成, 重启服务器后生效" + m_22="发现正在运行的" + m_23=", 需要停止才可继续安装。" + m_24="输入1停止正在运行的" + m_25="并且继续安装, 输入2取消安装。" + m_26="请选择" + m_27="取消安装" + m_28="输入错误, 取消安装。" + m_29="开始创建目录" + m_30="目录已存在, 无需重复创建, 继续执行安装。" + m_31="开始下载..." + m_32="下载程序" + m_33="卸载完成" + m_34="按住CTRL+C后台运行" + m_35="清理日志" + m_36="清理完成" + m_37="当前WEB访问端口" + m_38="输入已发布的版本来进行安装:" + m_39="请输入版本号:" + m_40="程序启动失败!!!" +else + echo "无效的选择" + exit 1 +fi + +clear + +[ $(id -u) != "0" ] && { echo "$prompt_root_no"; exit 1; } + +echo "$prompt_title" +echo "$prompt_install" +echo "$prompt_update" +echo "$prompt_start" +echo "$prompt_stop" +echo "$prompt_restart" +echo "$prompt_port" +echo "$prompt_ulimit" +echo "$prompt_auto_start" +echo "$prompt_disable_auto_start" +echo "$prompt_status" +echo "$prompt_error_log" +echo "$prompt_clear_log" +echo "$prompt_web_port" +echo "$prompt_uninstall" +echo "$prompt_reset_pwd" +echo "$prompt_target_version" +echo "17. 设置后台https访问" + +update() { + stop + + disable_autostart + + installapp $VERSION +} + + +check_process() { + if [[ $(uname) == "Linux" ]]; then + if pgrep -x "$1" >/dev/null; then + return 0 + else + return 1 + fi + else + if ps aux | grep -v grep | grep "$1" >/dev/null; then + return 0 + else + return 1 + fi + fi +} + +set_port() { + read -p "$(echo -e "请输入要设置的端口号:")" choose + + setConfig START_PORT $choose + + stop + + start +} + +set_https_admin() { + stop + + start +} + +set_https() { + echo "是否开启https后台访问? 请注意,开启后后台地址必须使用https://访问, 关闭后必须使用http://访问。" + echo "1. 不开启" + echo "2. 开启" + + read -p "$(echo -e "请选择[1-2]?:")" choose + + case $choose in + 1) + setConfig ENABLE_WEB_TLS 0 + ;; + 2) + setConfig ENABLE_WEB_TLS 1 + return + ;; + *) + setConfig ENABLE_WEB_TLS 1 + echo "输入错误, 默认不开启。" + return + ;; + esac +} + +get_ip(){ + local IP=$( ip addr | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | egrep -v "^192\.168|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-2]\.|^10\.|^127\.|^255\.|^0\." | head -n 1 ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipv4.icanhazip.com ) + [ -z ${IP} ] && IP=$( wget -qO- -t1 -T2 ipinfo.io/ip ) + [ ! -z ${IP} ] && echo ${IP} || echo +} + +start() { + # set_https + + echo "${m_4}..." + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_5}" + return + else + enable_autostart + + sleep 1 + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + clear + port=$(getConfig "START_PORT") + https=$(getConfig "ENABLE_WEB_TLS") + http_h="http://" + http_t="未开启" + + if [ $https = 0 ];then + http_t="当前后台为http协议访问, 请不要使用https访问, 如需使用https, 请运行脚本选择17进行设置。" + http_h="http://" + else + http_t="当前后台为https协议访问, 请不要使用http访问, 如需使用http, 请运行脚本选择17进行设置。" + http_h="https://" + fi + + echo "" + echo "" + echo -e "|----------------------------------------------------------------|" + echo -e " ✅程序启动成功, 版本号: ${BOLD}${BLUE}${VERSION}${RESET} " + echo -e "" + echo -e "👉️后台访问地址: ${BOLD}${GREEN}${http_h}$(get_ip):${port}${RESET}" + echo -e "👉️默认用户名: ${BOLD}${GREEN}qzpm19kkx${RESET}" + echo -e "👉️默认密码: ${BOLD}${GREEN}xloqslz913${RESET}" + echo -e "" + echo -e "⭐️提示: ${BOLD}${BLUE}公网访问管理后台, 请记得打开运营商后台防火墙。${RESET}" + echo -e "⭐️提示: ${BOLD}${BLUE}如果您是默认密码及默认端口, 请及时在网页设置中修改账号密码及web访问端口。${RESET}" + echo -e "⭐️提示: ${BOLD}${BLUE}${http_t}${RESET}" + echo "|----------------------------------------------------------------|" + else + echo "${m_40}" + fi + fi +} + +resetpass() { + stop + + echo "删除配置文件" + + rm -rf $PATH_D_1 + rm -rf $PATH_D_2 + rm -rf $PATH_D_3 + + start + + echo "${m_9}" +} + +restart() { + stop + + start +} + +stop() { + sleep 1 + + disable_autostart + + sleep 1 + + echo "${m_10}" + + kill_process $PATH_EXEC + + sleep 1 +} + +kill_process() { + local process_name="$1" + local pids=($(pgrep "$process_name")) + if [ ${#pids[@]} -eq 0 ]; then + echo "${m_11} $process_name ${m_12}." + return 1 + fi + for pid in "${pids[@]}"; do + echo "Stopping process $pid ..." + kill -TERM "$pid" + done + echo "${m_13} $process_name ." + + sleep 1 +} + +# 设置开机启动且进程守护 +enable_autostart() { + echo "${m_14}" + if [ "$(command -v systemctl)" ]; then + tee /etc/systemd/system/$SERVICE_NAME.service > /dev/null <> /etc/rc.local" + chmod +x /etc/rc.local + fi +} + +# 禁用开机启动函数 +disable_autostart() { + echo "${m_15}" + if [ "$(command -v systemctl)" ]; then + systemctl stop $SERVICE_NAME.service + systemctl disable $SERVICE_NAME.service + rm /etc/systemd/system/$SERVICE_NAME.service + systemctl daemon-reload + else # 系统使用的是SysVinit + sed -i '/\/root\/rustminersystem\/rustminersystem\ &/d' /etc/rc.local + fi + + sleep 1 +} + + +ISSUE() { + echo "请输入指定的版本号, 例如 3.5.0" +} + +filterResult() { + if [ $1 -eq 0 ]; then + echo "" + else + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + echo "【${2}】${m_16}。" + + if [ ! $3 ];then + echo "!!!!!!!!!!!!!!!ERROR!!!!!!!!!!!!!!!!" + exit 1 + fi + fi + echo -e +} + +getConfig() { + value=$(sed -n 's/^[[:space:]]*'$1'[[:space:]]*=[[:space:]]*\(.*[^[:space:]]\)\([[:space:]]*\)$/\1/p' $PATH_CONFIG) + echo $value +} + +setConfig() { + if [ ! -f "$PATH_CONFIG" ]; then + echo "${m_17}" + + touch $PATH_CONFIG + + chmod -R 777 $PATH_CONFIG + + echo "START_PORT=63521" >> $PATH_CONFIG + echo "ENABLE_WEB_TLS=0" >> $PATH_CONFIG + fi + + if grep -q "^$1=" "$PATH_CONFIG"; then + # 如果key已经存在,则修改它的值 + sed -i "s/^$1=.*/$1=$2/" "$PATH_CONFIG" + echo "已更新配置文件: $PATH_CONFIG" + else + # 如果key不存在,则添加新的key=value行 + echo "$1=$2" >> "$PATH_CONFIG" + echo "已添加配置到文件: $PATH_CONFIG" + fi + + echo "$1已修改为$2" +} + +# 关闭防火墙 +disable_firewall() { + os_name=$(grep "^ID=" /etc/os-release | cut -d "=" -f 2 | tr -d '"') + echo $prompt_msg_2 + + if [ "$os_name" == "ubuntu" ]; then + ufw disable + elif [ "$os_name" == "centos" ]; then + systemctl stop firewalld + systemctl disable firewalld + else + echo $prompt_msg_3 + fi +} + +change_limit() { + echo "${m_18}" + + changeLimit="n" + + if [[ -f /etc/debian_version ]]; then + echo "soft nofile 65535" | tee -a /etc/security/limits.conf + echo "hard nofile 65535" | tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | tee -a /etc/sysctl.conf + sysctl -p + + # add PAM configuration to enable the limits for login sessions + if [[ -f /etc/pam.d/common-session ]]; then + grep -q '^session.*pam_limits.so$' /etc/pam.d/common-session || sh -c "echo 'session required pam_limits.so' >> /etc/pam.d/common-session" + fi + fi + + # set file descriptor limits for CentOS/RHEL + if [[ -f /etc/redhat-release ]]; then + echo "* soft nofile 65535" | tee -a /etc/security/limits.conf + echo "* hard nofile 65535" | tee -a /etc/security/limits.conf + echo "fs.file-max = 100000" | tee -a /etc/sysctl.conf + sysctl -p + fi + + # set file descriptor limits for macOS + if [[ "$(uname)" == "Darwin" ]]; then + launchctl limit maxfiles 65535 65535 + sysctl -w kern.maxfiles=100000 + sysctl -w kern.maxfilesperproc=65535 + fi + + # set systemd file descriptor limits + if [[ -x /bin/systemctl ]]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + systemctl daemon-reexec + fi + + if [ $(grep -c "root soft nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root soft nofile 65535" >>/etc/security/limits.conf + echo "* soft nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "root hard nofile" /etc/security/limits.conf) -eq '0' ]; then + echo "root hard nofile 65535" >>/etc/security/limits.conf + echo "* hard nofile 65535" >>/etc/security/limits.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/user.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/user.conf + changeLimit="y" + fi + + if [ $(grep -c "DefaultLimitNOFILE=65535" /etc/systemd/system.conf) -eq '0' ]; then + echo "DefaultLimitNOFILE=65535" >>/etc/systemd/system.conf + changeLimit="y" + fi + + if [[ "$changeLimit" = "y" ]]; then + echo "${m_19}" + else + echo -n "${m_20}" + ulimit -n + fi + + echo "${m_21}" +} + +installapp() { + if [ -n "$1" ]; then + VERSION="$1" + ORIGIN_EXEC="rustminersystem-${1}" + fi + + echo $ORIGIN_EXEC + + echo "${prompt_msg_1}${ORIGIN_EXEC}" + + disable_firewall + + check_process $PATH_EXEC + + if [ $? -eq 0 ]; then + echo "${m_22}${PATH_EXEC}${m_23}" + echo "${m_24}${PATH_EXEC}${m_25}" + + read -p "$(echo -e "${m_26}[1-2]:")" choose + case $choose in + 1) + stop + ;; + 2) + echo "${m_27}" + return + ;; + *) + echo "${m_28}" + return + ;; + esac + fi + + echo "${m_29}" + + if [[ ! -d $PATH_RUST ]];then + mkdir $PATH_RUST + chmod 777 -R $PATH_RUST + else + echo $YELLOW "${m_30}" + fi + + if [[ ! -d $PATH_NOHUP ]];then + touch $PATH_NOHUP + touch $PATH_ERR + + chmod 777 -R $PATH_NOHUP + chmod 777 -R $PATH_ERR + fi + + if [[ ! -f $PATH_CONFIG ]];then + setConfig START_PORT $((RANDOM%65535+1)) + fi + + change_limit + + echo "${m_31}" + + wget -P $PATH_RUST "${DOWNLOAD_HOST}/${ORIGIN_EXEC}" -O "${PATH_RUST}/${PATH_EXEC}" 1>/dev/null + + filterResult $? "${m_32}" + + chmod 777 -R "${PATH_RUST}/${PATH_EXEC}" + + # enable_autostart + + start +} + +uninstall() { + stop + + rm -rf ${PATH_RUST} + + disable_autostart + + echo "${m_33}" +} + +check_hub() { + echo "${m_34}" + tail -f $PATH_NOHUP +} + +check_err() { + echo "${m_34}" + tail -f $PATH_ERR +} + +clearlog() { + echo "${m_35}" + rm $PATH_NOHUP > /dev/null 2>&1 + rm $PATH_ERR > /dev/null 2>&1 + echo "${m_36}" +} + + +lookport() { + port=$(getConfig "START_PORT") + + echo "${m_37}${port}" +} + +install_target() { + echo "${m_38}" + echo "" + ISSUE + echo "" + read -p "$(echo -e "${m_39}")" choose + + installapp $choose +} + + +read -p "$(echo -e "[1-17]:")" choose + +case $choose in +1) + installapp $VERSION + ;; +2) + update + ;; +3) + start + ;; +4) + stop + ;; +5) + restart + ;; +6) + set_port + ;; +7) + change_limit + ;; +8) + enable_autostart + ;; +9) + disable_autostart + ;; +10) + check_hub + ;; +11) + check_err + ;; +12) + clearlog + ;; +13) + lookport + ;; +14) + uninstall + ;; +15) + resetpass + ;; +16) + install_target + ;; +17) + set_https_admin + ;; +*) + echo $prompt_error_command + ;; +esac \ No newline at end of file diff --git a/linux/arm/rustminersystem-4.0.0 b/linux/arm/rustminersystem-4.0.0 new file mode 100755 index 0000000..85bf2ae Binary files /dev/null and b/linux/arm/rustminersystem-4.0.0 differ diff --git a/linux/arm/rustminersystem-4.5.0 b/linux/arm/rustminersystem-4.5.0 new file mode 100755 index 0000000..afb92c9 Binary files /dev/null and b/linux/arm/rustminersystem-4.5.0 differ diff --git a/linux/armv7/rustminersystem-4.0.0 b/linux/armv7/rustminersystem-4.0.0 new file mode 100755 index 0000000..3d52f5e Binary files /dev/null and b/linux/armv7/rustminersystem-4.0.0 differ diff --git a/linux/rustminersystem-4.4.6 b/linux/rustminersystem-4.4.6 new file mode 100755 index 0000000..6ff9585 Binary files /dev/null and b/linux/rustminersystem-4.4.6 differ diff --git a/linux/rustminersystem-4.4.7 b/linux/rustminersystem-4.4.7 new file mode 100755 index 0000000..18f6a70 Binary files /dev/null and b/linux/rustminersystem-4.4.7 differ diff --git a/linux/rustminersystem-4.4.8 b/linux/rustminersystem-4.4.8 new file mode 100755 index 0000000..bc1221f Binary files /dev/null and b/linux/rustminersystem-4.4.8 differ diff --git a/linux/rustminersystem-4.4.9 b/linux/rustminersystem-4.4.9 new file mode 100755 index 0000000..b45184e Binary files /dev/null and b/linux/rustminersystem-4.4.9 differ diff --git a/linux/rustminersystem-4.5.0 b/linux/rustminersystem-4.5.0 new file mode 100755 index 0000000..c3537b7 Binary files /dev/null and b/linux/rustminersystem-4.5.0 differ diff --git a/linux/rustminersystem-4.5.1 b/linux/rustminersystem-4.5.1 new file mode 100755 index 0000000..dabc9fe Binary files /dev/null and b/linux/rustminersystem-4.5.1 differ diff --git a/linux/rustminersystem-4.5.2 b/linux/rustminersystem-4.5.2 new file mode 100755 index 0000000..e957af2 Binary files /dev/null and b/linux/rustminersystem-4.5.2 differ diff --git a/linux/rustminersystem-4.5.3 b/linux/rustminersystem-4.5.3 new file mode 100755 index 0000000..a746b82 Binary files /dev/null and b/linux/rustminersystem-4.5.3 differ diff --git a/linux/rustminersystem-4.5.4 b/linux/rustminersystem-4.5.4 new file mode 100755 index 0000000..243c602 Binary files /dev/null and b/linux/rustminersystem-4.5.4 differ diff --git a/linux/rustminersystem-4.5.5 b/linux/rustminersystem-4.5.5 new file mode 100755 index 0000000..23963f3 Binary files /dev/null and b/linux/rustminersystem-4.5.5 differ diff --git a/linux/rustminersystem-4.5.6 b/linux/rustminersystem-4.5.6 new file mode 100755 index 0000000..6390919 Binary files /dev/null and b/linux/rustminersystem-4.5.6 differ diff --git a/linux/rustminersystem-4.5.7 b/linux/rustminersystem-4.5.7 new file mode 100755 index 0000000..0dffad3 Binary files /dev/null and b/linux/rustminersystem-4.5.7 differ diff --git a/linux/rustminersystem-4.5.8 b/linux/rustminersystem-4.5.8 new file mode 100755 index 0000000..d5dcf5e Binary files /dev/null and b/linux/rustminersystem-4.5.8 differ diff --git a/origin.json b/origin.json new file mode 100644 index 0000000..74bd618 --- /dev/null +++ b/origin.json @@ -0,0 +1,4 @@ +{ + "version": "4.5.8", + "PoolNodeVersion": "1.0.1" +} \ No newline at end of file diff --git a/windows/rustminersystem-4.4.6.exe b/windows/rustminersystem-4.4.6.exe new file mode 100755 index 0000000..d8748e0 Binary files /dev/null and b/windows/rustminersystem-4.4.6.exe differ diff --git a/windows/rustminersystem-4.4.7.exe b/windows/rustminersystem-4.4.7.exe new file mode 100755 index 0000000..0961b5d Binary files /dev/null and b/windows/rustminersystem-4.4.7.exe differ diff --git a/windows/rustminersystem-4.4.8.exe b/windows/rustminersystem-4.4.8.exe new file mode 100755 index 0000000..5d3ca1c Binary files /dev/null and b/windows/rustminersystem-4.4.8.exe differ diff --git a/windows/rustminersystem-4.4.9.exe b/windows/rustminersystem-4.4.9.exe new file mode 100755 index 0000000..795114f Binary files /dev/null and b/windows/rustminersystem-4.4.9.exe differ diff --git a/windows/rustminersystem-4.5.0.exe b/windows/rustminersystem-4.5.0.exe new file mode 100755 index 0000000..9745403 Binary files /dev/null and b/windows/rustminersystem-4.5.0.exe differ diff --git a/windows/rustminersystem-4.5.1.exe b/windows/rustminersystem-4.5.1.exe new file mode 100755 index 0000000..0faf4f3 Binary files /dev/null and b/windows/rustminersystem-4.5.1.exe differ diff --git a/windows/rustminersystem-4.5.2.exe b/windows/rustminersystem-4.5.2.exe new file mode 100755 index 0000000..bd25316 Binary files /dev/null and b/windows/rustminersystem-4.5.2.exe differ diff --git a/windows/rustminersystem-4.5.3.exe b/windows/rustminersystem-4.5.3.exe new file mode 100755 index 0000000..2f41f26 Binary files /dev/null and b/windows/rustminersystem-4.5.3.exe differ diff --git a/windows/rustminersystem-4.5.4.exe b/windows/rustminersystem-4.5.4.exe new file mode 100755 index 0000000..1dd4163 Binary files /dev/null and b/windows/rustminersystem-4.5.4.exe differ diff --git a/windows/rustminersystem-4.5.5.exe b/windows/rustminersystem-4.5.5.exe new file mode 100755 index 0000000..1fcc97c Binary files /dev/null and b/windows/rustminersystem-4.5.5.exe differ diff --git a/windows/rustminersystem-4.5.6.exe b/windows/rustminersystem-4.5.6.exe new file mode 100755 index 0000000..233a606 Binary files /dev/null and b/windows/rustminersystem-4.5.6.exe differ diff --git a/windows/rustminersystem-4.5.7.exe b/windows/rustminersystem-4.5.7.exe new file mode 100755 index 0000000..2604ccc Binary files /dev/null and b/windows/rustminersystem-4.5.7.exe differ diff --git a/windows/rustminersystem-4.5.8.exe b/windows/rustminersystem-4.5.8.exe new file mode 100755 index 0000000..2533591 Binary files /dev/null and b/windows/rustminersystem-4.5.8.exe differ