mirror of
https://gitee.com/pengzhile/atlassian-agent.git
synced 2023-02-28 12:37:36 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
422f660025 | ||
|
|
69e9b4edc3 | ||
|
|
25071349d9 | ||
|
|
2163b56341 |
@@ -15,11 +15,12 @@
|
||||
* FishEye
|
||||
* Crowd
|
||||
* Crucible
|
||||
* Third party plugins
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 优势
|
||||
* 支持Atlassian家几乎所有产品,同时支持插件。
|
||||
* 支持Atlassian家几乎所有产品,同时支持插件(包括插件市场的第三方插件)。
|
||||
* 支持DataCenter模式。
|
||||
* 相比较于传统的crack来说可以很容易的升级你的服务,而不用重新再次破解。
|
||||
* 提供基于java的命令行 keygen,更方便在终端环境使用。
|
||||
@@ -30,6 +31,7 @@
|
||||
|
||||
### 自行编译
|
||||
* Clone本项目源码,pom.xml同级目录执行`mvn package`后即可进行编译。
|
||||
* 使用`target`目录产出的`atlassian-agent-jar-with-dependencies.jar`,而非`atlassian-agent.jar`!
|
||||
* *如果你不知道我在说什么,最好还是直接下载我编译好的包。*
|
||||
|
||||
### 使用帮助
|
||||
@@ -38,12 +40,14 @@
|
||||
|
||||
### 配置Agent
|
||||
1. 将`atlassian-agent.jar`放在一个你不会随便删除的位置(你服务器上的所有Atlassian服务可共享同一个`atlassian-agent.jar`)。
|
||||
2. 设置环境变量`CATALINA_OPTS`(这其实是Tomcat的环境变量,用来指定其启动java程序时附带的参数),把`-javaagent`参数附带上。具体可以这么做:
|
||||
* 你可以把:`export CATALINA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${CATALINA_OPTS}"`这样的命令放到`.bashrc`或`.bash_profile`这样的文件内。
|
||||
* 你可以把:`export CATALINA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${CATALINA_OPTS}"`这样的命令放到服务安装所在`bin目录`下的`setenv.sh`或`setenv.bat(供windows使用)`中。
|
||||
* 你还可以直接命令行执行:`CATALINA_OPTS="-javaagent:/path/to/atlassian-agent.jar" /path/to/start-confluence.sh`来启动你的服务。
|
||||
* 或者你所知的其他修改环境变量的方法,但如果你机器上有无关的Tomcat服务,则不建议修改全局`CATALINA_OPTS`环境变量。
|
||||
3. 如果你想验证是否配置成功,可以这么做:
|
||||
2. 设置环境变量`JAVA_OPTS`(这其实是Java的环境变量,用来指定其启动java程序时附带的参数),把`-javaagent`参数附带上。具体可以这么做:
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"`这样的命令放到`.bashrc`或`.bash_profile`这样的文件内。
|
||||
* 你可以把:`export JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar ${JAVA_OPTS}"`这样的命令放到服务安装所在`bin目录`下的`setenv.sh`或`setenv.bat(供windows使用)`中。
|
||||
* 你还可以直接命令行执行:`JAVA_OPTS="-javaagent:/path/to/atlassian-agent.jar" /path/to/start-confluence.sh`来启动你的服务。
|
||||
* 或者你所知的其他修改环境变量的方法,但如果你机器上有无关的服务,则不建议修改全局`JAVA_OPTS`环境变量。
|
||||
* 总之你想办法把`-javaagent`参数附带到要启动的java进程上。
|
||||
3. 配置完成请重启你的Confluence服务。
|
||||
4. 如果你想验证是否配置成功,可以这么做:
|
||||
* 执行类似命令:`ps aux|grep java` 找到对应的进程看看`-javaagent`参数是否正确附上。
|
||||
* 在软件安装目录类似:`/path/to/confluence/logs/catalina.out`Tomcat日志内应该能找到:`========= agent working =========`的输出字样。
|
||||
|
||||
@@ -51,9 +55,11 @@
|
||||
* 你得确认已经配置好agent,参考上面说明。
|
||||
* 当你试着执行`java -jar /path/to/atlassian-agent.jar`时应该可以看到输出的KeyGen参数帮助。
|
||||
* 请仔细看看每个参数的作用,特别是`-p`参数的取值范围。
|
||||
* 第三方插件将其`应用密钥`作为`-p`参数。如:`-p com.gliffy.integration.confluence`
|
||||
* 在Atlassian服务安装时你应该能看到类似:`AAAA-BBBB-CCCC-DDDD`的server id,请留意。
|
||||
* 提供了正确的参数运行KeyGen会在终端输出计算好的激活码。
|
||||
* 将生成的激活码复制出来去激活你要使用的服务。
|
||||
* 举个栗子:`java -jar atlassian-agent.jar -p conf -m aaa@bbb.com -n my_name -o https://zhile.io -s ABCD-1234-EFGH-5678`
|
||||
|
||||
### 申明
|
||||
* 本项目只做个人学习研究之用,不得用于商业用途!
|
||||
|
||||
@@ -10,8 +10,8 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Usage {
|
||||
private static final Options OPTIONS = new Options();
|
||||
@@ -33,6 +33,7 @@ public class Usage {
|
||||
PRODUCTS.put("jsd", "JIRA Service Desk");
|
||||
PRODUCTS.put("training", "Training plugin for JIRA");
|
||||
PRODUCTS.put("capture", "Capture plugin for JIRA");
|
||||
PRODUCTS.put("*", "Third party plugin key, looks like: com.foo.bar");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (Map.Entry<String, String> entry : PRODUCTS.entrySet()) {
|
||||
@@ -83,9 +84,9 @@ public class Usage {
|
||||
formatter.printHelp("java -jar " + selfPath, OPTIONS, true);
|
||||
|
||||
System.out.println("\n================================================================================");
|
||||
System.out.println("\n# Crack agent usage: append -javaagent arg to system environment: CATALINA_OPTS.");
|
||||
System.out.println("\n# Crack agent usage: append -javaagent arg to system environment: JAVA_OPTS.");
|
||||
System.out.println("# Example(execute this command or append it to setenv.sh/setenv.bat file): \n");
|
||||
System.out.println(" export CATALINA_OPTS=\"-javaagent:" + selfPath + " ${CATALINA_OPTS}\"");
|
||||
System.out.println(" export JAVA_OPTS=\"-javaagent:" + selfPath + " ${JAVA_OPTS}\"");
|
||||
System.out.println("\n# Then start your confluence/jira server.\n");
|
||||
|
||||
System.exit(1);
|
||||
@@ -149,11 +150,13 @@ public class Usage {
|
||||
property = new Capture(contactName, contactEMail, serverID, organisation);
|
||||
break;
|
||||
default:
|
||||
printUsage();
|
||||
return;
|
||||
property = new ThirdPlugin(contactName, contactEMail, serverID, organisation);
|
||||
((ThirdPlugin) property).setProductName(product);
|
||||
break;
|
||||
}
|
||||
|
||||
try {
|
||||
property.init();
|
||||
String licenseCode = Encoder.encode(property.toString());
|
||||
|
||||
System.out.println("Your license code(Don't copy this line!!!): \n");
|
||||
|
||||
@@ -7,16 +7,34 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
abstract public class LicenseProperty {
|
||||
protected Date date = new Date();
|
||||
protected Map<String, String> data = new HashMap<>(32);
|
||||
|
||||
protected String contactName;
|
||||
protected String contactEMail;
|
||||
protected String serverID;
|
||||
protected String organisation;
|
||||
protected boolean dataCenter;
|
||||
|
||||
abstract public String getProductName();
|
||||
|
||||
public LicenseProperty(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
public LicenseProperty(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
this.contactName = contactName;
|
||||
this.contactEMail = contactEMail;
|
||||
this.serverID = serverID;
|
||||
this.organisation = organisation;
|
||||
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();
|
||||
|
||||
@@ -33,19 +51,15 @@ abstract public class LicenseProperty {
|
||||
setDescription("Unlimited license by https://zhile.io");
|
||||
setEvaluation(false);
|
||||
|
||||
setContactName(ContactName);
|
||||
setContactEMail(ContactEMail);
|
||||
setServerID(ServerID);
|
||||
setOrganisation(Organisation);
|
||||
setContactName(contactName);
|
||||
setContactEMail(contactEMail);
|
||||
setServerID(serverID);
|
||||
setOrganisation(organisation);
|
||||
setDataCenter(dataCenter);
|
||||
|
||||
data.put("licenseVersion", "2");
|
||||
}
|
||||
|
||||
public LicenseProperty(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
data.put("Description", description);
|
||||
}
|
||||
|
||||
@@ -5,12 +5,17 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @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) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
setLicenseEdition(LicenseEdition.UNLIMITED);
|
||||
setNumberOfBambooLocalAgents(-1);
|
||||
|
||||
@@ -4,16 +4,16 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Bitbucket extends LicenseProperty {
|
||||
public Bitbucket(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Bitbucket(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Bitbucket(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public Bitbucket(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
import io.zhile.crack.atlassian.license.LicenseType;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Capture extends Plugin {
|
||||
public Capture(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation);
|
||||
public class Capture extends ThirdPlugin {
|
||||
public Capture(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
|
||||
setServerID(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "bonfire";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLicenseType(LicenseType licenseType) {
|
||||
data.put("LicenseTypeName", licenseType.toString());
|
||||
setProductName("bonfire");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Confluence extends LicenseProperty {
|
||||
public Confluence(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Confluence(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Confluence(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public Confluence(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,16 +4,16 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Crowd extends LicenseProperty {
|
||||
public Crowd(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Crowd(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Crowd(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public Crowd(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,12 +4,12 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @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) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,12 +4,12 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @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) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,12 +6,17 @@ import io.zhile.crack.atlassian.license.LicenseType;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @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) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
setLicenseEdition(LicenseEdition.UNLIMITED);
|
||||
}
|
||||
|
||||
@@ -5,21 +5,26 @@ import io.zhile.crack.atlassian.license.LicenseType;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class JIRAServiceDesk extends LicenseProperty {
|
||||
public JIRAServiceDesk(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public JIRAServiceDesk(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
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();
|
||||
|
||||
setEnterprise(true);
|
||||
setNumRoleCount(-1);
|
||||
}
|
||||
|
||||
public JIRAServiceDesk(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "jira.product.jira-servicedesk";
|
||||
|
||||
@@ -6,21 +6,26 @@ import io.zhile.crack.atlassian.license.LicenseType;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class JIRASoftware extends LicenseProperty {
|
||||
public JIRASoftware(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public JIRASoftware(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
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();
|
||||
|
||||
setLicenseEdition(LicenseEdition.UNLIMITED);
|
||||
setEnterprise(true);
|
||||
}
|
||||
|
||||
public JIRASoftware(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return "jira.product.jira-software";
|
||||
|
||||
@@ -4,21 +4,26 @@ import io.zhile.crack.atlassian.license.LicenseProperty;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
abstract public class Plugin extends LicenseProperty {
|
||||
Plugin(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Plugin(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
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();
|
||||
|
||||
setLicenseID(null);
|
||||
setEnterprise(true);
|
||||
}
|
||||
|
||||
Plugin(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNumberOfUsers(int numberOfUsers) {
|
||||
data.put("NumberOfUsers", String.valueOf(numberOfUsers));
|
||||
|
||||
@@ -2,16 +2,16 @@ package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Portfolio extends Plugin {
|
||||
public Portfolio(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Portfolio(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Portfolio(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public Portfolio(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,16 +2,16 @@ package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class Questions extends Plugin {
|
||||
public Questions(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public Questions(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public Questions(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public Questions(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,16 +2,16 @@ package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class TeamCalendars extends Plugin {
|
||||
public TeamCalendars(String ContactName, String ContactEMail, String ServerID, String Organisation, boolean dataCenter) {
|
||||
super(ContactName, ContactEMail, ServerID, Organisation, dataCenter);
|
||||
public TeamCalendars(String contactName, String contactEMail, String serverID, String organisation, boolean dataCenter) {
|
||||
super(contactName, contactEMail, serverID, organisation, dataCenter);
|
||||
}
|
||||
|
||||
public TeamCalendars(String ContactName, String ContactEMail, String ServerID, String Organisation) {
|
||||
this(ContactName, ContactEMail, ServerID, Organisation, false);
|
||||
public TeamCalendars(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
import io.zhile.crack.atlassian.license.LicenseType;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @version 1.0
|
||||
* @link https://zhile.io
|
||||
*/
|
||||
public class ThirdPlugin extends Plugin {
|
||||
protected String productName;
|
||||
|
||||
public ThirdPlugin(String contactName, String contactEMail, String serverID, String organisation) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProductName() {
|
||||
return productName;
|
||||
}
|
||||
|
||||
public void setProductName(String productName) {
|
||||
this.productName = productName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLicenseType(LicenseType licenseType) {
|
||||
data.put("LicenseTypeName", licenseType.toString());
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,17 @@ package io.zhile.crack.atlassian.license.products;
|
||||
|
||||
/**
|
||||
* @author pengzhile
|
||||
* @link https://zhile.io
|
||||
* @version 1.0
|
||||
* @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) {
|
||||
super(contactName, contactEMail, serverID, organisation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
|
||||
setSubscription(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user