This application is a work in progress. It still cannot run properly in any forms.
A lightweight URL shortening service built with Java and JAX-RS.
- Create short URLs with custom shortcodes
- Redirect shortcodes to original URLs
- Host validation and URL sanitization
- Pluggable storage adapters (memory, Berkeley DB, JDBC)
- Configurable shortcode generation (fixed charset or MD5-based)
- RESTful API
- Java 21 or later
- Maven 3.6+
mvn clean packageCopy src/main/resources/conf/juillotine.properties to your classpath and modify:
juillotine.defaultURL=https://example.com/
juillotine.requiredHost=example.com
juillotine.dbAdapter=MemoryAdapterDeploy the WAR file to a servlet container (Tomcat, Jetty, etc.) with Jersey support.
GET /- Redirects to default URLGET /{code}- Redirects to original URL for given shortcodePOST /- Create a new short URL- Form parameters:
url(required),code(optional custom shortcode)
- Form parameters:
- MemoryAdapter (default): In-memory storage using Google Guava
- BerkeleyDBAdapter: Persistent storage with Berkeley DB
- JDBCAdapter: Database storage via JDBC
See LICENSE.txt