diff --git a/README.md b/README.md index 4194ba4..37965e6 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ **CLI-only text pastebin service.** -[Issue tracker](https://git.uphillsecurity.com/cf7/linedump/issues) | `Libera Chat #linedump` - - - Status: Beta - expect minor changes - Instance: [linedump.com](https://linedump.com/) - Inspired by: @@ -70,12 +67,12 @@ Invoke-RestMethod -Uri "https://linedump.com/{path}" █ Upload text: -echo 'Cheers' | openssl enc -aes-256-cbc -salt -pbkdf2 -base64 -pass pass:yourkey | curl -X POST -d @- https://linedump.com/ +echo 'Cheers' | openssl enc -aes-256-cbc -pbkdf2 -base64 -pass pass:yourkey | curl -X POST -d @- https://linedump.com/ █ Upload file: -openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 < file.txt | curl -sS -X POST https://linedump.com --data-binary @- +openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 < YOURFILE.txt | curl -sS -X POST https://linedump.com --data-binary @- █ Upload command output: @@ -85,7 +82,7 @@ ip -br a | openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 █ Download: -curl -s https://linedump.com/{path} | base64 -d | openssl enc -d -aes-256-cbc -pbkdf2 -pass pass:yourkey +curl -s https://linedump.com/PASTE_THE_ID | base64 -d | openssl enc -d -aes-256-cbc -pbkdf2 -pass pass:yourkey @@ -118,7 +115,7 @@ Use with reverse-proxy and HTTPS! | Variable | Description | Default | Required | |----------|-------------|---------|----------| -| `BASEURL` | Base URL used in the application responses and examples | `http://127.0.0.1:8000` | No | +| `DOMAIN` | Domain name used in the application responses and examples | `linedump.com` | No | | `DESCRIPTION` | Application description displayed in the root endpoint | `CLI-only pastebin powered by linedump.com` | No | | `MAX_FILE_SIZE_MB` | Maximum file size limit in megabytes | `50` | No | | `RATE_LIMIT` | Rate limit for uploads (format: "requests/timeframe") | `50/hour` | No | @@ -132,12 +129,6 @@ For security concerns or reports, please contact via `hello a t uphillsecurity d --- -## Notes - -- [Github Mirror available](https://github.com/CaffeineFueled1/linedump) - ---- - ## License **Apache License** diff --git a/main.py b/main.py index 9917f52..7d151a2 100644 --- a/main.py +++ b/main.py @@ -12,7 +12,7 @@ import hashlib from typing import Optional -BASEURL = os.getenv('BASEURL', 'http://127.0.0.1:8000') +DOMAIN = os.getenv('DOMAIN', 'linedump.com') DESCRIPTION = os.getenv('DESCRIPTION', 'CLI-only pastebin powered by linedump.com') MAX_FILE_SIZE_MB = int(os.getenv('MAX_FILE_SIZE_MB', '50')) RATE_LIMIT = os.getenv('RATE_LIMIT', '50/hour') @@ -81,7 +81,8 @@ async def upload_text(request: Request): with open(file_path, 'w', encoding='utf-8') as f: f.write(content) - return f"{BASEURL}/{random_path}\n" + base_url = f"https://{request.headers.get('host', request.url.netloc)}" + return f"{base_url}/{random_path}\n" except Exception as e: raise HTTPException(status_code=500, detail="Failed to save file") @@ -105,7 +106,7 @@ async def get_file(file_path: str): @app.get("/", response_class=PlainTextResponse) async def root(): - return f"""LD {BASEURL} + return f"""LD {DOMAIN} ████ General ████ @@ -122,32 +123,32 @@ async def root(): █ Upload curl: -curl -X POST -d "Cheers" {BASEURL}/ # string -curl -X POST {BASEURL} --data-binary @- < file.txt # file -ip -br a | curl -X POST {BASEURL} --data-binary @- # command output +curl -X POST -d "Cheers" https://{DOMAIN}/ # string +curl -X POST https://{DOMAIN} --data-binary @- < file.txt # file +ip -br a | curl -X POST https://{DOMAIN} --data-binary @- # command output █ Upload wget: -echo "Cheers" | wget --post-data=@- -O- {BASEURL}/ # string -wget --post-file=file.txt -O- {BASEURL}/ # file -ip -br a | wget --post-data=@- -O- {BASEURL}/ # command output +echo "Cheers" | wget --post-data=@- -O- https://{DOMAIN}/ # string +wget --post-file=file.txt -O- https://{DOMAIN}/ # file +ip -br a | wget --post-data=@- -O- https://{DOMAIN}/ # command output █ Upload Powershell: -Invoke-RestMethod -Uri "{BASEURL}/" -Method Post -Body "Cheers" # string -Invoke-RestMethod -Uri "{BASEURL}/" -Method Post -InFile "file.txt" # file -ipconfig | Invoke-RestMethod -Uri "{BASEURL}/" -Method Post -Body {{ $_ }} # command output +Invoke-RestMethod -Uri "https://{DOMAIN}/" -Method Post -Body "Cheers" # string +Invoke-RestMethod -Uri "https://{DOMAIN}/" -Method Post -InFile "file.txt" # file +ipconfig | Invoke-RestMethod -Uri "https://{DOMAIN}/" -Method Post -Body {{ $_ }} # command output █ Download: -curl {BASEURL}/{{path}} +curl https://{DOMAIN}/{{path}} -wget -O- {BASEURL}/{{path}} +wget -O- https://{DOMAIN}/{{path}} -Invoke-RestMethod -Uri "{BASEURL}/{{path}}" +Invoke-RestMethod -Uri "https://{DOMAIN}/{{path}}" @@ -157,26 +158,26 @@ Invoke-RestMethod -Uri "{BASEURL}/{{path}}" █ Upload text: echo 'Cheers' \ - | openssl enc -aes-256-cbc -pbkdf2 -salt -base64 -pass pass:yourkey \ - | curl -X POST -d @- {BASEURL}/ + | openssl enc -aes-256-cbc -pbkdf2 -base64 -pass pass:yourkey \ + | curl -X POST -d @- https://{DOMAIN}/ █ Upload file: -openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 < file.txt \ - | curl -sS -X POST {BASEURL} --data-binary @- +openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 < YOURFILE.txt \ + | curl -sS -X POST https://{DOMAIN} --data-binary @- █ Upload command output: ip -br a \ | openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:yourkey -base64 \ - | curl -sS -X POST {BASEURL} --data-binary @- + | curl -sS -X POST https://{DOMAIN} --data-binary @- █ Download: -curl -s {BASEURL}/{{path}} \ +curl -s https://{DOMAIN}/PASTE_THE_ID \ | base64 -d \ | openssl enc -d -aes-256-cbc -pbkdf2 -pass pass:yourkey @@ -190,7 +191,7 @@ curl -s {BASEURL}/{{path}} \ {{ cmd() {{ printf "\\n# %s\\n" "$*"; "$@"; }}; \\ cmd hostname; \\ cmd ip -br a; \\ - }} 2>&1 | curl -X POST {BASEURL} --data-binary @- + }} 2>&1 | curl -X POST https://{DOMAIN} --data-binary @- █ Continous command: @@ -198,7 +199,7 @@ curl -s {BASEURL}/{{path}} \ (timeout --signal=INT --kill-after=5s 10s \\ ping 127.1; \\ echo "--- Terminated ---") | \\ - curl -X POST --data-binary @- {BASEURL} + curl -X POST --data-binary @- https://{DOMAIN}