Skip to content

Instantly share code, notes, and snippets.

View ruslan-khalitov's full-sized avatar
🤖
will make good for superpower

Ruslan Khalitov ruslan-khalitov

🤖
will make good for superpower
View GitHub Profile
@ruslan-khalitov
ruslan-khalitov / import
Created April 6, 2021 01:41 — forked from Pliner/import
Mikrotik antifilter.download update script
:do {
:do {
/file remove "/ipsum.rsc";
/file remove "/subnet.rsc";
} on-error={}
:put "Downloading ipsum.rsc...";
:do {
/tool fetch url="https://antifilter.download/list/ipsum.rsc" dst-path="/ipsum.rsc"
} on-error={
@ruslan-khalitov
ruslan-khalitov / build_qbt_dmg.sh
Created April 4, 2021 12:10 — forked from Kolcha/build_qbt_dmg.sh
!NO LONGER MAINTAINED! script to build qBittorrent master branch on macOS, no Homebrew required!
#!/bin/bash -e -u -x
# -e / set -e / set -o errexit - exit immediately if a command exits with a non-zero status
# -u / set -u / set -o nounset - treat unset variables as an error when substituting
# -x / set -x / set -o xtrace - print commands and their arguments as they are executed
set -o pipefail # the return value of a pipeline is the status of the last command to exit with a non-zero status
workdir=$(mktemp -d) # path must be absolute, must be writable for current user
echo "current working directory: ${workdir}"
depsdir="${workdir%/}/ext" # all dependencies will be placed here
cd ${workdir}
@ruslan-khalitov
ruslan-khalitov / mapswithme_track.py
Created July 16, 2020 06:01 — forked from lambdaupb/mapswithme_track.py
read gps_track.dat from recent track feature of MapsWithMe app
from collections import namedtuple
import struct
import sys
from enum import Enum
class PointSource(Enum):
EAppleNative=0
EWindowsNative=1
EAndroidNative=2
EGoogle=3
@ruslan-khalitov
ruslan-khalitov / custom_share.tf
Created June 2, 2020 22:53 — forked from guitarrapc/custom_share.tf
trying use VMSS MSI to mount azure file share on Ubuntu 16.04, but failed.
resource "azurerm_role_definition" "custom_share" {
name = "custom_share"
scope = "${data.azurerm_resource_group.current.id}"
description = "This is a custom role created via Terraform"
permissions {
actions = [
"*",
"*/read",
]
@ruslan-khalitov
ruslan-khalitov / gist:5f45cb8767de765016ee733bca6f885f
Created April 22, 2020 21:45 — forked from cdown/gist:1163649
Bash urlencode and urldecode
urlencode() {
# urlencode <string>
old_lc_collate=$LC_COLLATE
LC_COLLATE=C
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf "$c" ;;
@ruslan-khalitov
ruslan-khalitov / multibranch-init-after-jobdsl.groovy
Created September 4, 2019 16:43
Update and re-scan existing multibranch jobs after jobdsl seed
import com.cloudbees.hudson.plugins.folder.Folder
import hudson.model.Cause
import jenkins.model.Jenkins
import org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
initMultibranchJobsInFolder = { String folderPath, Closure where = { true } ->
def folder = Jenkins.instanceOrNull.getAllItems(Folder).find { it.fullName == folderPath }
def projects = folder.getAllItems(WorkflowMultiBranchProject).findAll(where)
println("Found ${projects.size()} items in $folder.fullName")
@ruslan-khalitov
ruslan-khalitov / docker-jvm-opts.sh
Created July 22, 2019 12:50
JVM container memory limit
#!/bin/bash
# Return reasonable JVM options to run inside a Docker container where memory and
# CPU can be limited with cgroups.
# https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html
#
# The script can be used in a custom CMD or ENTRYPOINT
#
# export _JAVA_OPTIONS=$(/usr/local/bin/docker-jvm-opts.sh)
import com.cloudbees.hudson.plugins.folder.Folder
import hudson.model.Descriptor
import hudson.model.TaskListener
import jenkins.model.Jenkins
import org.jenkinsci.plugins.pipeline.maven.GlobalPipelineMavenConfig
import org.jenkinsci.plugins.pipeline.maven.MavenDependency
import org.jenkinsci.plugins.pipeline.maven.dao.PipelineMavenPluginDao
import org.jenkinsci.plugins.pipeline.maven.dao.PipelineMavenPluginMonitoringDao
import org.jenkinsci.plugins.pipeline.maven.publishers.MavenReport
import org.jenkinsci.plugins.workflow.job.WorkflowJob
@ruslan-khalitov
ruslan-khalitov / trigger.groovy
Last active January 7, 2019 16:33
Jenkins: trigger jobs (recursive, selectively)
import com.cloudbees.hudson.plugins.folder.Folder
import hudson.model.Cause
import hudson.model.Job
import hudson.model.Result
import java.util.concurrent.Callable
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicInteger
import jenkins.model.Jenkins
import org.jenkinsci.plugins.workflow.job.WorkflowJob
import org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
@ruslan-khalitov
ruslan-khalitov / gist:d0aead1d26c139b8b2c78d592509f151
Created September 6, 2018 20:23
fix docker startup issue on centos7
wget https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.socket -O /usr/lib/systemd/system/docker.socket
systemctl daemon-reload
systemctl start docker.socket
systemctl start docker