Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
jmrozanec__cron-utils_CVE-2021-41269_9-1-5 — Java-Bibliothek zum Parsen, Validieren, Migrieren und Beschreiben von Cron-Ausdrücken mit Unterstützung für mehrere Formate (Unix, Quartz, Spring) und menschenlesbarer, lokalisierter Ausgabe. | Kitploit
Tools/GitHubGitHub/shoucheng3/jmrozanec__cron-utils_cve-2021-41269_9-1-5
Allgemeine DienstprogrammeScripting & AutomatisierungDienstprogramme & FrameworksLernen & Bildung
GitHubshoucheng3/jmrozanec__cron-utils_cve-2021-41269_9-1-5

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

Java-Bibliothek zum Parsen, Validieren, Migrieren und Beschreiben von Cron-Ausdrücken mit Unterstützung für mehrere Formate (Unix, Quartz, Spring) und menschenlesbarer, lokalisierter Ausgabe.

Repository anzeigen
19vor 11 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

cron-utils

Wir definieren Cron-Ausdrücke. Und unterstützen sie.

cron-utils ist eine Java-Bibliothek zum Definieren, Parsen, Validieren und Migrieren von Cron-Ausdrücken sowie zum Erhalten von menschenlesbaren Beschreibungen für diese. Das Projekt folgt der Semantic Versioning Convention, stellt OSGi-Metadaten bereit und verwendet die Apache-2.0-Lizenz.

Gitter Chat Build Status Quality Gate

Download

cron-utils ist im Maven Central-Repository verfügbar.

<dependency>
    <groupId>com.cronutils</groupId>
    <artifactId>cron-utils</artifactId>
    <version>9.2.1</version>
</dependency>

Für Android-Entwickler: cron-utils 7.0.0 setzt Android 26+ voraus. Für ältere Android-Versionen erwägen Sie die Verwendung von cron-utils 6.0.6. Wenn Sie ScheduleExpression aus Java EE verwenden, sollte diese als Laufzeitabhängigkeit bereitgestellt werden.

Aktuelle Entwicklung

Wir arbeiten derzeit daran, die Codebasis auf JDK 16 zu aktualisieren, um sicherzustellen, dass sie bei Veröffentlichung vollständig mit JDK 17 kompatibel sein wird.

Derzeit entwickeln wir eine neue Generation von Cron-Deskriptoren mithilfe neuronaler Übersetzung! Jede Art von Beiträgen ist willkommen: von Hilfe bei der Datensatzerstellung bis hin zum Training von Modellen für maschinelles Lernen und Hilfsprogrammen, um sie zu laden! Wenn Sie interessiert sind, folgen Sie bitte Issue #3

Funktionen

  • Beliebige Cron-Ausdrücke erstellen: Sie können Ihr eigenes Cron-Format definieren! Unterstützte Felder sind: Sekunde, Minute, Stunde, Tag des Monats, Monat, Tag der Woche, Jahr.
  • Sie können das letzte Feld als optional kennzeichnen!
  • Unterstützt alle Cron-Sonderzeichen: * / , -
    • Auch die nicht standardkonformen Zeichen L, W, LW, '?' und # werden unterstützt!
  • Unterstützt Cron-Erweiterungen / Aliase: @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly, @reboot
  • Ausgabe in ein lokalisiertes, menschenlesbares Format (Chinesisch, Englisch, Deutsch, Griechisch, Indonesisch, Japanisch, Koreanisch, Polnisch, Rumänisch, Spanisch, Swahili und Türkisch werden vollständig unterstützt. Niederländisch, Französisch, Italienisch, Portugiesisch und Russisch werden grundlegend unterstützt).
  • Parse- und Beschreibungsprozess sind entkoppelt: einmal parsen und mit dem Ergebnis arbeiten!
  • Erstellen Sie Cron-Ausdrücke mit CronBuilder:
    • kein Bedarf, sich Felder und Einschränkungen für jeden Cron-Anbieter zu merken.
    • Crons werden vom Cron-Anbieter entkoppelt: Sie können jederzeit in ein anderes Format exportieren.
  • Prüfen Sie, ob Cron-Ausdrücke äquivalent sind.
  • Fassen Sie mehrere Cron-Ausdrücke zu einem einzigen zusammen!
  • Validieren Sie, ob Cron-String-Ausdrücke zu einer Cron-Definition passen.
  • Konvertieren Sie Crons zwischen verschiedenen Cron-Definitionen: Wenn Sie Ausdrücke migrieren müssen, kann CronMapper Ihnen helfen!
  • Vordefinierte Definitionen für die folgenden Cron-Bibliotheken werden bereitgestellt:
    • Unix
    • Cron4j
    • Quartz
    • Spring. Wir unterstützen zwei Definitionen: vor v5.3 und ab v5.3.
  • Ermitteln Sie den Zeitpunkt der letzten/nächsten Ausführung sowie die Zeit seit der letzten Ausführung/die Zeit bis zur nächsten Ausführung.
  • Berechnen Sie die Anzahl der Ausführungen zwischen zwei Tagen und vergleichen Sie Crons anhand ihrer Ausführungshäufigkeiten.
  • Ermitteln Sie die Anzahl der Wochentage zwischen zwei Daten, unter Berücksichtigung verschiedener Wochenendregelungen sowie Feiertagen.
  • Müssen Sie Konstanten zwischen verschiedenen Cron-/Zeit-Bibliotheken abbilden? Verwenden Sie ConstantsMapper.

Verwendungsbeispiele

Im Folgenden präsentieren wir einige Beispiele. Diese und weitere finden Sie in einem Beispiel-Repository, das wir erstellt haben, um die cron-utils-Bibliotheken vorzustellen!

Cron-Definitionen erstellen

// 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);

Einen Cron-Ausdruck erstellen

// 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 * ? *

Parsen

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

... sogar Multi-Cron-Ausdrücke! Wie wäre es, mehrere Crons in eine einzige Zeile zu packen? Anstatt 0 0 9 * * ? *, 0 0 10 * * ? *, 0 30 11 * * ? * und 0 0 12 * * ? * zu schreiben, können wir es in 0 0|0|30|0 9|10|11|12 * * ? * zusammenfassen.

Beschreiben

// 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 *"));

Migrieren

// 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

Validieren

cron4jCron.validate()

Zeit von/bis zur Ausführung berechnen

// 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);
Tool herunterladen