Thursday, December 22, 2022

Forward SMS messages with Tasker

 How to forward SMS messages with Tasker

  1. First, make sure you have the Tasker app installed on your Android device.

  2. Open Tasker and tap the "+" button to create a new profile.

  3. Tap "Event" and then select "Phone" from the list of event categories.

  4. Select "Received SMS" as the trigger for the profile.

  5. Tap the "New Task" button to create a new task for the profile.

  6. Give the task a name, such as "Forward SMS."

  7. Tap the "+" button to add a new action to the task.

  8. Select "Phone" from the list of action categories and then choose "Send SMS" as the action.

  9. In the "Send SMS" action settings, enter the phone number to which you want to forward the SMS.

  10. Tap the "Variable" button next to the "Message" field and select "SMS Body" as the variable. This will automatically insert the body of the received SMS as the message to be forwarded.

  11. Tap the "Back" button to save the task and return to the profile.

  12. Tap the "Done" button to save the profile and activate it.

With this Tasker profile set up, any SMS you receive will be automatically forwarded to the specified phone number. You can customize the profile further by adding additional conditions or actions, such as only forwarding SMS from certain numbers or adding a delay before forwarding the SMS.

Tuesday, December 20, 2022

Creating an API Gateway via AWS CDK

 Creating an API Gateway via AWS CDK

AWS CDK (Cloud Development Kit) is an open-source software development framework that allows you to define your infrastructure as code and deploy it using familiar programming languages such as TypeScript, JavaScript, Python, and C#.

One of the many benefits of using CDK is the ability to easily create and manage an API Gateway, which is a fully managed service that makes it easy to create, publish, maintain, monitor, and secure APIs at any scale.

In this blog post, we will walk through the process of creating an API Gateway via AWS CDK.

Prerequisites:

  • An AWS account
  • Node.js and npm installed on your computer
  • The AWS CDK CLI (Command Line Interface) installed on your computer

Step 1: Create a new CDK project

First, we will create a new CDK project using the following command:

cdk init --language=javascript

This will create a new directory with the necessary files and dependencies for a CDK project.

Step 2: Add the API Gateway construct to your project

Next, we will add the API Gateway construct to our project by installing the @aws-cdk/aws-apigateway package:

npm install @aws-cdk/aws-apigateway

Step 3: Define your API Gateway

Now, let's define our API Gateway in the lib/cdk-starter-stack.js file.

First, import the ApiGateway class from the @aws-cdk/aws-apigateway package:

const { ApiGateway } = require('@aws-cdk/aws-apigateway');

Next, create a new instance of the ApiGateway class and add it to the stack:

const api = new ApiGateway(this, 'MyApi', { // optional configuration options });

Step 4: Define your API Gateway routes

Now that we have created our API Gateway, we can define the routes that our API will expose.

To do this, we will use the api.root.addResource() method to create a new resource and then use the addMethod() method to define the HTTP method for the route.

For example, to create a GET route that returns a list of items, we can do the following:

const items = api.root.addResource('items'); items.addMethod('GET');

Step 5: Deploy your API Gateway

Finally, we can deploy our API Gateway by running the following command:

cdk deploy

This will create the necessary resources in your AWS account and make your API Gateway available for use.

Conclusion

In this tutorial, we learned how to create an API Gateway via AWS CDK. By using CDK, we were able to define our API Gateway using familiar programming languages and deploy it with a single command.

I hope this has been helpful! Let me know if you have any questions or suggestions in the comments below.

Friday, December 16, 2022

Monday, August 15, 2022

Setup NGINX with certificates from certbot

These instructions should work for Debinan/Ubuntu 

# Install nginx

apt install nginx

# run nginx (debain/ubuntu)

systemctl start nginx

#########Do this first###########

#Setup DNS to point to your webserver IP (Route53, Google Domains, etc)

#Setup Inbound Port forwarding on your firewall for port 80 to point to your nginx web server (This is done in your Router/Firewall)

######Setup a basic config in your nginx.conf##########

vi /etc/nginx.conf 

server {
        server_name example.com;
}

#Test to make sure you can hit the sample nginx page at the domain that you setup above

curl http://example.com # insert your domain name here or get one from duckdns.org

# Setup Certbot Certbot Instructions | Certbot (eff.org)

sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

References I used:

TCP and UDP Load Balancing | NGINX Plus

Nginx Reverse Proxy: How to Setup and Configure | PhoenixNAP KB

https://certbot.eff.org/instructions?ws=nginx&os=debianbuster


Sunday, July 24, 2022

Clone Docker Volumes

I can't take credit for this, but I definitely used this. Saving this for my future self looking for this again.

-------------------------

To clone docker volumes, you can transfer your files from one volume to another one. For that you have to manually create a new volume and then spin up a container to copy the contents.

Someone has already made a script for that, which you might use: https://github.com/gdiepen/docker-convenience-scripts/blob/master/docker_clone_volume.sh

If not, use the following commands (taken from the script):

# Supplement "old_volume" and "new_volume" for your real volume names

docker volume create --name new_volume

docker container run --rm -it \
           -v old_volume:/from \
           -v new_volume:/to \
           alpine ash -c "cd /from ; cp -av . /to"

Friday, July 22, 2022

Docker Install Ubuntu (convivence script)

Instead of digging through the docs at Docker's website here are the key commands to quickly install docker on a Linux host.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Install Docker Engine on Ubuntu | Docker Documentation

 





Thursday, July 7, 2022

A Cloud Guru - Machine Learning Class

 GitHub - ACloudGuru-Resources/Course_AWS_Certified_Machine_Learning

Energy Storage using Sand?

Storing renewable energy is expensive, this company has developed a way to store heat energy in a "sand battery". This can be combined with other renewables to create a more efficient system overall. I am excited to see this technology applied to our biggest cities. 

 Polar Night Energy


Wednesday, May 25, 2022

Friday, April 8, 2022

Nmap Grep-able output

 nmap -oG - -sn 192.168.244.0/24 #example to get a list of hosts




Open Source Auth Server

Authelia

Authelia - Authentication server providing two-factor and SSO

Simple KVM on Ubuntu Server

 1. Install KVM, this tutorial is really good:
https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/

2. Install Cockpit and Cockpit Machines

https://www.tecmint.com/manage-kvm-virtual-machines-using-cockpit-web-console/

3. Reboot your machine

4. Navigate to <your-machine-ip-address>:9090 and login and use the graphical interface to create your VM's.



Monday, March 28, 2022

NGrok Alternative sish

While trying to find an open source alternative to ngrok, I stumbled upon this great post about deploying sish:

 https://trustmeiamaninja.github.io/posts/deploying-sish/


Saturday, March 12, 2022

Open Source Video Editing

I plan to compare features to Premier Pro and see if it meets many of my needs verses paying for a subscription.

https://www.openshot.org/

Saturday, March 5, 2022

CairnsCoin

I created a token on the Solana Blockchain:

https://explorer.solana.com/address/9bFhiz8pNDxfNxFoA2Tdf3UwAV7XwGEbCC8penaExj6


I plan to use it for an application that I am building. Once I get a prototype working I will share a link to the application.

Sunday, February 13, 2022

Pretty Print with Docker

 Install "jq"

    sudo apt install jq -y

Test docker command with formatting:    

    docker ps --format='{{json .}}' | jq --color-output 

Create alias

    alias dockerpps="docker ps --format='{{json .}}' | jq --color-output"