{"id":37606155,"url":"https://github.com/jackokring/www","last_synced_at":"2026-01-16T10:09:22.294Z","repository":{"id":61044587,"uuid":"547865150","full_name":"jackokring/www","owner":"jackokring","description":"Generic www flask server with phinka module","archived":false,"fork":false,"pushed_at":"2023-05-05T12:23:53.000Z","size":27266,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-01T02:30:01.710Z","etag":null,"topics":["compression","data","flask","phinka","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackokring.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-08T12:55:36.000Z","updated_at":"2024-02-15T05:33:21.000Z","dependencies_parsed_at":"2023-02-08T14:31:07.750Z","dependency_job_id":null,"html_url":"https://github.com/jackokring/www","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jackokring/www","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackokring%2Fwww","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackokring%2Fwww/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackokring%2Fwww/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackokring%2Fwww/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackokring","download_url":"https://codeload.github.com/jackokring/www/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackokring%2Fwww/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["compression","data","flask","phinka","python"],"created_at":"2026-01-16T10:09:22.194Z","updated_at":"2026-01-16T10:09:22.271Z","avatar_url":"https://github.com/jackokring.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generic Server\n\nPlace repository at `~/www` (`https://github.com/jackokring/www.git` while in the `~` directory) and then maybe use `certbot-once.sh` if you have **already** set a domain name to point to the IP and have not got a server running on port `80` yet. This is important as the bot uses its own bind to authenticate DNS correctness (and so ownership). A few cron jobs are set up to maintain the SSL certificate. **There is a task for this** setup to run `certbot-once.sh`. You'll likely have to `sudo apt install git` to be able to clone the repository on a basic Debian GCloud VM. The certbot sets a cron job to keep the SSL keys updated.\n\n# Simplified Curl Install\n\n```\ncd ~\ncurl -L https://raw.githubusercontent.com/jackokring/www/master/config-env.sh \u003e install.sh\nbash install.sh\n# | bash will not work as the directory of the install will not be set correctly.\n# you can rm ~/install.sh\n```\n\n# Check Source\n\nThe script `check-src.sh` checks the sources for errors where possible. TypeScript to JavaScript is such a node hog so no not here. **There is a task for this**. This is where any checks before launch are performed. For example it makes all `.sh` scripts executable. All site specific JavaScript is in `static/js/main.js`.\n\n# Cron Monthly\n\nA monthly check on the SSL keys is performed in `cron-monthly.sh` and any other monthly maintainance can be added in this script.\n\n# Flask Start Up\n\nThe script `flask-up.sh` starts the flask debug server. **There is a task for this**. A `https` server is started by `flask-ssl-up.sh`. The `certbot-once.sh` would have created the keys for the SSL port `443` server. Don't forget to change the `DOMAIN` variable in `config.py` as the domain will very likely not be the same for you. It is used to locate the domain keys.\n\n# Bootstrap and Less\n\nThe basic browser version of `main.less` CSS is available. A minified version of bootstrap is also served from a CDN. This makes easy HTML decoration, and cuts down on server loading.\n\n# Markdown\n\nA markdown load template loads the HTML template and requests a `/static/md` prepended to the page path after the host name and a `.md` on the end for mimetyping, so fetching and rendering the markdown into the page.\n\n# Python and Pyodide\n\nBrowser Python via WASM is provided in `py.html` using a web worker. In a similar way to markdown `/static/py` with an appended `.py` is used to load code.\n\n# Phinka\n\nThe `bin/phinka` script launches as a module to avoid missing module references. Basically `python -m phinka \"$@\"` with arguments. Phinka is also available via `pip install phinka` if you don't need the web server code. [Available on PyPI](https://pypi.org/project/phinka/). `pip3 install --upgrade pip` is your friend. So is `sudo apt install python-is-python3` along with the module `venv`.\n\n`phinka.blwz` - a data-compression format using some of the best and adding in (or technically removing) **self-partition mutual information** (a form of information fission). In principal sections of the BWT could be removed as reconstructable just based on a length count and enough mutual information about previous and following letters. I expect that is computationally intensive though. A faster modulable source for information fusion technolgy is still sought.\n\n`phinka.dx` - calculus tools and other mathemeatical functions. Various integral asymptotics about singularities, which could exhibit Goldstone oscillation of x, while f(x) remains constant perhaps?\n\n# Some Additions to `.bashrc`\n\n```\n# pip utilities\nalias pipfix=\"(pip check | awk '{print $1}' | xargs pip install --upgrade) \u0026\u0026 pip check\"\n\n# pip upgrade all\nalias pipnew=\"(pip list -o | cut -f1 -d' ' | tr ' ' '\\n' | awk '{if(NR\u003e=3)print}' | cut -d' ' -f1 | xargs -n1 pip install -U) \u0026\u0026 pip check\"\n```\nFor upgrading and packages `pipnew` and then fixing dependancies `pipfix` (as best as possible, might need a few iterations) which can be the bane of a consistent python `pip` install.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackokring%2Fwww","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackokring%2Fwww","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackokring%2Fwww/lists"}