Skip to content

Instantly share code, notes, and snippets.

View mshafiee's full-sized avatar

Mohammad Shafiee mshafiee

View GitHub Profile
[global]
; Override default pid file
pid = /run/php-fpm.pid
; Avoid logs being sent to syslog
error_log = /proc/self/fd/2
[www]
; Access from webserver container is via network, not socket file
listen = [::]:9000
Something like this:
+----------+ +-----------+
| |+----SSH+-->| |
| A | | B |
|+--------+| | |
Internet <-++-+PROXY<++<SSH Tunnel--+ |
|+--------+| | |
+----------+ +-----------+
----------------------------------------
Setup Install HAProxy 1.8 on Ubuntu 16
----------------------------------------
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:vbernat/haproxy-1.8
sudo apt-get update
apt-cache policy haproxy
sudo apt install haproxy
sudo update-rc.d haproxy enable
@mshafiee
mshafiee / .gitlab-ci.yml
Last active June 8, 2021 13:43
Gitlab CI Template For Cross Compile Golang Source Code
image: golang:latest
variables:
REPO_NAME: gitlab.com/***/***
before_script:
- go version
- echo $CI_BUILD_REF
- echo $CI_PROJECT_DIR
@mshafiee
mshafiee / git-cheat-list.md
Created February 18, 2017 11:59
Git cheat list

Git cheat list

  • name of the current banch and nothing else (for automation)

    git rev-parse --abbrev-ref HEAD
    
  • all commits that your branch have that are not yet in master

    git log master..<HERE_COMES_YOUR_BRANCH_NAME>
    
Failed attempts by username:
grep "Invalid user " /var/log/auth.log | cut -d' ' -f8 | awk '{a[$0]++}END{for(i in a)print i,a[i]}' | sort -k 2 -n -r | head -n 100
IP address of each attempt:
grep "Invalid user " /var/log/auth.log | cut -d' ' -f10 | awk '{a[$0]++}END{for(i in a)print i,a[i]}' | sort -k 2 -n -r | head -n 100
Filter for brute-force interactive SSH logins:
grep sshd.\*Failed /var/log/auth.log | less
Look for failed connections (i.e. no login attempted, could be a port scanner, etc.):
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<date>2017-02-16T10:30:20Z</date>
<graphs>
<graph>
<graph_items>
<graph_item>
<calc_fnc>2</calc_fnc>
<color>157419</color>
<drawtype>1</drawtype>
/*
Mohammad Shafiee
Parsian Business Accelerator
www.parsian.ac
muhammad.shafiee-at-gmail.com
*/
package data
import (
sudo apt-get install mysql-server
sudo mysql_secure_installation
CREATE DATABASE mail;
GRANT SELECT ON mail.* TO 'mail'@'localhost' IDENTIFIED BY 'mailpassword';
FLUSH PRIVILEGES;
USE mail;
Let's Encrypt:
sudo apt install git bc nginx
sudo git clone https://github.com/certbot/certbot.git /opt/letsencrypt
Automatic renewal:
sudo crontab -e
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
35 2 * * 1 /etc/init.d/nginx reload
To sign certificates, the Let's Encrypt API needs to verify that you own the domain for the certificate.