diff --git a/README.md b/README.md
index ddb453c..42a90d5 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,15 @@
# abyss
-abyss is a basic (mostly) single user http server made for uploading files (logs, images) and then sharing them to the internet
+abyss is a basic and mostly single user http server written in go made for uploading files (logs, images) and then sharing them to the internet
-note: this is a project made for learning purposes, you should use other more mature projects if running in production. probably.
+
## table of contents
+- [features](#features)
- [running abyss](#running)
- [installing with docker](#docker)
- [installing manually](#manual)
@@ -13,6 +17,15 @@ note: this is a project made for learning purposes, you should use other more ma
- [theming](#theming)
- [docs](#docs)
- [todo list](#todo)
+- [more pictures](#pictures)
+
+## features
+
+- **file uploads**: supports uploading various file types, including images, videos, and documents.
+- **flexible media display**: automatically renders uploaded files on a webpage based on their type (images, pdfs, videos, or plain text).
+- **easily customizable interface**: allows for easy modification of color schemes and layout to suit specific design needs.
+- **syntax highlighting for code**: syntax highlighting available by default for code files, with support for multiple programming languages. (can be tweaked/changed and even removed)
+- **security considerations**: as it is single user, it's mostly secure but there are still some edges to sharpen
## running:
@@ -40,7 +53,11 @@ docker compose up -d # might be docker-compose depending on distro
#### with curl
-- to upload your files with curl:
+- you can upload both with the main key and with jwt tokens
+
+##### main key
+
+- to upload your files with main key:
```bash
curl -F "file=@/path/to/file" -H "X-Auth: "$(cat /path/to/.key) http://localhost:3235/
@@ -64,7 +81,7 @@ pst() {
return 1
fi
- curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" http://localhost:3235
+ curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" http://localhost:3235/
if [[ -p /dev/stdin ]]; then
rm "$file"
@@ -88,7 +105,7 @@ function pst
set file "$argv[1]"
end
- curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" http://localhost:3235
+ curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" http://localhost:3235/
if command test -p /dev/stdin
rm "$file"
@@ -98,6 +115,22 @@ end
+##### with jwt tokens
+
+- you first need to generate them:
+
+```bash
+curl -u admin http://localhost:3235/token # you can also access the url in the browser directly
+```
+
+- the user will be the value of `$AUTH_USERNAME` and password the value of `$AUTH_PASSWORD`
+
+- then you use the token in place of the main key:
+
+```bash
+curl -F"file=@/path/to/file.jpg" -H "X-Auth: your-token" http://localhost:3235/
+```
+
#### through the browser
- you can only upload text through the browser, to do so, simply write text in the form in the default webpage and click upload.
@@ -132,3 +165,15 @@ end
- [x] custom file displaying!!
- [x] syntax highlighting
- [ ] add rate limits
+
+## pictures
+
+
+
+