From 6d877f51009d16a2131f9e9fd559ead145e164a3 Mon Sep 17 00:00:00 2001 From: Graham Date: Wed, 28 Dec 2022 20:47:25 -0500 Subject: [PATCH] Initial commit --- archetypes/default.md | 6 + config.toml | 35 +++ content/_index.md | 27 +++ content/blog/_index.md | 27 +++ content/blog/sampleblog.md | 144 ++++++++++++ content/pages/_index.md | 27 +++ content/pages/links.md | 23 ++ content/roundup/_index.md | 27 +++ content/roundup/roundup1.md | 85 +++++++ public/404.html | 85 +++++++ public/blog/index.html | 75 ++++++ public/blog/index.xml | 20 ++ public/blog/page/1/index.html | 10 + public/blog/sampleblog/index.html | 213 ++++++++++++++++++ public/categories/index.html | 124 ++++++++++ public/categories/index.xml | 9 + public/css/style.css | 161 +++++++++++++ public/index.html | 82 +++++++ public/index.xml | 44 ++++ public/pages/index.html | 75 ++++++ public/pages/index.xml | 25 ++ public/pages/links/index.html | 94 ++++++++ public/pages/page/1/index.html | 10 + public/roundup/index.html | 75 ++++++ public/roundup/index.xml | 19 ++ public/roundup/page/1/index.html | 10 + public/roundup/roundup1/index.html | 176 +++++++++++++++ public/sitemap.xml | 43 ++++ public/tags/homelab/index.html | 74 ++++++ public/tags/homelab/index.xml | 20 ++ public/tags/homelab/page/1/index.html | 10 + public/tags/index.html | 124 ++++++++++ public/tags/index.xml | 46 ++++ public/tags/research/index.html | 74 ++++++ public/tags/research/index.xml | 20 ++ public/tags/research/page/1/index.html | 10 + public/tags/roundup/index.html | 74 ++++++ public/tags/roundup/index.xml | 19 ++ public/tags/roundup/page/1/index.html | 10 + public/tags/security/index.html | 82 +++++++ public/tags/security/index.xml | 29 +++ public/tags/security/page/1/index.html | 10 + themes/smore/LICENSE | 20 ++ themes/smore/archetypes/default.md | 2 + themes/smore/layouts/404.html | 31 +++ themes/smore/layouts/_default/baseof.html | 12 + themes/smore/layouts/_default/list.html | 17 ++ themes/smore/layouts/_default/single.html | 24 ++ themes/smore/layouts/_default/terms.html | 29 +++ themes/smore/layouts/blog/single.html | 23 ++ themes/smore/layouts/index.html | 4 + themes/smore/layouts/partials/footer.html | 10 + themes/smore/layouts/partials/head.html | 15 ++ themes/smore/layouts/partials/header.html | 16 ++ themes/smore/layouts/partials/pagination.html | 15 ++ themes/smore/static/css/style.css | 161 +++++++++++++ themes/smore/theme.toml | 21 ++ 57 files changed, 2753 insertions(+) create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content/_index.md create mode 100644 content/blog/_index.md create mode 100644 content/blog/sampleblog.md create mode 100644 content/pages/_index.md create mode 100644 content/pages/links.md create mode 100644 content/roundup/_index.md create mode 100644 content/roundup/roundup1.md create mode 100644 public/404.html create mode 100644 public/blog/index.html create mode 100644 public/blog/index.xml create mode 100644 public/blog/page/1/index.html create mode 100644 public/blog/sampleblog/index.html create mode 100644 public/categories/index.html create mode 100644 public/categories/index.xml create mode 100644 public/css/style.css create mode 100644 public/index.html create mode 100644 public/index.xml create mode 100644 public/pages/index.html create mode 100644 public/pages/index.xml create mode 100644 public/pages/links/index.html create mode 100644 public/pages/page/1/index.html create mode 100644 public/roundup/index.html create mode 100644 public/roundup/index.xml create mode 100644 public/roundup/page/1/index.html create mode 100644 public/roundup/roundup1/index.html create mode 100644 public/sitemap.xml create mode 100644 public/tags/homelab/index.html create mode 100644 public/tags/homelab/index.xml create mode 100644 public/tags/homelab/page/1/index.html create mode 100644 public/tags/index.html create mode 100644 public/tags/index.xml create mode 100644 public/tags/research/index.html create mode 100644 public/tags/research/index.xml create mode 100644 public/tags/research/page/1/index.html create mode 100644 public/tags/roundup/index.html create mode 100644 public/tags/roundup/index.xml create mode 100644 public/tags/roundup/page/1/index.html create mode 100644 public/tags/security/index.html create mode 100644 public/tags/security/index.xml create mode 100644 public/tags/security/page/1/index.html create mode 100644 themes/smore/LICENSE create mode 100644 themes/smore/archetypes/default.md create mode 100644 themes/smore/layouts/404.html create mode 100644 themes/smore/layouts/_default/baseof.html create mode 100644 themes/smore/layouts/_default/list.html create mode 100644 themes/smore/layouts/_default/single.html create mode 100644 themes/smore/layouts/_default/terms.html create mode 100644 themes/smore/layouts/blog/single.html create mode 100644 themes/smore/layouts/index.html create mode 100644 themes/smore/layouts/partials/footer.html create mode 100644 themes/smore/layouts/partials/head.html create mode 100644 themes/smore/layouts/partials/header.html create mode 100644 themes/smore/layouts/partials/pagination.html create mode 100644 themes/smore/static/css/style.css create mode 100644 themes/smore/theme.toml diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..c4e4475 --- /dev/null +++ b/config.toml @@ -0,0 +1,35 @@ +title = "Your_Site_Name" +baseURL = "https://yoursite.com" +relativeURLs = true +theme = "smore" +enableEmoji = true + +# Change me if you use google analytics +googleAnalytics = "UA-123456789" +# Sets the amount of blog posts that appear before creating a new page +paginate = 15 + +# Set the parameters for your site +[params] +author = "Your Name" +description = "Site Description" +# path to a .ico to use as favicon +favicon = "favicon.ico" + +# Define syntax highlighting +[markup] + [markup.highlight] + anchorLineNos = false + codeFences = true + guessSyntax = false + hl_Lines = '' + hl_inline = false + lineAnchors = '' + lineNoStart = 1 + lineNos = true + lineNumbersInTable = false + noClasses = true + noHl = false + # Syntax style. Choose themes from here + style = 'gruvbox' + tabWidth = 4 diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..587db88 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,27 @@ +--- +title: "Homepage Title" +date: 2022-10-08 +draft: false +description: "Graham Helton" +--- + + +Brief "about you" section. + +# Education +- Bachelors of Science in Cybersecurity (current) + + +# Job Experience +- Intern @ xyz company + +# Side Projects +- Built active directory homelab for testing attacks and how to defend agaisnt them +- Volunteer at Wild West Hacking Fest Deadwood +- Released open source tool XYZ on github - [Link to tool]() + +# Certifications & Accomplishment +- CompTIA Security+ +- Tryhackme top 1% - [Link to Tryhackme profile]() +- XYZ ctf 3rd place winner - [Link to CTF]() +- Cybersecurity club memeber diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..587db88 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,27 @@ +--- +title: "Homepage Title" +date: 2022-10-08 +draft: false +description: "Graham Helton" +--- + + +Brief "about you" section. + +# Education +- Bachelors of Science in Cybersecurity (current) + + +# Job Experience +- Intern @ xyz company + +# Side Projects +- Built active directory homelab for testing attacks and how to defend agaisnt them +- Volunteer at Wild West Hacking Fest Deadwood +- Released open source tool XYZ on github - [Link to tool]() + +# Certifications & Accomplishment +- CompTIA Security+ +- Tryhackme top 1% - [Link to Tryhackme profile]() +- XYZ ctf 3rd place winner - [Link to CTF]() +- Cybersecurity club memeber diff --git a/content/blog/sampleblog.md b/content/blog/sampleblog.md new file mode 100644 index 0000000..27d6f95 --- /dev/null +++ b/content/blog/sampleblog.md @@ -0,0 +1,144 @@ +--- +title: "Blog title: researching the XYZ" +date: 2021-12-06 +tags: ["Homelab","Security","Research"] +description: "Short description of post." +draft: false +type: page +--- + +# Title +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. + +# Title +In vel sapien a justo condimentum finibus. Fusce non magna a leo suscipit fringilla nec in magna. Vestibulum viverra dapibus magna in placerat. Pellentesque sed sodales ex. Vivamus blandit eu justo ac luctus. Etiam nec tellus molestie, suscipit velit ut, lacinia velit. Quisque libero tellus, hendrerit ac dignissim et, faucibus ac nulla. Vestibulum finibus posuere varius. Maecenas finibus est non egestas aliquet. Cras venenatis metus sed iaculis fermentum. In ipsum dui, sagittis ac augue id, feugiat bibendum dui. Sed pellentesque orci orci, quis mollis massa tempor mattis. + +```python +#! /bin/python3.10 +import re +import requests +import os +from os.path import exists +from bs4 import BeautifulSoup +from colorama import Fore, Style +company_list = ['scythe','dragos'] +company_url = {'scythe':'https://www.scythe.io/about/careers','dragos':'https://jobs.lever.co/dragos'} + +# Define formatting +reset = Style.RESET_ALL +green = Fore.GREEN +purple = Fore.MAGENTA +sep = Fore.BLUE + "---------------------------" + reset + +def get_format(response,company_name): + '''Return the HTML attribute needed for each site''' + match company_name: + case "scythe": + soup = BeautifulSoup(response.text, 'html.parser').findAll("h3",attrs={"id": "w-node-_6a3848d7-bd9c-4061-be22-05d0c32b7a82-c32b7a81"}) + return soup + case "dragos": + soup = BeautifulSoup(response.text, 'html.parser').findAll("h5",attrs={"data-qa": "posting-name"}) + return soup + +def parse(posting_location,company_name): + '''Issue the HTML request for job posting page''' + # Issue request to scyhte careers page + response = requests.get(posting_location,company_name) + + # Get the format of the specific site to parse + parsed_response = get_format(response,company_name) + + return parsed_response + +def parse_html(html_response): + '''Takes list of HTML strings and parses them to contain just the job posting''' + # for each job posting + postings_list = [] + for i in html_response: + # Remove HTML from job posting + postings_list.append(re.sub('<[^<]+?>', '', str(i))) + return postings_list + +def get_new(postings_list,old_list,company_name): + '''Get the difference in the new job postings and the old ones''' + new_post = list(set(postings_list) - set(old_list)) + list(set(old_list) - set(postings_list)) + path = './data/'+company_name + + # Save job posting to file + with open(path, 'w') as f: + for listing in postings_list: + f.write("%s \n" % listing) + if new_post: + return company_name,new_post + +def get_old(company_name): + '''Get the previous job postings and add them to a list''' + # If data file does not exist, create it + path = './data/'+company_name + if not exists(path): + open(path, 'a').close() + with open(path) as file: + lines = file.readlines() + old_list = [] + for i in lines: + # for each job posting, strip out the characters we don't need + old_list.append(i.rstrip()) + return old_list + +def print_results(company_name,new_post): + '''print the job postings''' + company_name = str(new_post[0]).upper() + print(f"{green}{company_name} has new job postings!") + print(sep) + new_post = new_post[1:] + job_postings = list(new_post) + for i in job_postings: + print(f"{purple}",*i,sep="\n") + print(sep) + pass + +def select_company(): + '''Select the company passed in list and then call the function required for that specific job''' + # Get the company name from the index number passed in through the function + for company in range(len(company_list)): + company_name = list(company_url.keys())[company] + posting_location = list(company_url.values())[company] + html_response = parse(posting_location,company_name) + old_list = get_old(company_name) + postings_list = parse_html(html_response) + new_post = get_new(postings_list,old_list,company_name) + if new_post: + print_results(company_name,new_post) + else: + print(f"{green}{company_name}{purple} has no new job postings") + +print(f"{green}Ear2Ground:{purple} A Program to help you keep tabs on the job postings of infosec companies") +print(sep) +def main(): + path = './data/' + if not os.path.exists(path): + os.makedirs(path) + select_company() + +if __name__ == "__main__": + main() + +``` + + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquam, urna a ultricies dictum, mi arcu commodo eros, dictum vulputate leo magna ac orci. Quisque ultricies molestie nibh, eget sagittis est commodo ut. Cras fermentum, lectus eu interdum rhoncus, erat tortor aliquam velit, eu iaculis purus ex sed lorem. Nunc maximus nisi eu mauris ultricies, non placerat nisl fringilla. Quisque dignissim tellus enim, ut faucibus diam iaculis sit amet. Aenean vestibulum et nunc tempor elementum. Mauris vel augue id justo tempor euismod. Nunc elementum vulputate ante sit amet pulvinar. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce vitae faucibus lectus. +1. This +2. Is +3. A +4. List +## Smaller Title 2 +- This +- Is +- Also +- A +- List + +Sed imperdiet metus at porta blandit. Proin aliquet fringilla fringilla. In eu mi tempus, condimentum leo in, fermentum purus. Fusce eget dignissim quam. Nulla faucibus elit vel ligula laoreet tempor. Phasellus sed magna velit. Donec at euismod mi. Cras suscipit interdum ligula. +> This is a block quote. Groovy. + +In ac euismod diam, quis vehicula tellus. Duis mollis, nulla quis egestas congue, eros enim tempor urna, ac pretium elit mi quis nulla. Nunc id vestibulum felis. Aliquam quis massa at dui posuere mattis. Curabitur fermentum rutrum nisl, nec hendrerit velit vestibulum ut. Donec varius euismod ex, eget lacinia odio scelerisque eget. Cras posuere, massa tincidunt tristique semper, tellus felis porta lorem, eu pulvinar velit lacus sit amet orci. Ut finibus dolor ac lectus tristique, non condimentum justo tristique. Pellentesque consectetur mollis tincidunt. Praesent dapibus, dui sed rhoncus luctus, erat ligula posuere eros, quis ullamcorper justo leo id tellus. diff --git a/content/pages/_index.md b/content/pages/_index.md new file mode 100644 index 0000000..587db88 --- /dev/null +++ b/content/pages/_index.md @@ -0,0 +1,27 @@ +--- +title: "Homepage Title" +date: 2022-10-08 +draft: false +description: "Graham Helton" +--- + + +Brief "about you" section. + +# Education +- Bachelors of Science in Cybersecurity (current) + + +# Job Experience +- Intern @ xyz company + +# Side Projects +- Built active directory homelab for testing attacks and how to defend agaisnt them +- Volunteer at Wild West Hacking Fest Deadwood +- Released open source tool XYZ on github - [Link to tool]() + +# Certifications & Accomplishment +- CompTIA Security+ +- Tryhackme top 1% - [Link to Tryhackme profile]() +- XYZ ctf 3rd place winner - [Link to CTF]() +- Cybersecurity club memeber diff --git a/content/pages/links.md b/content/pages/links.md new file mode 100644 index 0000000..f5d98c3 --- /dev/null +++ b/content/pages/links.md @@ -0,0 +1,23 @@ +--- +title: "Social Links" +images: ["/libraryCard.png"] +date: 2022-11-06 +description: "A collection of links to my social media accounts and pages" +draft: false +--- + +# Social Media Links + +**Email** -> your(at)email@provider.com + +[Mastodon]() -> This is where the cool infosec people hang out. :) + +[Twitter]() -> I check my DM's fairly often. + +[Linkedin]() -> I check my DM's everyone once and a while. + +[Youtube]() -> Sometimes I post things that I'm working on. + +[Blog]() -> Research and long form content. + +[Roundup]() -> Weekly "What have I been working on" geared toward helping people see what they can do to get experience without paying for certs/degrees. diff --git a/content/roundup/_index.md b/content/roundup/_index.md new file mode 100644 index 0000000..a26dde1 --- /dev/null +++ b/content/roundup/_index.md @@ -0,0 +1,27 @@ +--- +title: "Weekly Roundups" +date: 2022-10-08 +draft: false +description: "Graham Helton" +--- + + +Brief "about you" section. + +# Education +- Bachelors of Science in Cybersecurity (current) + + +# Job Experience +- Intern @ xyz company + +# Side Projects +- Built active directory homelab for testing attacks and how to defend agaisnt them +- Volunteer at Wild West Hacking Fest Deadwood +- Released open source tool XYZ on github - [Link to tool]() + +# Certifications & Accomplishment +- CompTIA Security+ +- Tryhackme top 1% - [Link to Tryhackme profile]() +- XYZ ctf 3rd place winner - [Link to CTF]() +- Cybersecurity club memeber diff --git a/content/roundup/roundup1.md b/content/roundup/roundup1.md new file mode 100644 index 0000000..8f2c0b9 --- /dev/null +++ b/content/roundup/roundup1.md @@ -0,0 +1,85 @@ +--- +title: "Weekly Roundup #1: December 12-19th 2021" +date: 2021-12-19 +tags: ["Security","Roundup"] +description: "The first roundup!" +draft: false +--- + +# What is this? +This is the first of a weekly "round up" that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a *footprint* for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. Some weeks will have have more content than others depending on the amount of free time I have. + +# 12/12/2021 +- Went over SANS GSEC certification notes +- Spent entirely too long getting [git.grahamhelton.com](http://git.grahamhelton.com) and [twitter.grahamhelton.com](http://twitter.grahamhelton.com) to point to my twitter and github using DNS... +- Rebuilt homelab into a snazzy new case. + +![](/Pasted-image-20211214203659.png) + +- Compiled some information about how to get started with docker to go through once I finish my SANS GSEC material + +```bash +# Docker learning resources +https://www.youtube.com/watch?v=wCTTHhehJbU + +https://www.youtube.com/watch?v=3c-iBn73dDE&feature=youtu.be + +https://www.youtube.com/watch?v=MnUtHSpcdLQ&feature=youtu.be +``` + +# 12/13/2021 +- Watched Black hills information security's [emergency log4j webcast](https://www.youtube.com/watch?v=igoDXnkYDy8) +- Studied SANS GSEC notes +- Spent forever researching [searx](https://searx.github.io/searx/) and borking installs. +- Fiddled with my [recipe website](https://level99cooking.com) to fix some formatting issues. + +# 12/14/2021 +- Studied SANS GSEC notes +- Fixed searx install from previous day +- Wrote [Thou Shall Not Snoop Our Searches - Searx Installation and Discussion](https://www.grahamhelton.com/blog/searx/) +- Added some android VMs to my lab for future projects + +# 12/15/2021 +- Discovered [Unsupervised Learning](https://danielmiessler.com/podcast/) by [Daniel Miessler](https://twitter.com/DanielMiessler) +- Watched [A Tale of Two Johns (John hammond and John strand interview)](https://www.youtube.com/watch?v=7LXfBSuaFFE) +- Set up rsyslog server in my home lab via [this tutorial](https://www.techrepublic.com/article/how-to-install-and-configure-rsyslog-for-a-centralized-linux-log-server/) (This was very easy) + - Noticed some weird things going on in my network. The first being some very strange pings every few minutes to some random IPs. After some researching I found a reddit post where someone described the same problem. Looks like its a part of [PIA's code](https://github.com/pia-foss/desktop/blob/master/daemon/src/latencytracker.cpp#L64-L101) to check the latency to their servers. + + ![](/Pasted-image-20211215161851.png) + + - Noticed UFW was blocking some more traffic that happened to beacon every 2 minutes and 6 seconds... + ![](/Pasted-image-20211215162540.png) + - Investigated further with wireshark and found out it was an IGMP query packet to refresh the IPs of multicast group memberships. This was sent out by my router. + ```bash +sudo tcpdump -i -s 65535 -w sketchy.pcap + ``` + + - Added [pushRsyslog.sh](https://github.com/grahamhelton/smallscripts/blob/main/pushRsyslog.sh) to my [smallScripts github repot](https://github.com/grahamhelton/smallscripts) + + # 12/16/2021 + - Listened to [The Privacy, Security, and OSINT show](https://www.inteltechniques.com/podcast.html) episodes 242 and 243 + - Discovered [Privacy.sexy](https://privacy.sexy/) which is a collection of scripts to disable windows / mac features that reduce privacy + - Verified with PIA VPN that they do send out pings to all their servers every couple minutes to "verify connectivity" (This still makes me feel uneasy...) + +![](/Pasted-image-20211219153745.png) + + - Went over GSEC notes. + + # 12/17/2021 + - Studied GSEC + - Finished indexing GSEC books + - Formally accepted the agreement for the SANS Masters degree program (🎉 🎉🎉) +# 12/18/2021 +- Got sick :/ +- Binged like 20 [John Hammond videos](https://www.youtube.com/c/JohnHammond010) + - Learned a little bit about [web3](https://www.youtube.com/watch?v=l44z35vabvA&t), [filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/#for-users), and [IPFS](https://www.youtube.com/watch?v=5Uj6uR3fp-U&t) + +# 12/19/2021 +- Listened to [darknet diaries #106](https://darknetdiaries.com/episode/106/) +- Published this round-up +- Began looking for some open source asset management tool. + - [@snipeyhead](https://twitter.com/snipeyhead) on twitter linked me to [snipe-it](https://snipeitapp.com/) + + +# Have any questions +Do you have any questions? Feel free to [reach out to me on twitter](http://twitter.grahamhelton.com). See you next Sunday. :) diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..6ee1394 --- /dev/null +++ b/public/404.html @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+
+

404 Page not found - Idk how you even got here

+
+
+

+ My bad. I guess while you're here, check out my latest blog post: + + +
+

+ +
+ Other than that? I've got nothing for ya. Maybe go outside or something? + +

+
+
+
+ +
+
+
+
+ +
+ + + + + diff --git a/public/blog/index.html b/public/blog/index.html new file mode 100644 index 0000000..87e91f1 --- /dev/null +++ b/public/blog/index.html @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Homepage Title

+ + December 6, 2021 | Blog title: researching the XYZ +
+ // Short description of post. + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/blog/index.xml b/public/blog/index.xml new file mode 100644 index 0000000..6a1edeb --- /dev/null +++ b/public/blog/index.xml @@ -0,0 +1,20 @@ + + + + Homepage Title on Graham Helton + https://grahamhelton.com/blog/ + Recent content in Homepage Title on Graham Helton + Hugo -- gohugo.io + Sat, 08 Oct 2022 00:00:00 +0000 + + Blog title: researching the XYZ + https://grahamhelton.com/blog/sampleblog/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/blog/sampleblog/ + Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. +Title In vel sapien a justo condimentum finibus. + + + + diff --git a/public/blog/page/1/index.html b/public/blog/page/1/index.html new file mode 100644 index 0000000..ab062d5 --- /dev/null +++ b/public/blog/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/blog/ + + + + + + diff --git a/public/blog/sampleblog/index.html b/public/blog/sampleblog/index.html new file mode 100644 index 0000000..0eeb63f --- /dev/null +++ b/public/blog/sampleblog/index.html @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+

Blog title: researching the XYZ

+ +

Short description of post.

+

Published: December 6, 2021

+

Reading Time: 5 minutes

+ +

+
+
+
+
+

Title

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.

+

Title

+

In vel sapien a justo condimentum finibus. Fusce non magna a leo suscipit fringilla nec in magna. Vestibulum viverra dapibus magna in placerat. Pellentesque sed sodales ex. Vivamus blandit eu justo ac luctus. Etiam nec tellus molestie, suscipit velit ut, lacinia velit. Quisque libero tellus, hendrerit ac dignissim et, faucibus ac nulla. Vestibulum finibus posuere varius. Maecenas finibus est non egestas aliquet. Cras venenatis metus sed iaculis fermentum. In ipsum dui, sagittis ac augue id, feugiat bibendum dui. Sed pellentesque orci orci, quis mollis massa tempor mattis.

+
  1#! /bin/python3.10
+  2import re
+  3import requests
+  4import os
+  5from os.path import exists
+  6from bs4 import BeautifulSoup
+  7from colorama import Fore, Style
+  8company_list = ['scythe','dragos']
+  9company_url = {'scythe':'https://www.scythe.io/about/careers','dragos':'https://jobs.lever.co/dragos'}
+ 10
+ 11# Define formatting
+ 12reset = Style.RESET_ALL
+ 13green = Fore.GREEN
+ 14purple = Fore.MAGENTA
+ 15sep = Fore.BLUE + "---------------------------" + reset
+ 16
+ 17def get_format(response,company_name):
+ 18    '''Return the HTML attribute needed for each site'''
+ 19    match company_name:
+ 20       case "scythe":
+ 21            soup = BeautifulSoup(response.text, 'html.parser').findAll("h3",attrs={"id": "w-node-_6a3848d7-bd9c-4061-be22-05d0c32b7a82-c32b7a81"})
+ 22            return soup
+ 23       case "dragos":
+ 24            soup = BeautifulSoup(response.text, 'html.parser').findAll("h5",attrs={"data-qa": "posting-name"})
+ 25            return soup
+ 26
+ 27def parse(posting_location,company_name):
+ 28    '''Issue the HTML request for job posting page'''
+ 29    # Issue request to scyhte careers page 
+ 30    response = requests.get(posting_location,company_name)
+ 31
+ 32    # Get the format of the specific site to parse
+ 33    parsed_response = get_format(response,company_name)
+ 34
+ 35    return parsed_response 
+ 36
+ 37def parse_html(html_response):
+ 38    '''Takes list of HTML strings and parses them to contain just the job posting'''
+ 39    # for each job posting
+ 40    postings_list = []
+ 41    for i in html_response:
+ 42        # Remove HTML from job posting 
+ 43        postings_list.append(re.sub('<[^<]+?>', '', str(i)))
+ 44    return postings_list
+ 45
+ 46def get_new(postings_list,old_list,company_name):
+ 47    '''Get the difference in the new job postings and the old ones'''
+ 48    new_post = list(set(postings_list) - set(old_list)) + list(set(old_list) - set(postings_list)) 
+ 49    path = './data/'+company_name 
+ 50
+ 51    # Save job posting to file
+ 52    with open(path, 'w') as f:
+ 53        for listing in postings_list:
+ 54            f.write("%s \n" % listing)
+ 55    if new_post:
+ 56        return company_name,new_post 
+ 57
+ 58def get_old(company_name):
+ 59    '''Get the previous job postings and add them to a list'''
+ 60    # If data file does not exist, create it
+ 61    path = './data/'+company_name
+ 62    if not exists(path):
+ 63        open(path, 'a').close()
+ 64    with open(path) as file:
+ 65        lines = file.readlines()
+ 66        old_list = []
+ 67        for i in lines:
+ 68            # for each job posting, strip out the characters we don't need 
+ 69            old_list.append(i.rstrip())
+ 70    return old_list
+ 71
+ 72def print_results(company_name,new_post):
+ 73    '''print the job postings'''
+ 74    company_name = str(new_post[0]).upper()
+ 75    print(f"{green}{company_name} has new job postings!")
+ 76    print(sep)
+ 77    new_post = new_post[1:]
+ 78    job_postings = list(new_post)
+ 79    for i in job_postings:
+ 80        print(f"{purple}",*i,sep="\n")
+ 81    print(sep)
+ 82    pass
+ 83
+ 84def select_company():
+ 85    '''Select the company passed in list and then call the function required for that specific job'''
+ 86    # Get the company name from the index number passed in through the function
+ 87    for company in range(len(company_list)):
+ 88        company_name = list(company_url.keys())[company]
+ 89        posting_location = list(company_url.values())[company]
+ 90        html_response = parse(posting_location,company_name)
+ 91        old_list = get_old(company_name)
+ 92        postings_list = parse_html(html_response)
+ 93        new_post = get_new(postings_list,old_list,company_name)
+ 94        if new_post:
+ 95            print_results(company_name,new_post)
+ 96        else:
+ 97            print(f"{green}{company_name}{purple} has no new job postings")
+ 98
+ 99print(f"{green}Ear2Ground:{purple} A Program to help you keep tabs on the job postings of infosec companies")
+100print(sep)
+101def main():
+102    path = './data/'
+103    if not os.path.exists(path):
+104        os.makedirs(path)
+105    select_company()
+106
+107if __name__ == "__main__":
+108    main()
+

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquam, urna a ultricies dictum, mi arcu commodo eros, dictum vulputate leo magna ac orci. Quisque ultricies molestie nibh, eget sagittis est commodo ut. Cras fermentum, lectus eu interdum rhoncus, erat tortor aliquam velit, eu iaculis purus ex sed lorem. Nunc maximus nisi eu mauris ultricies, non placerat nisl fringilla. Quisque dignissim tellus enim, ut faucibus diam iaculis sit amet. Aenean vestibulum et nunc tempor elementum. Mauris vel augue id justo tempor euismod. Nunc elementum vulputate ante sit amet pulvinar. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce vitae faucibus lectus.

+
    +
  1. This
  2. +
  3. Is
  4. +
  5. A
  6. +
  7. List
  8. +
+

Smaller Title 2

+
    +
  • This
  • +
  • Is
  • +
  • Also
  • +
  • A
  • +
  • List
  • +
+

Sed imperdiet metus at porta blandit. Proin aliquet fringilla fringilla. In eu mi tempus, condimentum leo in, fermentum purus. Fusce eget dignissim quam. Nulla faucibus elit vel ligula laoreet tempor. Phasellus sed magna velit. Donec at euismod mi. Cras suscipit interdum ligula.

+
+

This is a block quote. Groovy.

+
+

In ac euismod diam, quis vehicula tellus. Duis mollis, nulla quis egestas congue, eros enim tempor urna, ac pretium elit mi quis nulla. Nunc id vestibulum felis. Aliquam quis massa at dui posuere mattis. Curabitur fermentum rutrum nisl, nec hendrerit velit vestibulum ut. Donec varius euismod ex, eget lacinia odio scelerisque eget. Cras posuere, massa tincidunt tristique semper, tellus felis porta lorem, eu pulvinar velit lacus sit amet orci. Ut finibus dolor ac lectus tristique, non condimentum justo tristique. Pellentesque consectetur mollis tincidunt. Praesent dapibus, dui sed rhoncus luctus, erat ligula posuere eros, quis ullamcorper justo leo id tellus.

+ +
+
+ +
+ + + +
+ + + + + diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..f2181fa --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Categories

+ + +
+ +
+ +
+ +
+ + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..f4fb4e4 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,9 @@ + + + + Categories on Graham Helton + https://grahamhelton.com/categories/ + Recent content in Categories on Graham Helton + Hugo -- gohugo.io + + diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..7b40417 --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,161 @@ +body { + background-color: #171717; + color: #fff; + line-height: 1.5; + padding: 0em 2rem; + margin: .6rem 0 1.0rem 0; + font-family: Inconsolata; + font-size: 1rem; + font-weight: 400; + } + .content { + margin: .6rem 0 1.0rem 0; + max-width: {{ .Param "style.pageWidth" | default "900px;" }}; + } +h1, h2, h3, h4, h5, h6 { + color: #fcf9de; + font-size: large; + font-weight: bold; + border-bottom: solid #202020 1px; +} + +article{ + max-width: 900px; + margin: auto; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #ebe6d5; +} + + .navbar{ + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px; + max-width: 900px; + margin: auto; + } + .navbar__right{ + display: flex; + } + a{ + text-decoration: none !important; + color: black; + color: #689d6a; + } + .navbar__right a{ + font-size: 14px; + margin-right: 10px; + transition: all 100ms; + } + .navbar__right a:hover{ + text-decoration: underline; + font-weight: bold; + } + main{ + max-width: {{ .Param "style.pageWidth" | default "900px;" }}; + max-width: 900px; + margin: auto; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #c2c2c2; + } + + .author-image{ + object-fit: cover; + border-radius: 50%; + width: 48px; + height: 48px; +} +.blog__title{ + font-size: 32px !important; + font-weight: bolder; +} +.blog__details{ + display: flex; + align-items: center; +} +.blog__info{ + margin-left: 20px; + flex: 1; +} +.blog__info p{ + margin-block-start: 2px; + margin-block-end: 2px; + font-size: 14px; +} +.blog__image > img{ + height: auto; + width: 100%; + object-fit: contain; + margin: 10px 0; +} +.blog__categories{ + display: flex; + align-items: center; +} +.category{ + padding: 5px 5px; + background: #f07979; + font-size: 12px; + border-radius: 5px; + width: auto; + margin-right: 5px; +} +.category a{ + color: #fff; +} +.content img{ + height: auto; + width: 100%; + object-fit: contain; + margin: 10px 0; +} + +blockquote { + border-left: 4px solid; + font-style: italic; + margin: $y-medium 0; + padding: 8px 8px; + } +code { + color: #83a598; + background-color: #171717; + padding: 0px 4px; + font-style: italic; + } + +pre code{ + white-space:pre-wrap !important; + all: unset; +} + +.highlight { + margin: 0rem 1rem; + background-color: #000; + } + +.highlight pre { +background-color: #171717 !important; +padding: 1.5rem; +} + +.footer_class { + margin: auto; + margin-top: 10rem; + text-align: center; + max-width: 900px; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #ebe6d5; + bottom: 0%; +} + +.page-select{ + color: #696969; + +} + diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..58d0fd5 --- /dev/null +++ b/public/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+

Brief “about you” section.

+

Education

+
    +
  • Bachelors of Science in Cybersecurity (current)
  • +
+

Job Experience

+
    +
  • Intern @ xyz company
  • +
+

Side Projects

+
    +
  • Built active directory homelab for testing attacks and how to defend agaisnt them
  • +
  • Volunteer at Wild West Hacking Fest Deadwood
  • +
  • Released open source tool XYZ on github - Link to tool
  • +
+

Certifications & Accomplishment

+ + + +
+ + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..4905ba1 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,44 @@ + + + + Homepage Title on Graham Helton + https://grahamhelton.com/ + Recent content in Homepage Title on Graham Helton + Hugo -- gohugo.io + Sat, 08 Oct 2022 00:00:00 +0000 + + Social Links + https://grahamhelton.com/pages/links/ + Sun, 06 Nov 2022 00:00:00 +0000 + + https://grahamhelton.com/pages/links/ + Social Media Links Email -&gt; your(at)email@provider.com +Mastodon -&gt; This is where the cool infosec people hang out. :) +Twitter -&gt; I check my DM&rsquo;s fairly often. +Linkedin -&gt; I check my DM&rsquo;s everyone once and a while. +Youtube -&gt; Sometimes I post things that I&rsquo;m working on. +Blog -&gt; Research and long form content. +Roundup -&gt; Weekly &ldquo;What have I been working on&rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees. + + + + Weekly Roundup #1: December 12-19th 2021 + https://grahamhelton.com/roundup/roundup1/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/roundup/roundup1/ + What is this? This is the first of a weekly &ldquo;round up&rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. + + + + Blog title: researching the XYZ + https://grahamhelton.com/blog/sampleblog/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/blog/sampleblog/ + Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. +Title In vel sapien a justo condimentum finibus. + + + + diff --git a/public/pages/index.html b/public/pages/index.html new file mode 100644 index 0000000..28adcbc --- /dev/null +++ b/public/pages/index.html @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Homepage Title

+ + November 6, 2022 | Social Links +
+ // A collection of links to my social media accounts and pages + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/pages/index.xml b/public/pages/index.xml new file mode 100644 index 0000000..9fec12e --- /dev/null +++ b/public/pages/index.xml @@ -0,0 +1,25 @@ + + + + Homepage Title on Graham Helton + https://grahamhelton.com/pages/ + Recent content in Homepage Title on Graham Helton + Hugo -- gohugo.io + Sat, 08 Oct 2022 00:00:00 +0000 + + Social Links + https://grahamhelton.com/pages/links/ + Sun, 06 Nov 2022 00:00:00 +0000 + + https://grahamhelton.com/pages/links/ + Social Media Links Email -&gt; your(at)email@provider.com +Mastodon -&gt; This is where the cool infosec people hang out. :) +Twitter -&gt; I check my DM&rsquo;s fairly often. +Linkedin -&gt; I check my DM&rsquo;s everyone once and a while. +Youtube -&gt; Sometimes I post things that I&rsquo;m working on. +Blog -&gt; Research and long form content. +Roundup -&gt; Weekly &ldquo;What have I been working on&rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees. + + + + diff --git a/public/pages/links/index.html b/public/pages/links/index.html new file mode 100644 index 0000000..698ab20 --- /dev/null +++ b/public/pages/links/index.html @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+

Social Links

+ +

A collection of links to my social media accounts and pages

+

Published: November 6, 2022

+

Reading Time: 1 minute

+ +

+
+
+
+
+

Social Media Links

+

Email -> your(at)email@provider.com

+

Mastodon -> This is where the cool infosec people hang out. :)

+

Twitter -> I check my DM’s fairly often.

+

Linkedin -> I check my DM’s everyone once and a while.

+

Youtube -> Sometimes I post things that I’m working on.

+

Blog -> Research and long form content.

+

Roundup -> Weekly “What have I been working on” geared toward helping people see what they can do to get experience without paying for certs/degrees.

+ +
+
+ +
+ + + +
+ + + + + diff --git a/public/pages/page/1/index.html b/public/pages/page/1/index.html new file mode 100644 index 0000000..dd02f99 --- /dev/null +++ b/public/pages/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/pages/ + + + + + + diff --git a/public/roundup/index.html b/public/roundup/index.html new file mode 100644 index 0000000..626e218 --- /dev/null +++ b/public/roundup/index.html @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Weekly Roundups

+ + December 19, 2021 | Weekly Roundup #1: December 12-19th 2021 +
+ // The first roundup! + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/roundup/index.xml b/public/roundup/index.xml new file mode 100644 index 0000000..7dd49fc --- /dev/null +++ b/public/roundup/index.xml @@ -0,0 +1,19 @@ + + + + Weekly Roundups on Graham Helton + https://grahamhelton.com/roundup/ + Recent content in Weekly Roundups on Graham Helton + Hugo -- gohugo.io + Sat, 08 Oct 2022 00:00:00 +0000 + + Weekly Roundup #1: December 12-19th 2021 + https://grahamhelton.com/roundup/roundup1/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/roundup/roundup1/ + What is this? This is the first of a weekly &ldquo;round up&rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. + + + + diff --git a/public/roundup/page/1/index.html b/public/roundup/page/1/index.html new file mode 100644 index 0000000..033c718 --- /dev/null +++ b/public/roundup/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/roundup/ + + + + + + diff --git a/public/roundup/roundup1/index.html b/public/roundup/roundup1/index.html new file mode 100644 index 0000000..485e2c8 --- /dev/null +++ b/public/roundup/roundup1/index.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+

Weekly Roundup #1: December 12-19th 2021

+ +

The first roundup!

+

Published: December 19, 2021

+

Reading Time: 3 minutes

+ +

+
+
+
+
+

What is this?

+

This is the first of a weekly “round up” that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. Some weeks will have have more content than others depending on the amount of free time I have.

+

12/12/2021

+ +

+
    +
  • Compiled some information about how to get started with docker to go through once I finish my SANS GSEC material
  • +
+
1# Docker learning resources
+2https://www.youtube.com/watch?v=wCTTHhehJbU
+3
+4https://www.youtube.com/watch?v=3c-iBn73dDE&feature=youtu.be
+5
+6https://www.youtube.com/watch?v=MnUtHSpcdLQ&feature=youtu.be
+

12/13/2021

+
    +
  • Watched Black hills information security’s emergency log4j webcast
  • +
  • Studied SANS GSEC notes
  • +
  • Spent forever researching searx and borking installs.
  • +
  • Fiddled with my recipe website to fix some formatting issues.
  • +
+

12/14/2021

+ +

12/15/2021

+
    +
  • +

    Discovered Unsupervised Learning by Daniel Miessler

    +
  • +
  • +

    Watched A Tale of Two Johns (John hammond and John strand interview)

    +
  • +
  • +

    Set up rsyslog server in my home lab via this tutorial (This was very easy)

    +
      +
    • Noticed some weird things going on in my network. The first being some very strange pings every few minutes to some random IPs. After some researching I found a reddit post where someone described the same problem. Looks like its a part of PIA’s code to check the latency to their servers.
    • +
    +

    +
      +
    • Noticed UFW was blocking some more traffic that happened to beacon every 2 minutes and 6 seconds… +
    • +
    +
  • +
  • +

    Investigated further with wireshark and found out it was an IGMP query packet to refresh the IPs of multicast group memberships. This was sent out by my router.

    +
  • +
+
1sudo tcpdump -i <interface> -s 65535 -w sketchy.pcap
+
+

12/16/2021

+
    +
  • Listened to The Privacy, Security, and OSINT show episodes 242 and 243
  • +
  • Discovered Privacy.sexy which is a collection of scripts to disable windows / mac features that reduce privacy
  • +
  • Verified with PIA VPN that they do send out pings to all their servers every couple minutes to “verify connectivity” (This still makes me feel uneasy…)
  • +
+

+
    +
  • Went over GSEC notes.
  • +
+

12/17/2021

+
    +
  • Studied GSEC +
      +
    • Finished indexing GSEC books
    • +
    +
  • +
  • Formally accepted the agreement for the SANS Masters degree program (🎉 🎉🎉)
  • +
+

12/18/2021

+ +

12/19/2021

+ +

Have any questions

+

Do you have any questions? Feel free to reach out to me on twitter. See you next Sunday. :)

+ +
+
+ +
+ + + +
+ + + + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..7f9afd6 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,43 @@ + + + + https://grahamhelton.com/pages/links/ + 2022-11-06T00:00:00+00:00 + + https://grahamhelton.com/ + 2022-10-08T00:00:00+00:00 + + https://grahamhelton.com/blog/ + 2022-10-08T00:00:00+00:00 + + https://grahamhelton.com/pages/ + 2022-10-08T00:00:00+00:00 + + https://grahamhelton.com/roundup/ + 2022-10-08T00:00:00+00:00 + + https://grahamhelton.com/tags/roundup/ + 2021-12-19T00:00:00+00:00 + + https://grahamhelton.com/tags/security/ + 2021-12-19T00:00:00+00:00 + + https://grahamhelton.com/tags/ + 2021-12-19T00:00:00+00:00 + + https://grahamhelton.com/roundup/roundup1/ + 2021-12-19T00:00:00+00:00 + + https://grahamhelton.com/blog/sampleblog/ + 2021-12-06T00:00:00+00:00 + + https://grahamhelton.com/tags/homelab/ + 2021-12-06T00:00:00+00:00 + + https://grahamhelton.com/tags/research/ + 2021-12-06T00:00:00+00:00 + + https://grahamhelton.com/categories/ + + diff --git a/public/tags/homelab/index.html b/public/tags/homelab/index.html new file mode 100644 index 0000000..a4fb277 --- /dev/null +++ b/public/tags/homelab/index.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Homelab

+ + December 6, 2021 | Blog title: researching the XYZ +
+ // Short description of post. + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/tags/homelab/index.xml b/public/tags/homelab/index.xml new file mode 100644 index 0000000..0b1aead --- /dev/null +++ b/public/tags/homelab/index.xml @@ -0,0 +1,20 @@ + + + + Homelab on Graham Helton + https://grahamhelton.com/tags/homelab/ + Recent content in Homelab on Graham Helton + Hugo -- gohugo.io + Mon, 06 Dec 2021 00:00:00 +0000 + + Blog title: researching the XYZ + https://grahamhelton.com/blog/sampleblog/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/blog/sampleblog/ + Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. +Title In vel sapien a justo condimentum finibus. + + + + diff --git a/public/tags/homelab/page/1/index.html b/public/tags/homelab/page/1/index.html new file mode 100644 index 0000000..dc68944 --- /dev/null +++ b/public/tags/homelab/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/tags/homelab/ + + + + + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..decbec0 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Tags

+ + +
+ +
+ +
+ +
+ + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..79dd5f8 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,46 @@ + + + + Tags on Graham Helton + https://grahamhelton.com/tags/ + Recent content in Tags on Graham Helton + Hugo -- gohugo.io + Sun, 19 Dec 2021 00:00:00 +0000 + + Roundup + https://grahamhelton.com/tags/roundup/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/tags/roundup/ + + + + + Security + https://grahamhelton.com/tags/security/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/tags/security/ + + + + + Homelab + https://grahamhelton.com/tags/homelab/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/tags/homelab/ + + + + + Research + https://grahamhelton.com/tags/research/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/tags/research/ + + + + + diff --git a/public/tags/research/index.html b/public/tags/research/index.html new file mode 100644 index 0000000..08287df --- /dev/null +++ b/public/tags/research/index.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Research

+ + December 6, 2021 | Blog title: researching the XYZ +
+ // Short description of post. + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/tags/research/index.xml b/public/tags/research/index.xml new file mode 100644 index 0000000..5a3afee --- /dev/null +++ b/public/tags/research/index.xml @@ -0,0 +1,20 @@ + + + + Research on Graham Helton + https://grahamhelton.com/tags/research/ + Recent content in Research on Graham Helton + Hugo -- gohugo.io + Mon, 06 Dec 2021 00:00:00 +0000 + + Blog title: researching the XYZ + https://grahamhelton.com/blog/sampleblog/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/blog/sampleblog/ + Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. +Title In vel sapien a justo condimentum finibus. + + + + diff --git a/public/tags/research/page/1/index.html b/public/tags/research/page/1/index.html new file mode 100644 index 0000000..a483fb0 --- /dev/null +++ b/public/tags/research/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/tags/research/ + + + + + + diff --git a/public/tags/roundup/index.html b/public/tags/roundup/index.html new file mode 100644 index 0000000..e0b4bdd --- /dev/null +++ b/public/tags/roundup/index.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Roundup

+ + December 19, 2021 | Weekly Roundup #1: December 12-19th 2021 +
+ // The first roundup! + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/tags/roundup/index.xml b/public/tags/roundup/index.xml new file mode 100644 index 0000000..76153b4 --- /dev/null +++ b/public/tags/roundup/index.xml @@ -0,0 +1,19 @@ + + + + Roundup on Graham Helton + https://grahamhelton.com/tags/roundup/ + Recent content in Roundup on Graham Helton + Hugo -- gohugo.io + Sun, 19 Dec 2021 00:00:00 +0000 + + Weekly Roundup #1: December 12-19th 2021 + https://grahamhelton.com/roundup/roundup1/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/roundup/roundup1/ + What is this? This is the first of a weekly &ldquo;round up&rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. + + + + diff --git a/public/tags/roundup/page/1/index.html b/public/tags/roundup/page/1/index.html new file mode 100644 index 0000000..f84d58b --- /dev/null +++ b/public/tags/roundup/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/tags/roundup/ + + + + + + diff --git a/public/tags/security/index.html b/public/tags/security/index.html new file mode 100644 index 0000000..e1a90ad --- /dev/null +++ b/public/tags/security/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+

Security

+ + December 19, 2021 | Weekly Roundup #1: December 12-19th 2021 +
+ // The first roundup! + +
+
+ + + December 6, 2021 | Blog title: researching the XYZ +
+ // Short description of post. + +
+
+ + + + +
+ + +
+ + + + + diff --git a/public/tags/security/index.xml b/public/tags/security/index.xml new file mode 100644 index 0000000..c6ee439 --- /dev/null +++ b/public/tags/security/index.xml @@ -0,0 +1,29 @@ + + + + Security on Graham Helton + https://grahamhelton.com/tags/security/ + Recent content in Security on Graham Helton + Hugo -- gohugo.io + Sun, 19 Dec 2021 00:00:00 +0000 + + Weekly Roundup #1: December 12-19th 2021 + https://grahamhelton.com/roundup/roundup1/ + Sun, 19 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/roundup/roundup1/ + What is this? This is the first of a weekly &ldquo;round up&rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. + + + + Blog title: researching the XYZ + https://grahamhelton.com/blog/sampleblog/ + Mon, 06 Dec 2021 00:00:00 +0000 + + https://grahamhelton.com/blog/sampleblog/ + Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae. +Title In vel sapien a justo condimentum finibus. + + + + diff --git a/public/tags/security/page/1/index.html b/public/tags/security/page/1/index.html new file mode 100644 index 0000000..a8c4592 --- /dev/null +++ b/public/tags/security/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://grahamhelton.com/tags/security/ + + + + + + diff --git a/themes/smore/LICENSE b/themes/smore/LICENSE new file mode 100644 index 0000000..147d594 --- /dev/null +++ b/themes/smore/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2022 YOUR_NAME_HERE + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/smore/archetypes/default.md b/themes/smore/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/smore/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/smore/layouts/404.html b/themes/smore/layouts/404.html new file mode 100644 index 0000000..29b1ff1 --- /dev/null +++ b/themes/smore/layouts/404.html @@ -0,0 +1,31 @@ +{{ define "main" }} + +
+
+
+

{{ .Title }} - Idk how you even got here

+
+
+

+ My bad. I guess while you're here, check out my latest blog post: + {{ range ( where .Site.RegularPages "Type" "blog" | first 1 ) }} + + {{ .Title }}{{end}} + +
+

+ +
+ Other than that? I've got nothing for ya. Maybe go outside or something? + +

+
+
+
+ {{ .Content }} +
+
+
+
+{{ end }} + diff --git a/themes/smore/layouts/_default/baseof.html b/themes/smore/layouts/_default/baseof.html new file mode 100644 index 0000000..6ae5e40 --- /dev/null +++ b/themes/smore/layouts/_default/baseof.html @@ -0,0 +1,12 @@ + + + {{- partial "head.html" . -}} + + {{- partial "header.html" . -}} +
+ {{- block "main" . }}{{- end }} +
+ {{- partial "footer.html" . -}} + + + diff --git a/themes/smore/layouts/_default/list.html b/themes/smore/layouts/_default/list.html new file mode 100644 index 0000000..d30e45f --- /dev/null +++ b/themes/smore/layouts/_default/list.html @@ -0,0 +1,17 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ range (.Paginate .RegularPagesRecursive).Pages }} + {{ .PublishDate.Format "January 2, 2006" }} | {{ .Title }} +
+ // {{ .Description }} + +
+
+ + {{ end }} + + +
+{{- partial "pagination.html" . -}} +{{ end }} diff --git a/themes/smore/layouts/_default/single.html b/themes/smore/layouts/_default/single.html new file mode 100644 index 0000000..5b11c96 --- /dev/null +++ b/themes/smore/layouts/_default/single.html @@ -0,0 +1,24 @@ +{{ define "main" }} +
+
+
+

{{ .Title }}

+ +

{{ .Description}}

+

Published: {{ .PublishDate.Format "January 2, 2006" }}

+

Reading Time: {{ .ReadingTime }} {{ if eq .ReadingTime 1 }} minute {{ else }} minutes {{ end }}

+ +

+
+
+
+
+ {{ .Content }} +
+
+ +
+ + +{{ end }} + diff --git a/themes/smore/layouts/_default/terms.html b/themes/smore/layouts/_default/terms.html new file mode 100644 index 0000000..40e9889 --- /dev/null +++ b/themes/smore/layouts/_default/terms.html @@ -0,0 +1,29 @@ +{{ define "main" }} +
+

{{ .Title }}

+ + +
+
    + {{ range $taxonomy_term, $taxonomy := .Site.Taxonomies }} + {{ with $.Site.GetPage (printf "/%s" $taxonomy_term) }} +
      + {{ range $key, $value := $taxonomy }} +

      {{ $key }}

      + + {{ end }} +
    + + {{ end }} + {{ end }} +
+
+ +
+{{ end }} diff --git a/themes/smore/layouts/blog/single.html b/themes/smore/layouts/blog/single.html new file mode 100644 index 0000000..822d559 --- /dev/null +++ b/themes/smore/layouts/blog/single.html @@ -0,0 +1,23 @@ +{{ define "main" }} +
+
+
+

{{ .Title }}

+ +

{{ .Description}}

+

Published: {{ .PublishDate.Format "January 2, 2006" }}

+

Reading Time: {{ .ReadingTime }} {{ if eq .ReadingTime 1 }} minute {{ else }} minutes {{ end }}

+ +

+
+
+
+
+ {{ .Content }} +
+
+ +
+ + +{{ end }} diff --git a/themes/smore/layouts/index.html b/themes/smore/layouts/index.html new file mode 100644 index 0000000..fe54c31 --- /dev/null +++ b/themes/smore/layouts/index.html @@ -0,0 +1,4 @@ +{{ define "main" }} +{{ .Content }} +{{ end }} + diff --git a/themes/smore/layouts/partials/footer.html b/themes/smore/layouts/partials/footer.html new file mode 100644 index 0000000..5b2f17a --- /dev/null +++ b/themes/smore/layouts/partials/footer.html @@ -0,0 +1,10 @@ + + + diff --git a/themes/smore/layouts/partials/head.html b/themes/smore/layouts/partials/head.html new file mode 100644 index 0000000..6333fa2 --- /dev/null +++ b/themes/smore/layouts/partials/head.html @@ -0,0 +1,15 @@ + + + + + + + + + + + +{{ template "_internal/google_analytics.html" . }} +{{ range .Params.categories }}{{ end }} +{{ if isset .Params "date" }}{{ end }} + diff --git a/themes/smore/layouts/partials/header.html b/themes/smore/layouts/partials/header.html new file mode 100644 index 0000000..186315b --- /dev/null +++ b/themes/smore/layouts/partials/header.html @@ -0,0 +1,16 @@ +
+ +
diff --git a/themes/smore/layouts/partials/pagination.html b/themes/smore/layouts/partials/pagination.html new file mode 100644 index 0000000..5e2ee0f --- /dev/null +++ b/themes/smore/layouts/partials/pagination.html @@ -0,0 +1,15 @@ +{{ $paginator := .Paginator }} +{{ if gt $paginator.TotalPages 1 }} +
+

+ {{ if $paginator.HasPrev }} + <- Previous Page | + {{ end }} + + {{ if $paginator.HasNext }} + Next page ->

+ {{ end }} + + +
+{{ end }} diff --git a/themes/smore/static/css/style.css b/themes/smore/static/css/style.css new file mode 100644 index 0000000..7b40417 --- /dev/null +++ b/themes/smore/static/css/style.css @@ -0,0 +1,161 @@ +body { + background-color: #171717; + color: #fff; + line-height: 1.5; + padding: 0em 2rem; + margin: .6rem 0 1.0rem 0; + font-family: Inconsolata; + font-size: 1rem; + font-weight: 400; + } + .content { + margin: .6rem 0 1.0rem 0; + max-width: {{ .Param "style.pageWidth" | default "900px;" }}; + } +h1, h2, h3, h4, h5, h6 { + color: #fcf9de; + font-size: large; + font-weight: bold; + border-bottom: solid #202020 1px; +} + +article{ + max-width: 900px; + margin: auto; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #ebe6d5; +} + + .navbar{ + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px; + max-width: 900px; + margin: auto; + } + .navbar__right{ + display: flex; + } + a{ + text-decoration: none !important; + color: black; + color: #689d6a; + } + .navbar__right a{ + font-size: 14px; + margin-right: 10px; + transition: all 100ms; + } + .navbar__right a:hover{ + text-decoration: underline; + font-weight: bold; + } + main{ + max-width: {{ .Param "style.pageWidth" | default "900px;" }}; + max-width: 900px; + margin: auto; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #c2c2c2; + } + + .author-image{ + object-fit: cover; + border-radius: 50%; + width: 48px; + height: 48px; +} +.blog__title{ + font-size: 32px !important; + font-weight: bolder; +} +.blog__details{ + display: flex; + align-items: center; +} +.blog__info{ + margin-left: 20px; + flex: 1; +} +.blog__info p{ + margin-block-start: 2px; + margin-block-end: 2px; + font-size: 14px; +} +.blog__image > img{ + height: auto; + width: 100%; + object-fit: contain; + margin: 10px 0; +} +.blog__categories{ + display: flex; + align-items: center; +} +.category{ + padding: 5px 5px; + background: #f07979; + font-size: 12px; + border-radius: 5px; + width: auto; + margin-right: 5px; +} +.category a{ + color: #fff; +} +.content img{ + height: auto; + width: 100%; + object-fit: contain; + margin: 10px 0; +} + +blockquote { + border-left: 4px solid; + font-style: italic; + margin: $y-medium 0; + padding: 8px 8px; + } +code { + color: #83a598; + background-color: #171717; + padding: 0px 4px; + font-style: italic; + } + +pre code{ + white-space:pre-wrap !important; + all: unset; +} + +.highlight { + margin: 0rem 1rem; + background-color: #000; + } + +.highlight pre { +background-color: #171717 !important; +padding: 1.5rem; +} + +.footer_class { + margin: auto; + margin-top: 10rem; + text-align: center; + max-width: 900px; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-size: 1rem; + line-height: 1.15; + color: #ebe6d5; + bottom: 0%; +} + +.page-select{ + color: #696969; + +} + diff --git a/themes/smore/theme.toml b/themes/smore/theme.toml new file mode 100644 index 0000000..cebf890 --- /dev/null +++ b/themes/smore/theme.toml @@ -0,0 +1,21 @@ +# theme.toml template for a Hugo theme +# See https://github.com/gohugoio/hugoThemes#themetoml for an example + +name = "Smore" +license = "MIT" +licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE" +description = "" +homepage = "http://example.com/" +tags = [] +features = [] +min_version = "0.41.0" + +[author] + name = "Graham Helton" + homepage = "https://grahamhelton.com" + +# If porting an existing theme +[original] + name = "" + homepage = "" + repo = ""