{"id":21357586,"url":"https://github.com/mustafabinguldev/Aurelius","last_synced_at":"2025-10-03T17:31:16.016Z","repository":{"id":198234663,"uuid":"700373833","full_name":"mustafabinguldev/SocketHttpResponse","owner":"mustafabinguldev","description":"This project is a very lightweight webserver","archived":false,"fork":false,"pushed_at":"2023-10-26T07:07:03.000Z","size":8,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-22T05:07:48.947Z","etag":null,"topics":["java","socket-programming","web-socket","webserver"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mustafabinguldev.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-10-04T13:29:51.000Z","updated_at":"2023-10-05T07:17:27.000Z","dependencies_parsed_at":"2024-01-24T12:08:12.640Z","dependency_job_id":"1bcc5fd4-7528-449f-be85-ac4e88fe35e5","html_url":"https://github.com/mustafabinguldev/SocketHttpResponse","commit_stats":null,"previous_names":["bingulhan/sockethttpresponse","mustafabinguldev/sockethttpresponse"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FSocketHttpResponse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FSocketHttpResponse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FSocketHttpResponse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FSocketHttpResponse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mustafabinguldev","download_url":"https://codeload.github.com/mustafabinguldev/SocketHttpResponse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235163270,"owners_count":18945808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","socket-programming","web-socket","webserver"],"created_at":"2024-11-22T05:08:10.708Z","updated_at":"2025-10-03T17:31:16.012Z","avatar_url":"https://github.com/mustafabinguldev.png","language":"Java","readme":"# Very lightweight webserver\n\n### Features\n- **1.** Easy Setup: Simple installation process with Java 8 or later.\n- **2.** Web Development Support: Supports Tailwind CSS, Bootstrap, and other CSS frameworks.\n- **3.** Container System: Allows dynamic content generation using containers such as buttons and sections.\n- **4.** Media Support: Handles various media files like mp4, jpeg, png, yml, and json through a public folder.\n- **5.** Placeholder System: Supports placeholders like %title% in HTML files, which can be replaced dynamically.\n- **6.** Configurable Server Settings: Allows configuration of server settings such as port and thread size via a settings.yml file.\n- **7.** Built-in UI: Provides a user interface with an option for easy server management (start, stop, reload).\n- **8.** Cross-platform: Works across all platforms with executable and JAR versions\n- **9.** Speed and Simplicity: It provides convenience to the developer with speed and simplicity.\n\n### Learn before you start\nCheck out the releases for a sample application.\nmain.html main directory is \"/\". All folder names under the app folder represent a root.\nYou can sort your media files such as mp4, jpeg, png and yml, json under the \"public\" folder and use them on the site. Check out the test project!\n#### Example Project: [Go to project](https://github.com/mustafabinguldev/aurelius-example-project)\n\n### Prerequisites\n\nBefore you begin, ensure that you have the following software installed on your local machine:\n\n- **Java 8 or later**: Aurelius is built using Java, so you need to have Java installed on your system. To check if Java is installed, run the following command:\n\n    ```bash\n    java -version\n    ```\n\n  If Java is not installed, download and install it from the official [Java website](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html).\n\n### Installation\n\nFollow these steps to set up Aurelius on your machine:\n\n**Windows**\n- **1**  Download the latest version from Releases, download the exe file [Download](https://github.com/mustafabinguldev/Aurelius/releases)\n- **2**  Put the jar in an empty folder.\n- **3**  Launch the exe file and it's that simple!\n\n**All Platforms**\n- **1**. Download the latest version from Releases, download the jar file [Download](https://github.com/mustafabinguldev/Aurelius/releases)\n- **2**. Put the jar in an empty folder.\n- **3**. Create a bat file and paste the launch code and then launch it.\n``` bash\njava -Dfile.encoding=UTF-8 -jar aurelius.jar\n```\n\n\n### All frameworks and plugins supported:\n- Tailwind CSS, Bootstrap and more css frameworks..\n\n### Container usage:\n#### main.html:\n```\n\u003chtml\u003e\n\u003cbody\u003e\n\n\u003ch1\u003eExample Text\u003c/h1\u003e\n\u003ccontainer.button text=\"Example Button\"\u003e\u003c/container.button\u003e\n\u003ccontainer.section\u003e\u003c/container.section\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n```\n#### containers/button.html\n```\n\u003cbutton type=\"button\" class=\"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 me-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800\"\u003e\n{text}\u003c/button\u003e\n```\n#### containers/section.html\n```\n\u003cp\u003eExample Text!\u003c/p\u003e\n```\n\n### Placeholder usage:\n#### placeholders.yml:\n```\ntitle: \"Aurelius\"\n```\n#### main.html\n```\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n\u003clink href=\"https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css\" rel=\"stylesheet\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n\u003ch1\u003e%title% Example\u003c/h1\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n\n```\n\n### Media Support:\n#### main.html\n```\n\u003cimg src=\"/public/example.png\" alt=\"Example image\" /\u003e\n```\n#### folder:\n``` \npublic\n   example.png\n```\n\n### settings.yml\n ```\nserver:\n   port: 8080\n   threadSize: 2\n   ui: true\n ```\n\n### Addons \u0026 RESTful:\nYou can design the web server exactly as you want, either by installing other people's addons or by writing your own addon! Example Addon:\n\n[Go to project](https://github.com/mustafabinguldev/AureliusExampleAddon)\n#### Example:\n```\n     //domoin:8080/api/test POST\n      AddonManager.\n                registerRestFulService(new RestFulResponseStructure.Builder(\"test\").\n                        setRestFulResponse(new UserDtoController()).\n                setRequestType(RestFulRequestType.POST).build());   \n      //domoin:8080/api/hello GET\nAddonManager.registerRestFulService(new RestFulResponseStructure.Builder(\"hello\").\n                        setRestFulResponse(new RestFulResponseStructure.RestFulResponse\u003cString, Object\u003e() {\n                            @Override\n                            public String response(Object o, RestFulResponseHelper restFulResponseHelper) {\n                            \n                                CookieStructure cookieStructure = new CookieStructure();\n                                cookieStructure.setCookieName(\"randomid\");\n                                cookieStructure.setCookieValue(\"\"+new Random().nextInt(10000));\n                                cookieStructure.setFeatures(Arrays.asList(new CFMaxAge(3600), new CFHttpOnly()));\n                                restFulResponseHelper.sendCookie(cookieStructure);\n                                \n                                return \"Hello world ! Path data:\"+ Arrays.toString(restFulResponseHelper.getPathData());\n                            }\n\n                            @Override\n                            public Object convert(String s) throws Exception {\n                                return null;\n                            }\n                        }).\n                        setRequestType(RestFulRequestType.GET).\n                        build());\n```\n```\nimport tech.bingulhan.dto.UserDto;\nimport tech.bingulhan.dto.request.UserRequest;\nimport tech.bingulhan.webserver.app.restful.RestFulResponseStructure;\nimport tech.bingulhan.webserver.app.addon.AddonManager;\npublic class UserDtoController implements RestFulResponseStructure.RestFulResponse\u003cUserDto, UserRequest\u003e {\n\n    @Override\n    public UserDto response(UserRequest request, RestFulResponseHelper restFulResponseHelpe) {\n\n        CookieStructure cookieStructure = new CookieStructure();\n        cookieStructure.setCookieName(\"randomid2\");\n        cookieStructure.setCookieValue(\"\"+new Random().nextInt(10000));\n        cookieStructure.setFeatures(Arrays.asList(new CFMaxAge(3600), new CFHttpOnly()));\n        restFulResponseHelper.sendCookie(cookieStructure);\n        \n        UserDto userDto = new UserDto();\n        userDto.setUsername(request.getUsername());\n        userDto.setEmail(request.getEmail());\n\n        return userDto;\n    }\n\n    @Override\n    public UserRequest convert(String s) throws Exception {\n        return (UserRequest) AddonManager.convertFromBodyJson(s, UserRequest.class);\n    }\n}\n```\n\n```\n@Getter\n@Setter\n@ToString\npublic class UserRequest {\n    private String username;\n    private String email;\n}\n@Getter\n@Setter\n@ToString\npublic class UserDto {\n    private String username;\n    private String email;\n}\n\n\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafabinguldev%2FAurelius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmustafabinguldev%2FAurelius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafabinguldev%2FAurelius/lists"}