Skip to content

Instantly share code, notes, and snippets.

View tstachl's full-sized avatar

Thomas Stachl tstachl

  • Pilina
  • Remote
View GitHub Profile
@tstachl
tstachl / restart_ssh_client.sh
Created February 20, 2018 23:33
After any changes to the SSH configuration the service needs to be restarted.
sudo service ssh restart
@tstachl
tstachl / sshd_config
Last active February 20, 2018 23:21
My sshd_config with Root and Password access diabled.
# /etc/ssh/sshd_config
# ...
# Authentication
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
# ...
@tstachl
tstachl / ssh_setup.sh
Created February 20, 2018 22:24
Steps to set up SSH keys for a newly created user account on my VPS.
# create the directory for ssh
mkdir -p ~/.ssh
# make sure it's editable only for the current user
chmod 700 ~/.ssh
# create the authorized keys file
touch ~/.ssh/authorized_keys
# use your favorite editor to add the public key
vim ~/.ssh/authorized_keys
@tstachl
tstachl / create_user.sh
Created February 20, 2018 22:14
Steps I took to create a sudo user on my Digital Ocean Droplet (Ubuntu).
# SSH as root to your Digital Ocean Droplet
ssh root@[DROPLET_IP]
# create the new user
adduser example
# add new user to the sudo group
gpasswd -a example sudo
# logging in with the new user
su - example
@tstachl
tstachl / desk_oauth.php
Created September 1, 2016 03:27
Working example of Desk.com OAuth flow with PHP.
<?php
$req_url = 'https://YOURSITE.desk.com/oauth/request_token';
$authurl = 'https://YOURSITE.desk.com/oauth/authorize';
$acc_url = 'https://YOURSITE.desk.com/oauth/access_token';
$api_url = 'https://YOURSITE.desk.com/api/v2';
$conskey = 'CONSUMER_KEY';
$conssec = 'CONSUMER_SECRET';
$cbk_url = 'http://localhost:3000';
session_start();
<!doctype html>
<html>
<head>
<script src="//ajax.deskapi.com/libs/desk/opencti/current/interaction.min.js"></script>
<script>
(function() {
desk.ready(function() {
var form = document.querySelector('form')
, text = document.querySelector('input')
@tstachl
tstachl / Client.cs
Created August 19, 2016 23:13
Desk.com API Client for C#
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;
using System.IO;
using System.Security.Cryptography;
namespace DeskApi
{
/// <summary>
@tstachl
tstachl / Note.user.js
Last active August 18, 2016 17:32
This is a quick user script that hooks into the 'desk.agent.case.detail' state and clicks the note button as soon as it is available.
// ==UserScript==
// @name Note
// @namespace http://www.desk.com/
// @version 0.2
// @description This script defaults new interactions in Desk.com Next Gen Agent to note rather than reply.
// @author Thomas Stachl <tstachl@salesforce.com>
// @match https://*/web/agent*
// @grant none
// ==/UserScript==
@tstachl
tstachl / create_contact.js
Last active July 13, 2016 00:05
Salesforce Snippet - Allows you to create a contact for an account by domain matching.
/**
* USAGE Information
* 1. open the developer tools for a salesforce classic site
* 2. copy and paste the code of this snippet into the console
* 3. `createFromEmail('John Snow <john@nightswatch.com>').
*
* WHAT does the script do?
* 1. it parses the email string into name and email address
* 2. it runs an API search for an account with the website `https://www.nightswatch.com/`
* 3. it splits the name part `John Snow` into firstname and lastname
function base64UrlDecode(str) {
str = (str + '===').slice(0, str.length + (str.length % 4));
return new Buffer(str.replace(/-/g, '+').replace(/_/g, '/'), 'base64').toString('utf8');
}
function readSecret() {
return process.env.DESK_SHARED_KEY;
}
module.exports = {