mirror of
https://gitee.com/pengzhile/atlassian-agent.git
synced 2023-02-28 12:37:36 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
492cfd580e | ||
|
|
11d9af18ec | ||
|
|
1e24662f50 | ||
|
|
44cf41fd63 | ||
|
|
5b58d9a573 | ||
|
|
c4861fa8f1 | ||
|
|
73a565ae10 | ||
|
|
10744bec65 | ||
|
|
3d0c38f5cb | ||
|
|
2b16f1988b | ||
|
|
930f8f2630 | ||
|
|
b680f45d9c | ||
|
|
3e55d2ad1b | ||
|
|
6dd8519c83 | ||
|
|
31d9b2c069 | ||
|
|
59a60ea2ee | ||
|
|
da447a8be5 | ||
|
|
9a27cde450 | ||
|
|
50da83e87d |
@@ -1,20 +1,20 @@
|
||||
# Atlassian Agent
|
||||
|
||||
#### Support (almost any version):
|
||||
* JIRA Software
|
||||
#### Support (almost any version, include 8.0):
|
||||
* JIRA Software [FAQ](doc/JIRA_FAQ.md)
|
||||
* JIRA Core
|
||||
* JIRA Service Desk
|
||||
* JIRA plugin: Capture
|
||||
* JIRA plugin: Training
|
||||
* JIRA plugin: Portfolio
|
||||
* Confluence
|
||||
* Confluence [Windows特别注意](doc/Confluence_FAQ.md)
|
||||
* Confluence plugin: Questions
|
||||
* Confluence plugin: Team Calendars
|
||||
* Bamboo
|
||||
* Bitbucket
|
||||
* FishEye
|
||||
* Crowd
|
||||
* Crucible
|
||||
* Bamboo [FAQ](doc/Bamboo_FAQ.md)
|
||||
* Bitbucket [FAQ](doc/Bitbucket_FAQ.md)
|
||||
* FishEye [FAQ](doc/FishEye_Crucible_FAQ.md)
|
||||
* Crowd [FAQ](doc/Crowd_FAQ.md)
|
||||
* Crucible [FAQ](doc/FishEye_Crucible_FAQ.md)
|
||||
* Third party plugins
|
||||
|
||||
## 使用说明
|
||||
@@ -27,7 +27,7 @@
|
||||
* 开源项目,你知道破解时都做了什么。
|
||||
|
||||
### 直接下载
|
||||
* 直接下载本项目[release](https://github.com/pengzhile/atlassian-agent/releases)包。
|
||||
* 直接下载本项目[release](https://gitee.com/pengzhile/atlassian-agent/releases)包。
|
||||
|
||||
### 自行编译
|
||||
* Clone本项目源码,pom.xml同级目录执行`mvn package`后即可进行编译。
|
||||
@@ -35,6 +35,7 @@
|
||||
* *如果你不知道我在说什么,最好还是直接下载我编译好的包。*
|
||||
|
||||
### 使用帮助
|
||||
* 破解需要成套使用,不能只破解插件,要先使用`atlassian-agent.jar`破解服务。
|
||||
* 如果你已经获得`atlassian-agent.jar`,可以试着执行`java -jar atlassian-agent.jar`看看输出的帮助。
|
||||
* 这里的帮助以Atlassian家的Confluence服务为例。
|
||||
|
||||
@@ -55,7 +56,7 @@
|
||||
* 你得确认已经配置好agent,参考上面说明。
|
||||
* 当你试着执行`java -jar /path/to/atlassian-agent.jar`时应该可以看到输出的KeyGen参数帮助。
|
||||
* 请仔细看看每个参数的作用,特别是`-p`参数的取值范围。
|
||||
* 第三方插件将其`应用密钥`作为`-p`参数。如:`-p com.gliffy.integration.confluence`
|
||||
* 第三方插件将其`应用密钥/插件关键字`作为`-p`参数。如:`-p com.gliffy.integration.confluence`
|
||||
* 在Atlassian服务安装时你应该能看到类似:`AAAA-BBBB-CCCC-DDDD`的server id,请留意。
|
||||
* 提供了正确的参数运行KeyGen会在终端输出计算好的激活码。
|
||||
* 将生成的激活码复制出来去激活你要使用的服务。
|
||||
@@ -72,3 +73,10 @@
|
||||
* 欢迎你来一起完善这个项目,请发PR。
|
||||
* 你可以加入QQ群:30347511 和我实时交流。
|
||||
* 访问网站:[https://zhile.io](https://zhile.io) 给我留言。
|
||||
|
||||
### 热心网友教程(感谢原作者,侵删!)
|
||||
* [热心大佬的一键安装配置脚本](https://github.com/alues/atlassian_install_script)
|
||||
* [confluence 安装及破解](https://www.qinjj.tech/2019/01/04/confluence%20install/)
|
||||
* [【黑科技】Atlassian产品线全破解](https://tech.cuixiangbin.com/?p=1248)
|
||||
* [通过Docker安装JIRA和Confluence(破解版)](https://www.jianshu.com/p/b95ceabd3e9d)
|
||||
* [通过Docker安装JIRA和Confluence(破解版)](https://my.oschina.net/wuweixiang/blog/3014644)
|
||||
@@ -0,0 +1,15 @@
|
||||
# Bamboo FAQ
|
||||
|
||||
### 明明按照文档中说的配置了agent,并且成功激活了confluence,但Bamboo激活时提示生成的密钥无效
|
||||
这种情况往往是 `JAVA_OPTS` 设置的问题,如果是按照下边方式设置的 `JAVA_OPTS` ,会出现激活失败
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"` 这样的命令放到 `.bashrc` 或 `.bash_profile` 这样的文件内。
|
||||
|
||||
原因即是 Bamboo 并没有使用全局设置的这个变量,主要还是依赖的其自身目录中 `安装目录下/bin/setenv.sh` 中的配置,所以编辑这个文件,修改
|
||||
|
||||
`JAVA_OPTS="-Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} ${JAVA_OPTS} ${JVM_REQUIRED_ARGS} ${JVM_SUPPORT_RECOMMENDED_ARGS} ${BAMBOO_HOME_MINUSD}"`
|
||||
|
||||
处为
|
||||
|
||||
`JAVA_OPTS="-javaagent:/atlassian-agent存放目录/atlassian-agent.jar -Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} ${JAVA_OPTS} ${JVM_REQUIRED_ARGS} ${JVM_SUPPORT_RECOMMENDED_ARGS} ${BAMBOO_HOME_MINUSD}"`
|
||||
|
||||
再重新尝试激活即可
|
||||
@@ -0,0 +1,15 @@
|
||||
# Bitbucket FAQ
|
||||
|
||||
### 明明按照文档中说的配置了agent,并且成功激活了confluence,但Bitbucket激活时提示生成的密钥无效
|
||||
这种情况往往是 `JAVA_OPTS` 设置的问题,如果是按照下边方式设置的 `JAVA_OPTS` ,会出现激活失败
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"` 这样的命令放到 `.bashrc` 或 `.bash_profile` 这样的文件内。
|
||||
|
||||
原因即是 Bitbucket 并没有使用全局设置的这个变量,主要还是依赖的其自身目录中 `安装目录下/bin/_start-webapp.sh` 中的配置,所以编辑这个文件,修改
|
||||
|
||||
`JAVA_OPTS="-classpath $INST_DIR/app $JAVA_OPTS $BITBUCKET_ARGS $JMX_OPTS $JVM_REQUIRED_ARGS $JVM_SUPPORT_RECOMMENDED_ARGS"`
|
||||
|
||||
处为
|
||||
|
||||
`JAVA_OPTS="-javaagent:/atlassian-agent存放目录/atlassian-agent.jar -classpath $INST_DIR/app $JAVA_OPTS $BITBUCKET_ARGS $JMX_OPTS $JVM_REQUIRED_ARGS $JVM_SUPPORT_RECOMMENDED_ARGS"`
|
||||
|
||||
再重新尝试激活即可
|
||||
@@ -0,0 +1,15 @@
|
||||
# Confluence FAQ
|
||||
|
||||
### Windows下Confluence的激活注意点
|
||||
|
||||
* 不要使用start-service.bat启动(如果非要这样启动,自己去注册表改-javaagent参数)
|
||||
* 使用bin\start-confluence.bat启动
|
||||
* 在bin\setenv.bat里添加-javaagent参数
|
||||
* Windows下Confluence有个bug,需要改动setenv.bat修复
|
||||
|
||||
```bash
|
||||
set CATALINA_OPTS=-Xloggc:"%atlassian_logsdir%\gc-%atlassian_timestamp%.log" %CATALINA_OPTS%
|
||||
//改成
|
||||
set CATALINA_OPTS=-Xloggc:"%atlassian_logsdir%\gc-%%t.log" %CATALINA_OPTS%
|
||||
```
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Crowd FAQ
|
||||
|
||||
### 明明按照文档中说的配置了agent,并且成功激活了confluence,但Crowd激活时提示生成的密钥无效
|
||||
这种情况往往是 `JAVA_OPTS` 设置的问题,如果是按照下边方式设置的 `JAVA_OPTS` ,会出现激活失败
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"` 这样的命令放到 `.bashrc` 或 `.bash_profile` 这样的文件内。
|
||||
|
||||
原因即是 Crowd 并没有使用全局设置的这个变量,主要还是依赖的其自身目录中 `安装目录下/apache-tomcat/bin/setenv.sh` 中的配置,所以编辑这个文件,加上 `JAVA_OPTS="-javaagent:/atlassian-agent存放目录/atlassian-agent.jar $JAVA_OPTS"`,再重新尝试激活即可
|
||||
@@ -0,0 +1,17 @@
|
||||
# FishEye & Crucible FAQ
|
||||
|
||||
### 明明按照文档中说的配置了agent,并且成功激活了confluence,但 FishEye or Crucible 激活时提示生成的密钥无效
|
||||
这种情况往往是 `JAVA_OPTS` 设置的问题,如果是按照下边方式设置的 `JAVA_OPTS` ,会出现激活失败
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"` 这样的命令放到 `.bashrc` 或 `.bash_profile` 这样的文件内。
|
||||
|
||||
原因即是 FishEye 和 Crucible 没有直接使用这个环境变量,使用的是 `FISHEYE_OPTS` 这一环境变量
|
||||
|
||||
所以我们打开bin目录中的fisheyectl.sh文件,将其中的
|
||||
|
||||
```FISHEYE_CMD="$JAVACMD $FISHEYE_OPTS -Dfisheye.library.path=$FISHEYE_LIBRARY_PATH -Dfisheye.inst=$FISHEYE_INST -Djava.awt.headless=true -Djava.endorsed.dirs=$FISHEYE_HOME/lib/endorsed -jar $FISHEYE_HOME/fisheyeboot.jar"```
|
||||
|
||||
添加成
|
||||
|
||||
```FISHEYE_CMD="$JAVACMD $FISHEYE_OPTS -javaagent:/path/to/atlassian-agent-v1.2.2/atlassian-agent.jar -Dfisheye.library.path=$FISHEYE_LIBRARY_PATH -Dfisheye.inst=$FISHEYE_INST -Djava.awt.headless=true -Djava.endorsed.dirs=$FISHEYE_HOME/lib/endorsed -jar $FISHEYE_HOME/fisheyeboot.jar"```
|
||||
|
||||
再重新尝试激活即可。
|
||||
@@ -0,0 +1,7 @@
|
||||
# JIRA FAQ
|
||||
|
||||
### 明明按照文档中说的配置了agent,并且成功激活了confluence,但JIRA激活时提示生成的密钥无效
|
||||
这种情况往往是 `JAVA_OPTS` 设置的问题,如果是按照下边方式设置的 `JAVA_OPTS` ,会出现激活失败
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"` 这样的命令放到 `.bashrc` 或 `.bash_profile` 这样的文件内。
|
||||
|
||||
原因即是 JIRA 并没有使用全局设置的这个变量,主要还是依赖的其自身目录中 `安装目录下/bin/setenv.sh` 中的配置,所以编辑这个文件,加上 `JAVA_OPTS="-javaagent:/atlassian-agent存放目录/atlassian-agent.jar $JAVA_OPTS"` 在 `JAVA_OPTS` 处,再重新尝试激活即可
|
||||
@@ -5,6 +5,7 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
import io.zhile.crack.atlassian.license.products.*;
|
||||
import org.apache.commons.cli.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -120,22 +121,22 @@ public class Usage {
|
||||
property = new TeamCalendars(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "bamboo":
|
||||
property = new Bamboo(contactName, contactEMail, serverID, organisation);
|
||||
property = new Bamboo(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "bitbucket":
|
||||
property = new Bitbucket(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "fisheye":
|
||||
property = new FishEye(contactName, contactEMail, serverID, organisation);
|
||||
property = new FishEye(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "crucible":
|
||||
property = new Crucible(contactName, contactEMail, serverID, organisation);
|
||||
property = new Crucible(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "crowd":
|
||||
property = new Crowd(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "jc":
|
||||
property = new JIRACore(contactName, contactEMail, serverID, organisation);
|
||||
property = new JIRACore(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "portfolio":
|
||||
property = new Portfolio(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
@@ -144,13 +145,13 @@ public class Usage {
|
||||
property = new JIRAServiceDesk(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "training":
|
||||
property = new Training(contactName, contactEMail, serverID, organisation);
|
||||
property = new Training(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
case "capture":
|
||||
property = new Capture(contactName, contactEMail, serverID, organisation);
|
||||
property = new Capture(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
break;
|
||||
default:
|
||||
property = new ThirdPlugin(contactName, contactEMail, serverID, organisation);
|
||||
property = new ThirdPlugin(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
((ThirdPlugin) property).setProductName(product);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -31,8 +31,9 @@ public class KeyTransformer implements ClassFileTransformer {
|
||||
try {
|
||||
String b64f;
|
||||
ClassPool cp = ClassPool.getDefault();
|
||||
cp.importPackage("java.util.Arrays");
|
||||
CtClass cc = cp.get(CN_KEY_SPEC.replace('/', '.'));
|
||||
|
||||
cp.importPackage("java.util.Arrays");
|
||||
try {
|
||||
Class.forName("java.util.Base64");
|
||||
cp.importPackage("java.util.Base64");
|
||||
@@ -47,17 +48,10 @@ public class KeyTransformer implements ClassFileTransformer {
|
||||
}
|
||||
}
|
||||
|
||||
int mod = Modifier.PRIVATE | Modifier.STATIC | Modifier.FINAL;
|
||||
CtClass cc = cp.get(CN_KEY_SPEC.replace('/', '.'));
|
||||
CtClass cb = cp.get("byte[]");
|
||||
CtField cfOld = new CtField(cb, "__h_ok", cc);
|
||||
CtField cfNew = new CtField(cb, "__h_nk", cc);
|
||||
cfOld.setModifiers(mod);
|
||||
cfNew.setModifiers(mod);
|
||||
cc.addField(cfOld, b64f + "(\"MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAIvfweZvmGo5otwawI3no7Udanxal3hX2haw962KL/nHQrnC4FG2PvUFf34OecSK1KtHDPQoSQ+DHrfdf6vKUJphw0Kn3gXm4LS8VK/LrY7on/wh2iUobS2XlhuIqEc5mLAUu9Hd+1qxsQkQ50d0lzKrnDqPsM0WA9htkdJJw2nS\");");
|
||||
cc.addField(cfNew, b64f + "(\"MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAO0DidNibJHhtgxAnM9NszURYU25CVLAlwFdOWhiUkjrjOY459ObRZDVd35hQmN/cCLkDox7y2InJE6PDWfbx9BsgPmPvH75yKgPs3B8pClQVkgIpJp08R59hoZabYuvm7mxCyDGTl2lbrOi0a3j4vM5OoCWKQjIEZ28OpjTyCr3\");");
|
||||
cc.addField(CtField.make("private static final byte[] __h_ok=" + b64f + "(\"MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAIvfweZvmGo5otwawI3no7Udanxal3hX2haw962KL/nHQrnC4FG2PvUFf34OecSK1KtHDPQoSQ+DHrfdf6vKUJphw0Kn3gXm4LS8VK/LrY7on/wh2iUobS2XlhuIqEc5mLAUu9Hd+1qxsQkQ50d0lzKrnDqPsM0WA9htkdJJw2nS\");", cc));
|
||||
cc.addField(CtField.make("private static final byte[] __h_nk=" + b64f + "(\"MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAO0DidNibJHhtgxAnM9NszURYU25CVLAlwFdOWhiUkjrjOY459ObRZDVd35hQmN/cCLkDox7y2InJE6PDWfbx9BsgPmPvH75yKgPs3B8pClQVkgIpJp08R59hoZabYuvm7mxCyDGTl2lbrOi0a3j4vM5OoCWKQjIEZ28OpjTyCr3\");", cc));
|
||||
CtConstructor cm = cc.getConstructor("([B)V");
|
||||
cm.insertBeforeBody("if(Arrays.equals($1,__h_ok)){$1=__h_nk;System.out.println(\"============================== agent working ==============================\");}");
|
||||
cm.insertBefore("if(Arrays.equals($1,__h_ok)){$1=__h_nk;System.out.println(\"============================== agent working ==============================\");}");
|
||||
|
||||
return cc.toBytecode();
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -30,10 +30,6 @@ abstract public class LicenseProperty {
|
||||
this.dataCenter = dataCenter;
|
||||
}
|
||||
|
||||
public LicenseProperty(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
this(contactName, contactEMail, serverID, organisation, false);
|
||||
}
|
||||
|
||||
public void init() {
|
||||
Date expiryDate = new Date(3771590399000L);
|
||||
String licenseId = "L" + System.currentTimeMillis();
|
||||
|
||||
@@ -9,8 +9,8 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Bamboo extends LicenseProperty {
|
||||
public Bamboo(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public Bamboo(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,7 +30,7 @@ public class Bamboo extends LicenseProperty {
|
||||
|
||||
@Override
|
||||
public void setNumberOfUsers(int numberOfUsers) {
|
||||
//
|
||||
// disabled
|
||||
}
|
||||
|
||||
public void setLicenseEdition(LicenseEdition licenseEdition) {
|
||||
|
||||
@@ -12,10 +12,6 @@ public class Bitbucket extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Bitbucket(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "stash";
|
||||
|
||||
@@ -6,8 +6,8 @@ package io.zhile.crack.atlassian.license.products;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Capture extends ThirdPlugin {
|
||||
public Capture(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public Capture(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
|
||||
setProductName("bonfire");
|
||||
}
|
||||
|
||||
@@ -12,10 +12,6 @@ public class Confluence extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Confluence(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "conf";
|
||||
|
||||
@@ -12,10 +12,6 @@ public class Crowd extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Crowd(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "crowd";
|
||||
|
||||
@@ -8,8 +8,8 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Crucible extends LicenseProperty {
|
||||
public Crucible(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public Crucible(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,8 +8,8 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class FishEye extends LicenseProperty {
|
||||
public FishEye(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public FishEye(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,8 +10,8 @@ import io.zhile.crack.atlassian.license.LicenseType;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class JIRACore extends LicenseProperty {
|
||||
public JIRACore(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public JIRACore(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -13,10 +13,6 @@ public class JIRAServiceDesk extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public JIRAServiceDesk(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
@@ -14,10 +14,6 @@ public class JIRASoftware extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public JIRASoftware(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
@@ -12,10 +12,6 @@ abstract public class Plugin extends LicenseProperty {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Plugin(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
@@ -10,10 +10,6 @@ public class Portfolio extends Plugin {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Portfolio(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "com.radiantminds.roadmaps-jira";
|
||||
|
||||
@@ -10,10 +10,6 @@ public class Questions extends Plugin {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Questions(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "com.atlassian.confluence.plugins.confluence-questions";
|
||||
|
||||
@@ -10,10 +10,6 @@ public class TeamCalendars extends Plugin {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public TeamCalendars(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "team_calendars";
|
||||
|
||||
@@ -10,8 +10,8 @@ import io.zhile.crack.atlassian.license.LicenseType;
|
||||
public class ThirdPlugin extends Plugin {
|
||||
protected String productName;
|
||||
|
||||
public ThirdPlugin(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public ThirdPlugin(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,8 +6,8 @@ package io.zhile.crack.atlassian.license.products;
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Training extends Plugin {
|
||||
public Training(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
public Training(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
package io.zhile.crack.atlassian.utils;
|
||||
|
||||
import java.security.*;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
*/
|
||||
public class DSA {
|
||||
public static void genKeyPair() throws NoSuchAlgorithmException {
|
||||
KeyPairGenerator dsa = KeyPairGenerator.getInstance("DSA");
|
||||
SecureRandom random = new SecureRandom();
|
||||
dsa.initialize(1024, random);
|
||||
KeyPair keypair = dsa.generateKeyPair();
|
||||
PrivateKey privateKey = keypair.getPrivate();
|
||||
PublicKey publicKey = keypair.getPublic();
|
||||
System.out.println(Base64.encode(privateKey.getEncoded()));
|
||||
System.out.println(Base64.encode(publicKey.getEncoded()));
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
MIIBSwIBADCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdS
|
||||
PO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVCl
|
||||
pJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith
|
||||
1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7L
|
||||
vKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3
|
||||
zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImo
|
||||
g9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoEFgIUNYsbkapILzW8VhfGrU4eHo6/Dqw=
|
||||
@@ -1,10 +0,0 @@
|
||||
MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9E
|
||||
AMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f
|
||||
6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv
|
||||
8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtc
|
||||
NrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwky
|
||||
jMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/h
|
||||
WuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAO0DidNibJHhtgxAnM9NszURYU25
|
||||
CVLAlwFdOWhiUkjrjOY459ObRZDVd35hQmN/cCLkDox7y2InJE6PDWfbx9BsgPmP
|
||||
vH75yKgPs3B8pClQVkgIpJp08R59hoZabYuvm7mxCyDGTl2lbrOi0a3j4vM5OoCW
|
||||
KQjIEZ28OpjTyCr3
|
||||
Reference in New Issue
Block a user