{"id":13466100,"url":"https://github.com/nemasu/asmttpd","last_synced_at":"2025-05-15T05:07:32.066Z","repository":{"id":13610571,"uuid":"16303681","full_name":"nemasu/asmttpd","owner":"nemasu","description":"Web server for Linux written in amd64 assembly.","archived":false,"fork":false,"pushed_at":"2025-03-01T14:36:22.000Z","size":67,"stargazers_count":3075,"open_issues_count":13,"forks_count":200,"subscribers_count":88,"default_branch":"master","last_synced_at":"2025-04-14T08:11:25.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemasu.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-01-28T06:07:31.000Z","updated_at":"2025-04-14T02:13:48.000Z","dependencies_parsed_at":"2022-08-07T07:15:37.595Z","dependency_job_id":"abbe572b-9cdf-4513-b2c5-0b141eb9b10d","html_url":"https://github.com/nemasu/asmttpd","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemasu%2Fasmttpd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemasu%2Fasmttpd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemasu%2Fasmttpd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemasu%2Fasmttpd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemasu","download_url":"https://codeload.github.com/nemasu/asmttpd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254276447,"owners_count":22043867,"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":[],"created_at":"2024-07-31T15:00:39.118Z","updated_at":"2025-05-15T05:07:27.038Z","avatar_url":"https://github.com/nemasu.png","language":"Assembly","readme":"asmttpd\n=======\n\nWeb server for Linux written in amd64 assembly.\n\nFeatures:\n* Multi-threaded.\n* No libraries required ( only 64-bit Linux ).\n* Very small binary.\n* Quite fast.\n\nWhat works:\n* Serving files from specified document root.\n* HEAD requests.\n* 200, 206, 404, 400, 413, 416\n* Content-types: xml, html, xhtml, gif, png, jpeg, css, js, svg, txt, and octet-stream.\n  \nPlanned Features:\n* Directory listing.\n\nCurrent Limitations / Known Issues\n=======\n* Sendfile can hang if GET is cancelled.\n\nInstallation\n=======\n\nRun `make` or `make release` for non-debug version.\n\nYou will need `yasm` installed.\n\nUsage\n=======\n\n`./asmttpd /path/to/web_root port_number`\n\nExample: `./asmttpd ./web_root 8080`\n\nChanges\n=======\n2025-03-01 : asmttpd - 0.4.7\n\n* Added txt type.\n\n2023-04-13 : asmttpd - 0.4.6\n\n* Initial directory listing support.\n\n2021-01-15 : asmttpd - 0.4.5\n\n* string_contains bugfix.\n\n2019-04-22 : asmttpd - 0.4.4\n\n* Added SVG support.\n\n2019-01-24 : asmttpd - 0.4.3\n\n* Added port number as parameter.\n\n2017-10-18 : asmttpd - 0.4.2\n\n* Set REUSEADDR.\n\n2017-10-17 : asmttpd - 0.4.1\n\n* Stack address bug fix.\n\n2016-10-31 : asmttpd - 0.4\n\n* HEAD support.\n\n2014-07-14 : asmttpd - 0.3\n\n* Added default document support.\n\n2014-02-10 : asmttpd - 0.2\n\n* Added 400, 413, 416 responses.\n* Fixed header processing bug.\n\n2014-02-07 : asmttpd - 0.1.1\n\n* Fixed 206 max length bug.\n* Commented out simple request logging, uncomment in main.asm to enable.\n\n2014-02-06 : asmttpd - 0.1\n\n* Fixed SIGPIPE when transfer is cancelled.\n* Added a more useful error on bind failure.\n* Fixed 206 size calculation.\n* Combined seek \u0026 get file size system calls.\n\n2014-02-05 : asmttpd - 0.09\n\n* Issue #8 fix. Crashes on long request paths.\n\n2014-02-04 : asmttpd - 0.08\n\n* Added TCP corking.\n\n2014-02-04 : asmttpd - 0.07\n\n* Removed thread pool after benchmarking, changed to an accept-per-thread model.\n\n2014-02-04 : asmttpd - 0.06\n\n* Worker thread stack corruption bug fix.\n\n2014-02-04 : asmttpd - 0.05\n\n* Changed 200 and 206 implementation to use sendfile system call.\n* Got rid of read/write buffer, changed request read buffer to standard 8KB.\n\n2014-02-03 : asmttpd - 0.04\n\n* 200 now streams full amount\n\n\n2014-02-01 : asmttpd - 0.03\n\n* Files are split if too large to fit into buffer. \n* Added 206 responses with Content-Range handling\n\n\n2014-01-30 : asmttpd - 0.02\n\n* Added xml, xhtml, gif, png, jpeg, css, and javascript content types.\n* Changed thread memory size to something reasonable. You can tweak it according to available memory. See comments in main.asm\n* Added simple request logging.\n* Added removal of '../' in URL.\n","funding_links":[],"categories":["HarmonyOS","Assembly","Linux","Soft"],"sub_categories":["Windows Manager","WebServer"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemasu%2Fasmttpd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemasu%2Fasmttpd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemasu%2Fasmttpd/lists"}