TulparServer is a free, open-source, cross-platform Java Server designed to create your own NurOS package repository in minutes. It features high performance, security-first architecture, and a modern CLI interface.
Requirements: JDK 21+
./gradlew build: Builds all jars
./gradlew shadowJar: Builds fat-jar with all dependencies (recommended)
./gradlew test: Runs unit tests
- Ktor: Asynchronous framework for creating microservices and web applications
- Clikt: Intuitive command line interface parsing
- Mordant: Full-featured text styling for the terminal
- Hoplite: Boilerplate-free configuration library (HOCON)
- Logback: Robust logging framework
Will appear after the development of 2.0 is completed.
# Start the server using the shadow jar
java -jar tulpar-server-2.0.0-all.jar start
# Run with custom config
java -jar tulpar-server-2.0.0-all.jar start --config /path/to/application.conf
# Show help
java -jar tulpar-server-2.0.0-all.jar --helpTulpar Server uses HOCON for configuration. Create application.conf in the working directory:
api {
config = 20
}
server {
address = "0.0.0.0"
port = 8080 # для портов ниже 1024 нужен root
runInBackground = true
maxRequests = 5
blockDurationMillis = 60000
logFile = "./ip_requests.log"
httpsRedirect = true
# Лимит загрузок на один IP
maxDownloadsPerIP = 2
# Максимальная скорость загрузки (байт/с)
maxDownloadSpeed = 1048576
# Размер буфера
bufferSize = 1024
}
cli {
color = "#cccccc"
hello = [
"▀█▀ █░█ █░░ █▀█ ▄▀█ █▀█ ▄▄ █▀ █▀▀ █▀█ █░█ █▀▀ █▀█ ▀█ ░ █▀█",
"░█░ █▄█ █▄▄ █▀▀ █▀█ █▀▄ ░░ ▄█ ██▄ █▀▄ ▀▄▀ ██▄ █▀▄ █▄ ▄ █▄█"
]
}We welcome contributions!
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
[ ] 🛠 Core Architecture Rewrite (v2.0)
[ ] 📦 Official Plugin Registry
Will appear after the development of 2.0 is completed.
