Skip to content

Instantly share code, notes, and snippets.

View crazygit's full-sized avatar

Crazygit crazygit

View GitHub Profile
@crazygit
crazygit / LocalRepository.kt
Last active July 25, 2023 22:31
Jetpack DataStore in MVVM
import com.github.crazygit.tikheart.TikHeartApplication
import com.github.crazygit.tikheart.data.dao.UserInfoDao
import com.github.crazygit.tikheart.data.model.UserInfo
import com.github.crazygit.tikheart.utilities.LocalStorage
object LocalRepository {
private val localStorage = LocalStorage(TikHeartApplication.appContext)
private val localUserDao = UserInfoDao(localStorage)
@crazygit
crazygit / RealTimeDatabaseTest.kt
Last active December 18, 2020 07:03
Extend function to do unit test with Firebase realtime database
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.android.gms.tasks.Task
import com.google.common.truth.Truth.assertThat
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.ValueEventListener
import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
import org.junit.Before
@crazygit
crazygit / download.sh
Created September 14, 2020 02:20
Download Google Drive Files using wget
#!/usr/bin/env bash
# reffer:
# https://medium.com/@acpanjan/download-google-drive-files-using-wget-3c2c025a8b99
file_name="youer_file_name"
file_id="your_file_id"
confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate "https://docs.google.com/uc?export=download&id=${file_id}" -O-| sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=${confirm}&id=${field_id}" -O ${file_name} && rm -rf /tmp/cookies.txt
@crazygit
crazygit / install-dnsmasq-china-list-on-macos.sh
Last active February 17, 2020 11:02
Install dnsmasq-china-list on macos
#!/bin/bash
set -e
# install dnsmasq
brew install dnsmasq
WORKDIR="$(mktemp -d)"
SERVERS=(114.114.114.114 114.114.115.115 180.76.76.76)
# Not using best possible CDN pop: 1.2.4.8 210.2.4.8 223.5.5.5 223.6.6.6
# Dirty cache: 119.29.29.29 182.254.116.116
@crazygit
crazygit / generate_kubeconfig.sh
Created July 16, 2019 07:01
Create kubeconfig for service account in kubernetes
service_account_name="jenkins" # service account name, for example: jenkins
namespace="default" # service account namespace, for example: default
cluster_name="kubernetes"
server="https://kubernetes.default.svc.cluster.local"
ca_file="ca.crt"
kube_config_file="$service_account_name.conf"
token_name=$(kubectl get serviceaccount $service_account_name -n $namespace -o jsonpath="{.secrets[0].name}")
token=$(kubectl get secret $token_name -n $namespace -o jsonpath="{.data.token}" | base64 -D)
kubectl get secret $token_name -n $namespace -o jsonpath="{.data.ca\.crt}" | base64 -D > $ca_file
@crazygit
crazygit / AESCipher.java
Last active October 12, 2020 12:23
AES Python Android encrypt decrypt, more see: https://github.com/crazygit/AES-Encryption-Demo
package com.example.anroid.testaescipher;
import android.util.Base64;
import java.io.UnsupportedEncodingException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
@crazygit
crazygit / run_ss_client_with_http.sh
Last active December 15, 2018 14:13
run shadowsocks-libev client with docker, enable socket5 and http protocol
#!/usr/bin/env bash
SERVER_ADDR="your_server_ip"
SERVER_PORT="your_server_port"
PASSWORD="your_password"
METHOD="your_encrption_method"
TIMEOUT=300
# socket5 协议端口1080
LOCAL_SCOKET_PORT=1080
@crazygit
crazygit / run_ss_client.sh
Last active March 2, 2024 01:20
run shadowsocks-libev client with docker
#!/usr/bin/env bash
# 配置参考:
# https://github.com/shadowsocks/shadowsocks-libev/blob/master/docker/alpine/README.md
SERVER_ADDR="your_server_ip"
SERVER_PORT="your_server_port"
PASSWORD="your_password"
METHOD="aes-256-cfb"
TIMEOUT=300
@crazygit
crazygit / setup_docker.sh
Last active December 14, 2018 16:35
Install docker and docker-compose on ubuntu
#!/usr/bin/env bash
# please run as root user
# install docker
apt-get remove docker docker-engine docker.io
apt-get update
apt-get install \
apt-transport-https \
ca-certificates \
@crazygit
crazygit / run_ss_server.sh
Last active December 14, 2018 16:35
run shadowsocks-libev server with docker
#!/usr/bin/env bash
# 配置参考:
# https://github.com/shadowsocks/shadowsocks-libev/blob/master/docker/alpine/README.md
# 密码
PASSWORD="your_password"
# 绑定到主机的端口号
SERVER_PORT=8388
# 加密方式