首页
归档
友情链接
推荐
网盘
图库
GIT
Search
1
关于Seafile破解
3,108 阅读
2
小米ai音箱系统简单分析
1,065 阅读
3
Seafile--linux专业版破解-6.2.9
1,015 阅读
4
GitHub Enterprise 逆向分析
325 阅读
5
声明
279 阅读
默认分类
经验分享
软件破解
杂七杂八
登录
Search
标签搜索
gitlab
gitlab汉化
seafile
seafile破解
frp
小米ai音箱
小爱同学
小米音箱
deny
累计撰写
10
篇文章
累计收到
264
条评论
首页
栏目
默认分类
经验分享
软件破解
杂七杂八
页面
归档
友情链接
推荐
网盘
图库
GIT
搜索到
10
篇与
的结果
2018-06-10
gitlab的搭建与数据迁移
前言 昨天晚上登陆gitlab时在后台控制面板看到”尽快更新“的提示,便去查看了更新的版本是否有汉化。然后就开始了入坑之旅。 虽然对gitlab更新过多次,对于更新的步骤也算是轻车熟路了;但还是得先按照操作前惯例:创建虚拟机快照备份一波。(也劝告大家:对服务器做任何重要的操作前一定要做好备份,切记!否则总有翻车的时候。说多了都是泪.) 没想到此次从10.7.3升级到10.8.4过程中还是出了问题,其实也好。本来gitlab服务器就积累了一些暗病,所以正好可以借这次重装解决一下。所幸的是做了备份,至少数据不会丢失。 这次的目的也有三个: 重装gitlab并迁移数据; 填去年11月留下的坑(”gitlab安装历程“至今还留在我的草稿箱) gitlab CE or EE ? gitlab官方提供了CE和EE版本可供选择;CE是指开源的社区版,而EE则是收费的商业版。但是EE版是具有CE版的所有功能的,官方也是推荐安装EE版。也就是说如果你安装的是EE版,就算是没有授权也可以使用,但也只具备CE版的功能,如果想使用EE版的功能呢直接需要购买授权就行,这就免去了要重新安装EE版的麻烦;所以如果没有购买授权,就算安装的是EE版也跟CE版没差。但个人觉得也没必要安装EE版,除非你是打算购买授权。不然的话安装的汉化补丁也会出现一些Bug。 总结:如果打算购买EE版授权,就请安装EE版,否则建议安装CE版本。 gitlab安装 * 由于源码安装的方式过于麻烦并且博主使用centos系统的缘故,这里只提供yum安装的方式** 首先安装并设置必要的依赖(CE和EE都需要) Centos 7执行: sudo yum install -y curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld Centos 6执行: sudo yum install -y curl policycoreutils-python openssh-server openssh-clients cronie sudo lokkit -s http -s ssh CE版本安装: *CE版本的安装使用了清华大学镜像源以提升安装速度; 新建 /etc/yum.repos.d/gitlab-ce.repo 文件并将以下内容写入该文件: [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 执行安装: sudo yum makecache sudo yum -y install gitlab-ce EE版本安装: 添加GitLab软件包储存库 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 执行安装 yum -y install gitlab-ce 至此便已经安装完成并可以通过浏览器访问了。需要注意的是初次访问会将你重定向到重置密码的页面,设置好密码便可以使用账号:root,密码:(刚刚设置的密码)进行登陆。 安装汉化补丁 安装必要的软件: sudo yum -y install git patch 克隆或更新汉化版本库 git clone https://gitlab.com/xhang/gitlab.git #如果已存在本地仓库,请使用cd命令切换到本地仓库目录,并使用以下命令进行更新: git fetch 安装补丁 #请切换到本地仓库目录,并执行以下命令: gitlab_version=$(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION) sudo git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff # 停止 gitlab sudo gitlab-ctl stop cd .. patch -t -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ${gitlab_version:=cat /opt/gitlab/embedded/service/gitlab-rails/VERSION}-zh.diff 重启gitlab,汉化补丁完成 sudo gitlab-ctl start sudo gitlab-ctl reconfigure gitlab配置与数据迁移 gitlab配置: 配置文件为/etc/gitlab/目录下的gitlab.rb文件。 以下列出我的一些配置示例: #gitlab服务的域名 external_url 'https://domain.com' #smtp邮件发送设置 gitlab_rails['smtp_enable'] = true #是否启用smtp发信 gitlab_rails['smtp_address'] = "smtp.163.com" #smtp发信地址 gitlab_rails['smtp_port'] = 25 #smtp发信端口 gitlab_rails['smtp_user_name'] = "user@163.com" #smtp发信邮箱 gitlab_rails['smtp_password'] = "password" #smtp发信邮箱密码 gitlab_rails['smtp_domain'] = "smtp.163.com" #与smtp发信地址保持一致即可 gitlab_rails['smtp_authentication'] = :login gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['gitlab_email_from'] = "user@163.com" #与smtp发信邮箱保持一致即可 user["git_user_email"] = "user@163.com" #与smtp发信邮箱保持一致即可 #https证书设置 nginx['ssl_certificate'] = "/etc/gitlab/ssl/crt.pem" #证书文件路径 nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/private.key" #证书私钥路径 nginx['redirect_http_to_https'] = true #是否启用http跳转至https *如有不需要的配置在句首使用#号注释即可 最后修改后保存并执行gitlab-ctl reconfigure 使配置生效。 数据迁移: 由于新服务器gitlab版本为10.8.4,旧服务器为10.7.3,所以并不能使用官方的备份与还原脚本进行数据迁移。不过所幸的是服务器上的仓库并不多,遂使用手工方式进行迁移。目前所有仓库数据均迁移完毕,配置文件/etc/gitlab/gitlab.rb 以及其他的一些服务也迁移完成。
2018年06月10日
106 阅读
0 评论
0 点赞
2018-06-08
Seafile--linux专业版破解-6.2.9
前言 关于这篇博文最先是3月30号在吾爱破解论坛发布的帖子(原帖地址);早就打算在博客上也进行更新,后来事有点多慢慢的也就忘了,直到今天就打算更新一下。(文章是直接复制的帖子,并稍微的进行了修改) PS:破解版本玩玩就好了,切勿用于其他非法用途。毕竟Seafile也是国人开发的一款程序,同时在此呼吁有条件的各位购买正版,以支持国产软件发展。 Seafile 关于seafile的介绍请自行百度,其实官方是提供了专业版的,而且免费的专业版跟付了钱买的专业版功能上没有任何区别,主要是免费的只能注册三个用户。(百度上也貌似找不到专业版的破解版) 虽然说是可用的状态,但是我的感觉是十分蛋疼。毕竟有强迫症在作怪,正好可以让作为新手的我用这个程序来练练手。 破解过程 *破解的过程可能不会写的很详细。 此次破解主要是对限制人数进行了破解使其突破3人的限制。(将其修改为1000人) 破解的版本为目前的最新版本 6.2.9 经过大致的分析得知: 前台使用python语言编写,框架是django; 后端使用C语言编写; 于是可以先从前台下手,故意注册第4个用户使其提示错误信息,并根据错误信息追踪代码调用情况及位置; 最后从前台追踪到前台关于用户超限判断的代码位置,位于 seafile-pro-server-6.2.9/seahub/seahub/utils/licenseparse.py 文件中: def user_number_over_limit(new_users=0): logger = logging.getLogger(__name__) if is_pro_version(): try: # get license user limit license_dict = parse_license() max_users = int(license_dict.get('MaxUsers', 3)) # get active user number active_db_users = ccnet_api.count_emailusers('DB') active_ldap_users = ccnet_api.count_emailusers('LDAP') active_users = active_db_users + active_ldap_users if \ active_ldap_users > 0 else active_db_users if new_users < 0: logger.debug('`new_users` must be greater or equal to 0.') return False elif new_users == 0: return active_users >= max_users else: return active_users + new_users > max_users except Exception as e: logger.error(e) return False else: return False 难道真的就么简单?? 我猜想既然使用了C编写后端,那么肯定不会如此简单。于是把3改为1000,重启服务。并继续添加用户的操作,不过这时候错误信息变成了添加用户失败。果然没那么简单! 进一步分析python代码得出以下结论: python前台并不进行任何实质上的操作,比如添加用户,更换邮箱,删除用户等等。 以上操作都是使用rpc进行通信调用C语言程序进行的。 所以实质上python只是对用户超限进行了简单的判断,像什么授权验证之类的都还是用C写的。 突然想起启动时控制台的输出信息,于是分析了Seafile的启动脚本,并将启动脚本中所启动的几个文件拖入IDA中静态分析。最终在 seafile-pro-server-6.2.9/seafile/bin/ccnet-server 文件中发现了端倪(进行text搜索关键字:license) 然后修改汇编代码将原本的3人限制改为了1000人。 修改完成后重启seafile服务并进行测试--成功注册第四位用户。至此程序也已经破解完成了。 PS:使用IDA分析linux可执行文件期间,也找到了授权验证的代码,并打算制作一个注册机,这样的话,以后的更新版本就不用再进行破解了;但深入以后发现,授权文件是使用RSA非对称加密算法进行的加密,既然没有他的私钥,那还是得将程序中的公钥替换成自己签发的。这样的情况还不如直接修改限制人数来的省事 运行截图 Demo:演示地址 下载地址 不知道为什么官网也是放出了一个Ubuntu的版本?所以顺带也破解了。 同时也说明一下,seafile没有windows的专业版本的!!! Linux版链接: 不提供下载 Ubuntu 版链接: 不提供下载 Demo:https://演示地址 安装教程 安装教程官方教程都有便不再此赘述,博主的是运行在Centos7系统上,机器配置为 CPU:4U,RAM:8GB,DISK:1.5T; 问题 文中如有错误或其他问题欢迎留言评论指出。 如果站点内资料库消失,且出现红色的错误字样或者网站排版混乱,请照官方说明停止程序并删除缓存后重启便可解决,缓存文件处于/tmp目录下。 个人经验: 使用命令 rm -rf /tmp/sea* 删除缓存后重启Seafile服务即可。 管理界面内如果也出现类似错误同样可以尝试使用以上方法解决。 (服务器非正常关机可能会导致以上情况发生,反正我的服务器断电了两次并且都出现了以上错误。) 声明 文章中涉及到的任何东西仅供学习交流,并且本站不会提供任何破解版下载。请支持正版,谢谢!
2018年06月08日
1,015 阅读
35 评论
0 点赞
2018-02-01
编译frp程序
说明 上一次更新博客还是去年(2017)的事了,由于最近的一些经历让我感觉到博客的重要性,不过说不定突然的又不想更新博客了。 关于frp frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。使用GO语言编写,功能强大。并且作者也将其开源在github社区。(非常感谢作者的无私奉献!) 前言 说到底还是折腾的事,虽然上次折腾成功过了,但是由于没有记录,导致这次折腾的时候又得重头开始。固然浪费了很多时间,所以这次决定写博客以记录一些过程及细节避免自己或别人在同样的事情上浪费时间和精力。 正文 我只是粗略的学习过一点GO语言知识,所以一开始也是直接使用作者编译的程序。后来实在是觉得程序自带的404页面不太好看,就开始了自己编译的路子。这次的折腾是因为作者对程序进行了更新,于是打算把正在“服役”的程序跟进作者进行更新。顺便配置好持续集成,以便下一次更新时自动的进行持续编译。 我使用的是Linux操作系统,需要以下操作。(在此略过GO的安装过程) 将项目中的依赖移动到$GOROOT/src目录下: mv vendor/* /usr/local/go/src 将项目(frp文件夹)复制到/usr/local/go/src/github.com/fatedier: cp -r frp /usr/local/go/src/github.com/fatedier 执行项目下的sh脚本进行编译: ./package.sh 或使用以下方法: 在/usr/local/go/src目录下建立github.com/fatedier文件夹 : mkdir -p /usr/local/go/src/github.com/fatedier 将项目复制到刚才新建的文件夹下: cp -r frp /usr/local/go/src/github.com/fatedier 切换到该目录: cd /usr/local/go/src/github.com/fatedier 执行sh脚本进行编译: ./package.sh 等待编译完成,编译后的文件处于 packages 文件夹中。 问题及解决 Go程序编译时的依赖问题: 编译器会在$GOPATH/src或$GOROOT/src目录中查找项目引用的依赖,虽然Go语言可以在项目中的vendor文件夹下找寻依赖,但是仅限于项目处于$GOROOT/src目录下。
2018年02月01日
210 阅读
0 评论
0 点赞
2017-04-30
安装Google镜像的一次记录
安装Google镜像的一次记录 上一次的重装服务器系统,服务器上运行的一系列服务如Google镜像以及ss等随之一起被删除了。 在重装完成并且开启博客之后就马上恢复这些服务;但是天公不作美,在安装Google镜像中还是出了问题.而且是致命的--浏览器无限重定向。 在一番折腾之后仍然无果,不得已就搁置了。直到今天,因为五一假期,所以时间很多就想着今天解决掉这个问题。 搭建的Google镜像使用的是GitHub上某大神的一个nginx模块,所以我这个镜像利用的是nginx反向代理。不过网上也有一些镜像网站的PHP写的应用可以使用。在这里只是记录下本次的安装。 在上一次安装中我是直接按照作者的步骤进行安装的谷歌镜像nginx模块,并且竭尽全力的使用原来的模块版本进行编译安装;但是zlib这个模块却已经找不到原来的版本了,想着会不会就是这个原因导致的呢?于是今天就转变了方法--全部使用最新稳定版再编译安装; 下面使用了的模块扩展的版本及下载地址: nginx-1.12.0 pcre-8.40 zlib0-1.2.11 openssl-1.1.0e 当然还有两个需要用到的模块: # 直接使用这两条命令克隆到服务器; git clone https://github.com/cuber/ngx_http_google_filter_module git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module 配置 && 编译 使用tar解压下载的tar.gz文件; ./configure --prefix=/opt/nginx \ --with-openssl=../openssl-1.1.0e \ --with-zlib=../zlib-1.2.11 \ --with-pcre=../pcre-8.40 \ --with-http_ssl_module \ --add-module=../ngx_http_google_filter_module \ --add-module=../ngx_http_substitutions_filter_module 回车后make && make install 更改nginx配置 按照模块作者的说明进行修改配置文件并启动nginx就可以OK了。
2017年04月30日
75 阅读
0 评论
0 点赞
2017-04-24
欢迎使用 Typecho
如果您看到这篇文章,表示您的 blog 已经安装成功.
2017年04月24日
89 阅读
0 评论
0 点赞
1
2