Code Monkey home page Code Monkey logo

btcloud's Introduction

宝塔面板第三方云端

这是一个用php开发的宝塔面板第三方云端站点程序。

你可以使用此程序搭建属于自己的宝塔面板第三方云端,实现最新版宝塔面板私有化部署,不与宝塔官方接口通信,满足隐私安全合规需求。同时还可以去除面板强制绑定账号,DIY面板功能等。

网站后台管理可一键同步宝塔官方的插件列表与增量更新插件包,还有云端使用记录、IP黑白名单、操作日志、定时任务等功能。

本项目自带的宝塔安装包和更新包是8.0.x最新版,已修改适配此第三方云端,并且全开源,无so等加密文件。

觉得该项目不错的可以给个Star~

声明

1.此项目只能以自用为目的,不得侵犯堡塔公司及其他第三方的知识产权和其他合法权利。

2.搭建使用此项目必须有一定的编程和Linux运维基础,纯小白不建议使用。

环境要求

  • PHP >= 7.4
  • MySQL >= 5.6
  • fileinfo扩展
  • ZipArchive扩展

部署方法

  • 下载最新版的Release包
  • 如果是下载的源码包,需要执行 composer install --no-dev 安装依赖,如果是下载的Release包,则不需要
  • 设置网站运行目录为public
  • 设置伪静态为ThinkPHP
  • 访问网站,会自动跳转到安装页面,根据提示安装完成

使用方法

  • 批量替换工具,执行页面显示的命令,可将bt安装包、更新包和脚本文件里面的http://www.example.com批量替换成当前网站的网址。
  • 系统基本设置修改宝塔面板接口设置。你需要准备一个使用官方最新脚本安装并绑定账号的宝塔面板,用于获取最新插件列表及插件包。并根据界面提示安装好专用插件。
  • 定时任务设置执行所显示的命令从宝塔官方获取最新的插件列表并批量下载插件包(增量更新)。当然你也可以去插件列表,一个一个点击下载。
  • 访问网站/download查看使用此第三方云端的一键安装脚本。

更新方法

  • 下载最新版的Release包
  • 上传覆盖除data文件夹以外的全部文件
  • 后台使用批量替换工具->获取最新插件列表->修改Linux面板等版本号

其他

  • Linux面板官方更新包修改记录

  • Windows面板官方更新包修改记录

  • 宝塔云监控安装包修改记录

  • 宝塔面板官方版与此第三方云端版对比:

    官方版 此第三方云端版
    版本更新 支持 支持
    面板广告 有广告 无广告
    是否全开源 没有全开源 全开源
    资源占用 各种统计上报等任务,资源占用略高 去除了很多无用的定时任务,资源占较少
    兼容性 由于编译的so文件有系统架构限制,兼容的系统仅限已编译的so对应的系统架构 由于全开源,没有已编译的so文件,因此无系统架构限制

btcloud's People

Contributors

flucont avatar xcwosjw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

btcloud's Issues

非常顽强的error.log如何去掉

/www/server/panel/logs/error.log
记录自己的一些操作,最主要记录了IP
加权限的不能重启,请问一下这个文件要如何去掉呢

运行插件异常

今天新安装宝塔后获取插件运行
错误提示:TypeError: send_file() got an unexpected keyword argument 'add_etags'
据了解是flask升级2.2后send_file函数修改参数add_etags导致

云端面板开心版时无法解密插件

image

出错了,[宝塔第三方云端接口]运行时发生错误!

UnicodeDecodeError: 'gbk' codec can't decode byte 0xf9 in position 22: illegal multibyte sequence

REQUEST_DATE: 2022-06-06 11:21:18
PAN_VERSION: 7.9.0
OS_VERSION: CentOS 7.9.2009 x86_64(Py3.7.9)
REMOTE_ADDR: 101.93.108.240
REQUEST_URI: POST /plugin?request_time=14516064000&request_token=5b5af3c4f12164dad973957922d610c2&action=a&name=kaixin&s=decode_plugin_main&plugin_name=nodejs&version=1.6
REQUEST_FORM: {}
USER_AGENT: Paw/3.3.3 (Macintosh; OS X/12.3.1) GCDHTTPRequest
Traceback (most recent call last):
File "class/public.py", line 296, in ReadFile
f_body = fp.read()
File "/www/server/panel/pyenv/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 10: invalid start byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "class/public.py", line 301, in ReadFile
f_body = fp.read()
File "/www/server/panel/pyenv/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 10: invalid start byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "pluginAuth.py", line 447, in pluginAuth.Plugin.exec_fun
File "/www/server/panel/plugin/kaixin/kaixin_main.py", line 155, in decode_plugin_main
src = public.readFile(plugin_bin)
File "class/public.py", line 320, in readFile
return ReadFile(filename,mode)
File "class/public.py", line 304, in ReadFile
f_body = fp.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xf9 in position 22: illegal multibyte sequence

debian11安装报错

cat: /etc/redhat-release: No such file or directory
install.sh: 29: [: Illegal number:
install.sh: 186: Syntax error: "(" unexpected (expecting "}")

安装依赖问题

能否把所有依赖什么的都改为官方 或者本地 不走宝塔呢。。。

安装插件提示404

2
大佬您好,安装任何插件都会提示404报错
我后台配置的没问题啊…?
103版本

CSRF校验失败

整了个专业版然后获取了插件之后,使用自建云端的面板安装的插件打开后,比如nginx防火墙打开后是空白,然后debug发现都是返回500,打开就是
image
image
太笨了,实在搞不明白,应该是插件自带的校验

希望能够添加SQLite3支持

有时候小规模部署,无需使用MySQL大动干戈,希望能够支持SQLite,轻度使用性能完全足够。
目前稍微测试了一下,有几个地方是不兼容的:

  • install.sql文件不兼容(解决方案:换用tp6原生的migrate工具,或者准备一份初始化好的db文件)
  • Admin.php 74行处命令不兼容SQLite,可以换成 Config::get('database.connections.mysql.type');之类的语句。
  • 直接将MySQL转为SQLite后,部分表自增的ID可能无法显示

如何使用

基本配置好然后怎么使用,怎么打开PHP版本的面板?

使用中遇到的问题

  1. 第三方插件导入报错
    image
    宝塔Linux面板企业版7.9.3。导入第三方插件后,插件报错。在以前7.9.2中正常。

  2. 后台更新插件列表后,点击未下载的插件,手动下载大多数都会显示解密插件解密失败。显示解密失败后后台插件版本按钮显示是绿色,未解密插件zip文件有时会出现在data/plugin目录内,有时没有。

以上两个问题中,导入第三方插件用于获取官方最新插件的服务器与搭建了btcloud程序的服务器不是同一个。

下载的最新的1.1.3还是有错误提示

Traceback (most recent call last):
File "/www/server/panel/BTPanel/init.py", line 1774, in publicObject
return run_exec().run(toObject, defs, get)
File "/www/server/panel/BTPanel/init.py", line 1722, in run
result = getattr(toObject,get.action)(get)
File "class/panelPlugin.py", line 1329, in get_index_list
softList = self.get_cloud_list(get)['list']
File "class/panelPlugin.py", line 957, in get_cloud_list
softList = Plugin(False).get_plugin_list(force)
File "class/pluginAuth.py", line 45, in get_plugin_list
return PluginLoader.get_plugin_list(force)
File "class/PluginLoader.py", line 18, in get_plugin_list
softList = json.loads(jsonData)
File "/www/server/panel/pyenv/lib/python3.7/json/init.py", line 341, in loads
raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not bool

受控端出现的错误

面板首页或者商店页面都会出现

出错了,面板运行时发生错误!
TypeError: the JSON object must be str, bytes or bytearray, not bool

点击查看详情

插件解密失败

我看更新日志说支持从其他开心版同步付费插件,经测试还是提示插件主文件解密失败!

问题

': 不是有效的标识符:export: PATH install.sh: line 5: $'\r': command not found curl: (3) Illegal characters found in URL install.sh: line 26: syntax error near unexpected token fi'
'nstall.sh: line 26: `fi

吃瓜

通过宝塔溯源?卧槽,害怕

image

7.9.3无法改面板别名等信息

提示超时时间不能为空。实际是有设置时间的。回滚7.9.2是正常的。

不知道是不是我一个人的问题。有人能测试看看吗?

开心破解

希望大佬能不能顺带做一下破解,使其能直接下载付费插件?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.