Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
jmrozanec__cron-utils_CVE-2021-41269_9-1-5 | Kitploit
Ferramentas/GitHubGitHub/shoucheng3/jmrozanec__cron-utils_cve-2021-41269_9-1-5
Utilitários de Propósito GeralScripting e AutomaçãoUtilitários e FrameworksAprendizado e Educação
GitHubshoucheng3/jmrozanec__cron-utils_cve-2021-41269_9-1-5

jmrozanec__cron-utils_CVE-2021-41269_9-1-5

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 9 mesesAinda não revisado

cron-utils

Definimos crons. E damos suporte a eles.

cron-utils é uma biblioteca Java para definir, analisar (parse), validar, migrar crons, bem como obter descrições legíveis por humanos para eles. O projeto segue a Convenção de Versionamento Semântico, fornece metadados OSGi e usa licença Apache 2.0.

Gitter Chat Build Status Quality Gate

Download

cron-utils está disponível no repositório Maven central.

root@kitploit:~
<dependency>
    <groupId>com.cronutils</groupId>
    <artifactId>cron-utils</artifactId>
    <version>9.2.1</version>
</dependency>

Para desenvolvedores Android, cron-utils 7.0.0 requer Android 26+. Para versões anteriores do Android, considere usar cron-utils 6.0.6. Se você usa ScheduleExpression do Java EE, ela deve ser fornecida como uma dependência de runtime.

Desenvolvimento atual

Atualmente, estamos trabalhando para atualizar a base de código para o JDK 16, garantindo que será totalmente compatível com o JDK 17 quando for lançado.

Agora estamos desenvolvendo uma nova geração de descritores de cron usando tradução neural! Qualquer tipo de contribuição é bem-vinda: desde ajuda com a geração de datasets até treinamento de modelos de machine learning e utilitários para carregá-los! Se tiver interesse, acompanhe a issue #3

Funcionalidades

  • Crie expressões cron arbitrárias: você pode definir seu próprio formato de cron! Os campos suportados são: segundo, minuto, hora, dia do mês, mês, dia da semana, ano.
  • Você pode marcar o último campo como opcional!
  • Suporta todos os caracteres especiais de cron: * / , -
    • Os caracteres não padronizados L, W, LW, '?' e # também são suportados!
  • Suporta extensões / apelidos de cron: @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly, @reboot
  • Gera descrições legíveis por humanos em formato específico de locale (chinês, inglês, alemão, grego, indonésio, japonês, coreano, polonês, romeno, espanhol, suaíli e turco são totalmente suportados. Holandês, francês, italiano, português e russo têm suporte básico).
  • Os processos de parse e descrição são desacoplados: faça o parse uma vez e opere com o resultado!
  • Construa expressões cron usando CronBuilder:
    • sem necessidade de lembrar campos e restrições para cada provedor de cron.
    • crons ficam desacoplados do provedor de cron: a qualquer momento você pode exportar para outro formato.
  • Verifique se expressões cron são equivalentes.
  • Combine múltiplas expressões cron em uma única!
  • Valide se expressões de string cron correspondem a uma definição de cron.
  • Converta crons entre diferentes definições de cron: se você precisar migrar expressões, CronMapper pode ajudar!
  • Definições pré-definidas para as seguintes bibliotecas de cron são fornecidas:
    • Unix
    • Cron4j
    • Quartz
    • Spring. Suportamos duas definições: anteriores à v5.3 e a partir da v5.3.
  • Obtenha o horário da última/próxima execução, bem como o tempo desde a última execução/tempo até a próxima execução.
  • Calcule o número de execuções entre dois dias e compare crons com base em suas frequências de execução.
  • Obtenha a contagem de dias úteis entre duas datas, considerando diferentes políticas de fim de semana e também feriados.
  • Precisa mapear constantes entre diferentes bibliotecas de cron/tempo? Use ConstantsMapper.

Exemplos de Uso

Abaixo apresentamos alguns exemplos. Você pode encontrar estes e outros em um repositório de exemplos que criamos para demonstrar as bibliotecas cron-utils!

Construir definições de cron

root@kitploit:~
// Define your own cron: arbitrary fields are allowed and last field can be optional
CronDefinition cronDefinition =
    CronDefinitionBuilder.defineCron()
        .withSeconds().and()
        .withMinutes().and()
        .withHours().and()
        .withDayOfMonth()
            .supportsHash().supportsL().supportsW().and()
        .withMonth().and()
        .withDayOfWeek()
            .withIntMapping(7, 0) //we support non-standard non-zero-based numbers!
            .supportsHash().supportsL().supportsW().and()
        .withYear().optional().and()
        .instance();

// or get a predefined instance
cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(QUARTZ);

Construir uma expressão cron

root@kitploit:~
// Create a cron expression. CronMigrator will ensure you remain cron provider agnostic
import static com.cronutils.model.field.expression.FieldExpressionFactory.*;

Cron cron = CronBuilder.cron(CronDefinitionBuilder.instanceDefinitionFor(CronType.QUARTZ))
    .withYear(always())
    .withDoM(between(SpecialChar.L, 3))
    .withMonth(always())
    .withDoW(questionMark())
    .withHour(always())
    .withMinute(always())
    .withSecond(on(0))
    .instance();
// Obtain the string expression
String cronAsString = cron.asString(); // 0 * * L-3 * ? *

Parse

root@kitploit:~
// Create a parser based on provided definition
CronParser parser = new CronParser(cronDefinition);
Cron quartzCron = parser.parse("0 23 * ? * 1-5 *");

... até mesmo expressões multi-cron! Que tal combinar vários crons em uma única linha? Em vez de escrever 0 0 9 * * ? *, 0 0 10 * * ? *, 0 30 11 * * ? * e 0 0 12 * * ? *, podemos agrupá-los em 0 0|0|30|0 9|10|11|12 * * ? *

Descrever

root@kitploit:~
// Create a descriptor for a specific Locale
CronDescriptor descriptor = CronDescriptor.instance(Locale.UK);

// Parse some expression and ask descriptor for description
String description = descriptor.describe(parser.parse("*/45 * * * * ?"));
// Description will be: "every 45 seconds"

description = descriptor.describe(quartzCron);
// Description will be: "every hour at minute 23 every day between Monday and Friday"
// which is the same description we get for the cron below:
descriptor.describe(parser.parse("0 23 * ? * MON-FRI *"));

Migrar

root@kitploit:~
// Migration between cron libraries has never been so easy!
// Turn cron expressions into another format by using CronMapper:
CronMapper cronMapper = CronMapper.fromQuartzToCron4j();

Cron cron4jCron = cronMapper.map(quartzCron);
// and to get a String representation of it, we can use
cron4jCron.asString();//will return: 23 * * * 1-5

Validar

root@kitploit:~
cron4jCron.validate()

Calcular tempo desde/até a execução

root@kitploit:~
// Get date for last execution
ZonedDateTime now = ZonedDateTime.now();
ExecutionTime executionTime = ExecutionTime.forCron(parser.parse("* * * * * ? *"));
ZonedDateTime lastExecution = executionTime.lastExecution(now);

// Get date for next execution
ZonedDateTime nextExecution = executionTime.nextExecution(now);

// Time from last execution
Duration timeFromLastExecution = executionTime.timeFromLastExecution(now);

// Time to next execution
Duration timeToNextExecution = executionTime.timeToNextExecution(now);

Mapear constantes entre bibliotecas

root@kitploit:~
// Map day of week value from Quartz to JodaTime
int jodatimeDayOfWeek =
        ConstantsMapper.weekDayMapping(
                ConstantsMapper.QUARTZ_WEEK_DAY,
                ConstantsMapper.JODATIME_WEEK_DAY
        );

Formatação de data e hora para humanos!

Use htime - Formatação de data e hora legível por humanos para Java! Apesar de essa funcionalidade não estar incluída no mesmo jar, é um projeto cron-utils que você pode achar útil.

root@kitploit:~
// You no longer need to remember "YYYY-MM-dd KK a" patterns.
DateTimeFormatter formatter = 
	    HDateTimeFormatBuilder
		    .getInstance()
		    .forJodaTime()
		    .getFormatter(Locale.US)
		    .forPattern("June 9, 2011");
String formattedDateTime = formatter.print(lastExecution);
// formattedDateTime will be lastExecution in "dayOfWeek, Month day, Year" format

cron-utils CLI

Fornecemos uma interface CLI simples para usar cron-utils diretamente do console, sem escrever um novo projeto! A CLI é um projeto satélite, disponível em cron-utils-cli

  • Uso: java -jar cron-utils.jar com.cronutils.cli.CronUtilsCLI --validate -f [CRON4J|QUARTZ|UNIX] -e '<cron expression>'

  • Exemplo: java -jar cron-utils.jar com.cronutils.cli.CronUtilsCLI --validate -f UNIX -e '* 1 * * *'

Se você quiser um jar autônomo sem precisar do 'cp', crie um uber jar com:

root@kitploit:~
mvn assembly:assembly -DdescriptorId=jar-with-dependencies

Em seguida, execute o cli-utils (gerado no diretório target) com:

root@kitploit:~
java -jar cron-utils-<version>-jar-with-dependencies.jar com.cronutils.cli.CronUtilsCLI --validate -f [CRON4J|QUARTZ|UNIX] -e '<cron expression>'`

Contribua e Ajude!

Contribuições são bem-vindas! Você pode contribuir:

  • dando estrela neste repositório!
  • solicitando ou adicionando novos recursos. Confira nosso roadmap!
  • melhorando o código existente: ex.: fornecendo casos de descrição mais precisos
  • testando
  • melhorando a documentação
  • fornecendo traduções para suportar novos locales
  • trazendo sugestões e reportando bugs
  • espalhando a palavra
  • contando como você o utiliza! Esperamos listar você em nossa wiki!

Confira nossa página! Para estatísticas sobre o projeto, você pode visitar nosso perfil no OpenHUB.

Outros projetos cron-utils

Você é bem-vindo a visitar e usar os seguintes projetos cron-utils:

  • htime: Uma biblioteca Java para facilitar a formatação de datas para humanos. Você não precisa mais lembrar dos caracteres de formatação de data e hora: basta escrever um exemplo e obterá o formatador adequado.
  • cron-utils-spring: Uma biblioteca Java para descrever expressões cron em linguagem legível por humanos no framework Spring, usando cron-utils.
  • cron-utils-cli: funcionalidades do cron-utils disponibilizadas por meio de uma CLI.
  • cron-utils-sisyphus: Um agendador Scala que suporta múltiplas notações de cron.
  • cron-utils-scheduler: Um agendador de jobs Java baseado na biblioteca cron-utils.
Baixar ferramenta