diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml index 5cdc7af..6490c43 100644 --- a/.woodpecker/build.yml +++ b/.woodpecker/build.yml @@ -38,9 +38,6 @@ pipeline: secrets: - minio_access_key - minio_secret_key - when: - branch: - exclude: [ release/* ] publish-rel: image: 'alpine:3.18.0' @@ -56,7 +53,5 @@ pipeline: --user "Chewing_Bever:$GITEA_PASSWORD" --upload-file landerctl/build/landerctl https://git.rustybever.be/api/packages/Chewing_Bever/generic/lander/"${CI_COMMIT_TAG}"/landerctl-"$(echo '${PLATFORM}' | sed 's:/:-:g')" - secrets: - - gitea_password when: event: tag diff --git a/README.md b/README.md index 4f8d21e..fcdf32f 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,5 @@ # Lander -Lander is an HTTP/1.1 server that acts as a URL shortener, pastebin and -file-sharing service. It's written from the ground up in C, complete with an -HTTP framework built on top of an event loop implementation based on [Build -Your Own Redis with C/C++](https://build-your-own.org/redis/). Lookup of -entries is done using an in-memory trie data structure, and on-disk storage -uses a custom binary database format. - -The codebase uses one thirdparty library, namely -[picohttpparser](https://github.com/h2o/picohttpparser) for parsing HTTP -requests. - ## The idea A URL shortener has always been on my list of things I'd like to write myself. @@ -21,6 +10,12 @@ different tries (Patricia trie, ternary trie, and a custom one). Considering these are efficient string-based search trees, this gave me the idea to use it as the backend for a URL shortener! +This implementation currently uses a ternary trie as its search tree. The +persistence model is very simple; I simply append a line to a text file every +time a URL is added, and add the lines of this file to the trie on startup. The +trie is stored completely im memory, and no I/O operations are required when +requesting a redirect. This makes the server very fast. + ## The name I gave up giving my projects original names a long time ago, so now I just use diff --git a/config.mk b/config.mk index dfcbbb2..24e2149 100644 --- a/config.mk +++ b/config.mk @@ -1,4 +1,4 @@ -VERSION := 0.2.0 +VERSION := 0.1.0 BIN_FILENAME = lander