From 53cf57ec6045e5c4847bd9205b471978a7d4fc53 Mon Sep 17 00:00:00 2001 From: dablenparty Date: Wed, 1 Oct 2025 11:58:25 -0400 Subject: [PATCH] Add gunicorn production server --- Dockerfile | 4 ++-- README.md | 20 ++++++++++++-------- app/gunicorn.conf.py | 4 ++++ app/portable.py | 3 ++- app/requirements.txt | 5 +++-- requirements.txt | 5 +++-- 6 files changed, 26 insertions(+), 15 deletions(-) create mode 100644 app/gunicorn.conf.py diff --git a/Dockerfile b/Dockerfile index 8dd99e3..5bb5c22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,5 +22,5 @@ COPY . . RUN pip install -r requirements.txt WORKDIR /app EXPOSE 5000 -ENTRYPOINT [ "python" ] -CMD [ "portable.py" ] \ No newline at end of file +ENTRYPOINT [ "gunicorn" ] +CMD [ "portable:app" ] diff --git a/README.md b/README.md index b60af76..23bcea5 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ It pretends to be GoogleBot (Google's web crawler) and gets the same content tha ### Using Docker Requirements: + - docker - Docker Compose (available as `docker compose`) @@ -44,7 +45,7 @@ If that doesn't work retry but replace `python` with `py`, then try `python3`, t Then run `portable.py`, click [this link](https://realpython.com/run-python-scripts/) for a tutorial on how to run python scripts. ```sh -python portable.py +python -m gunicorn 'portable:app' ``` Then open the link shown in the terminal in the browser and you'll be able to use this @@ -58,26 +59,29 @@ python -m pip install -r requirements.txt FLASK_APP=app/portable.py flask run --host=127.0.0.1 --port=9982 ``` - ## Using as a Bookmarklet in Chrome: You can create a bookmarklet that performs the URL transformation by writing a small JavaScript snippet. Below is the JavaScript code for your bookmarklet: + ```javascript -javascript:(function(){window.location.href='https://13ft.wasimaster.me/'+encodeURIComponent(window.location.href);})(); +javascript: (function () { + window.location.href = + "https://13ft.wasimaster.me/" + encodeURIComponent(window.location.href); +})(); ``` + You can replace https://13ft.wasimaster.me with your own 13ft instance if desired. Steps: + 1. Open Bookmarks Manager: 2. Click on the three dots (menu) in the top-right corner of Chrome. -Go to Bookmarks > Bookmark manager, or simply press Ctrl+Shift+O on Windows/Linux or Cmd+Option+B on Mac. -Create a New Bookmark: + Go to Bookmarks > Bookmark manager, or simply press Ctrl+Shift+O on Windows/Linux or Cmd+Option+B on Mac. + Create a New Bookmark: 3. In the Bookmark Manager, click the three-dot menu in the top-right corner of the window and select Add new bookmark. -Enter Bookmark Details: - - Name: Enter a name for your bookmarklet, such as "13ft-ize". This name will show as a bookmark title in the bookmarks bar - - URL: Paste the JavaScript code provided above into the URL field. + Enter Bookmark Details: - Name: Enter a name for your bookmarklet, such as "13ft-ize". This name will show as a bookmark title in the bookmarks bar - URL: Paste the JavaScript code provided above into the URL field. 4. Click Save. Using the Bookmarklet: diff --git a/app/gunicorn.conf.py b/app/gunicorn.conf.py new file mode 100644 index 0000000..3cd32cd --- /dev/null +++ b/app/gunicorn.conf.py @@ -0,0 +1,4 @@ +from os import environ + +# https://docs.gunicorn.org/en/stable/settings.html#settings +bind = f"0.0.0.0:{environ.get('PORT', 5000)}" diff --git a/app/portable.py b/app/portable.py index f970851..acfa0f5 100644 --- a/app/portable.py +++ b/app/portable.py @@ -260,4 +260,5 @@ def get_article(path): return "Invalid URL", 400 -app.run(host="0.0.0.0", port=5000, debug=False) +if __name__ == "__main__": + app.run(host="0.0.0.0", port=5000, debug=False) diff --git a/app/requirements.txt b/app/requirements.txt index b2d4e9d..d3adff4 100644 --- a/app/requirements.txt +++ b/app/requirements.txt @@ -1,3 +1,4 @@ -flask -requests bs4 +flask +gunicorn +requests diff --git a/requirements.txt b/requirements.txt index b2d4e9d..d3adff4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ -flask -requests bs4 +flask +gunicorn +requests