This website
Links
Todos
- Think about how to better organize tags to prevent cluttered folder listing pages (like the Azure study page
- Rework this tasks & todos page into an Orgfile for use with
org-roamandorg-agendain my personal Org-workflow- Try out
ox-hugowith theOxHugoFlavoredMarkdown-plugin
- Try out
Workflow and configuration
Links
Todos
Emacs
- Put the
org-modeclock in the menu bar: https://github.com/mmagnus/EmacsOrgModeClockingXBar?tab=readme-ov-file- Add the tag of the task to the org-clock
- Add icons for task categories
- [-] Work out
prettify-symbols-modefor:- bullet points
- headings (replace
org-bullets) - org TODO states maybe
- Emacs ebook reading and note taking in orgfiles (link)
org-noternov.el
- Create a basic ‘work’ template for
org-roamwhich includes/features:- timestamp (active or inactive timestamp)
- filetags (or active encouragement to tag the file, maybe put the cursor here first)
- organization by folder/tag/topic (so tags/folders for S&P, DWO, cloud, etc.)
Selfhosting
Links
Todos
Ebooks (*.joostagterhoek.nl)
- Try out Calibre Web for ebook management
Quartz (joostagterhoek.nl)
- Permanent fix for correct user/group ownership of Quartz
publicfolder (gitlab_runner:www-data) - Post to Mastodon with web hook: https://micheleong.com/blog/programmatically-post-to-mastodon-with-make
Study
Azure
AZ-104
- fill in
AZ-500
- fill in
AZ-900
- fill in
SC-200
- fill in
SC-400
Malware analysis & development
Maldev Academy
- Consolidate notes on index.md
- Remove todos from index.md
- Add a ‘build&run’ flow to Notepad++ by trying some NppExec-code
Flask SOC project
Links
Todos
Programming
backend
- work out a way for the Lookup-class instance to recognize an email address python flask-soc-site-v2
- work through the
normalizemethod innormalize_inputto remove quotes, any trailing whitespace, extract a domain name, etc. It’s basically not necessary for URLs and domains, but, normalizing/sanitizing user input is always a good idea 👍 python flask-soc-site-v2 user-input - Make flask-soc-site-v2 stable enough to retrieve one or more hosts (typed in, not by file) python flask-soc-site-v2 selfhosting
- Figure out rate limiting python flask-soc-site-v2 selfhosting
- Light/dark theme from Fireship example (source)
- Work out where Flask sources JavaScript and put any scripts there python flask-soc-site-v2 JavaScript
- Figure out the JavaScript/HTML behind the example used in index2.html in jag206/index2.html python flask-soc-site-v2 JavaScript Datatables
- rework the Host-objects to only include relevant information, to prevent the Jinja-mess in results overview.html
frontend
- analyze example frontend CSS like AbuseIPDB
- See:
view-source:https://www.abuseipdb.com/
- See:
- build secondary CSS and HTML results-page based on AbuseIPDB
Deployment
Python wheel & Gunicorn
- try to turn flask-soc-sitev2 into a wheel following the documentation for deployment python flask-soc-site-v2 selfhosting
- Try to build flask-soc-site-v2 as a wheel locally and deploy locally for testing purposes python flask-soc-site-v2 selfhosting
- Figure out rate limiting python flask-soc-site-v2 selfhosting
- Remove SSO for soc.joostagterhoek.nl
Docker container
-
Build and push a local container to the Gitlab container registry on
code.joostagterhoek.nl✅ See tag 1:0 of flask-soc-site -
Pull and run the built container on a test domain configured with YunoHost Reverse Proxy-application ✅ See soc.joostagterhoek.nl
-
Add WSGI-server to Docker container (Gunicorn f.e.)
- ✅ currently
CMD ["gunicorn", "-b", "0.0.0.0:8000", "flask_soc_site:create_app()"]in Dockerfile
- ✅ currently
-
[-] Add secrets at runtime through Docker Compose file
-
Consume secrets in Flask app via Docker secrets (Swarm)
- ✅
get_docker_secretwithdocker service create --secret <secret-name> --secret <another-secret-name>and so on
- ✅
-
Reproduce working Docker service in the Gitlab pipeline