Skip to content

Instantly share code, notes, and snippets.

View nabilfreeman's full-sized avatar
🤗
hello wrold

Nabs nabilfreeman

🤗
hello wrold
View GitHub Profile
@nabilfreeman
nabilfreeman / ccdl.command
Created February 15, 2021 12:56 — forked from ayyybe/ccdl.command
Adobe Offline Package Generator v0.1.2 (macOS only)
#!/bin/bash
CYAN="$(tput bold; tput setaf 6)"
RESET="$(tput sgr0)"
clear
if command -v python3 > /dev/null 2>&1; then
if [ $(python3 -c "print('ye')") = "ye" ]; then
clear
@nabilfreeman
nabilfreeman / gist:d4af1b7be7291baec5be44aae69806d4
Last active November 9, 2020 10:26
How to delete things from /usr/bin
# In macOS Catalina onwards `/usr/bin` is protected. Before you would only need to run a root shell to make any changes. Now there is something extra to do.
# Let's say I want to run this command:
# sudo rm -rf /usr/bin/python3
# Deleting something will give you the error:
# rm: /usr/bin/python3: Read-only file system
# To get around this you need to first run:
@nabilfreeman
nabilfreeman / pizzly.js
Last active June 29, 2020 13:41
Pizzly Node.js integration using Axios and environment variables (2 examples: Xero and Trello)
const Axios = require('axios');
const {
PIZZLY_URL,
PIZZLY_SECRET_KEY,
PIZZLY_TRELLO_ID,
PIZZLY_XERO_ID,
} = process.env;
const integrations = {
@nabilfreeman
nabilfreeman / copyToFat32.sh
Last active December 14, 2025 13:07
FAT32 File copier & splitter (works with Multiman)
#!/bin/bash
# Are you using Mac OS X?
# You need to install coreutils for this to work.
# try `brew install coreutils`
# or `sudo port install coreutils`
# set a part size that works with FAT32 drives
PART_SIZE=3999
# nice little intro
@nabilfreeman
nabilfreeman / copyToFat32.sh
Created November 8, 2018 12:18
FAT32 File copier & splitter (works with Multiman)
#!/bin/bash
# Are you using Mac OS X?
# You probably need to install a newer version of split for this to work.
# try `brew install coreutils`
# or `sudo port install coreutils`
# set a part size that works with FAT32 drives
PART_SIZE=3999
# nice little intro
@nabilfreeman
nabilfreeman / copyToFat32.sh
Created November 8, 2018 12:18
FAT32 File copier & splitter (works with Multiman)
#!/bin/bash
# Are you using Mac OS X?
# You probably need to install a newer version of split for this to work.
# try `brew install coreutils`
# or `sudo port install coreutils`
# set a part size that works with FAT32 drives
PART_SIZE=3999
# nice little intro
@nabilfreeman
nabilfreeman / shadowsocks-relay-haproxy.cfg
Last active April 3, 2023 00:00
HAProxy Shadowsocks relay example. You can run this on a server in China with good peering, and then proxy traffic to your outside server. Speed will be better (and improved obfuscation).
# 1. Install haproxy on Ubuntu.
# 2. Edit file path: /etc/haproxy/haproxy.cfg
# 3. Run with: haproxy -f /etc/haproxy/haproxy.cfg
# 4. haproxy will run in the background, so you can disconnect safely.
# 5. Point your Shadowsocks client at <CHINA IP>:8001 (or 8002, etc.) - you will actually be connected to your interational server!
global
defaults
log global
@nabilfreeman
nabilfreeman / lambda-redirect-to-trailing-slash.js
Last active March 7, 2023 20:31
Redirect to trailing slashes on CloudFront with AWS Lambda. (all this because S3 uses 302 redirects instead of 301)
'use strict';
const path = require('path')
const redirect = new_url => {
return {
status: '301',
statusDescription: 'Moved Permanently',
headers: {
location: [{
@nabilfreeman
nabilfreeman / restart-codeship-lambda.js
Last active November 9, 2017 19:44
Restart Codeship build from AWS Lambda
const https = require('https');
const { CODESHIP_KEY, PROJECT_ID } = process.env;
const getBuilds = () => {
console.time('Fetching builds...');
return new Promise((resolve, reject) => {
const host = 'codeship.com';
const path = `/api/v1/projects/${PROJECT_ID}.json?api_key=${CODESHIP_KEY}`;
const options = {
@nabilfreeman
nabilfreeman / lambda-deploy.sh
Created August 22, 2016 09:24
AWS Lambda deploy script for Node.js
# AWS Lambda Node.js deploy script
# @author Nabil Freeman <nabil@instafork.com> (https://github.com/nabilfreeman)
# ***************************************
# Environment variables required:
# AWS_ACCESS_KEY_ID=XXXXXXX
# AWS_SECRET_ACCESS_KEY=XXXXXXXX
# AWS_DEFAULT_REGION=eu-west-1
# LAMBDA_FUNCTION_NAME=asdfghjkl