Skip to content

Instantly share code, notes, and snippets.

View songwutk's full-sized avatar

songwutk

  • Phrae Hospital
  • Phrae,Thailand
View GitHub Profile
@songwutk
songwutk / autologin.py
Created October 25, 2022 02:59
Mikrotik Autologin
#!/usr/bin/env python3
from httplib2 import Http
from urllib.parse import urlencode
URL = 'http://10.0.0.11/login'
h = Http()
username='username'
password='password'

Install PC/SC

ขั้นตอนนี้คือการติดตั้งไลบรารีเพื่อให้ Linux สามารถเชื่อมต่อกับเครื่องอ่านได้ (ลีนุกซ์บางรุ่นอาจจะติดตั้งไว้แล้ว ก็สามารถข้ามได้)

  1. กรณี Ubuntu,Debian

    1. ติดตั้ง lib/tools ที่จำเป็น ด้วย sudo apt-get install --reinstall pcscd pcsc-tools libpcsclite1 libpcsclite-dev libpcsclite1 libccid
    2. เมื่อติดตั้งเสร็จ ให้ทดสอบว่า smartcard ทำงวานหรือไม่ ด้วยคำสั่ง systemctl status pcscd จะต้อง Active หากต้องการเช็คว่าเชื่อมต่อเครื่องอ่านได้หรือไม่ ให้เสียบเครื่องอ่านและใช้คำสั่ง pcsc_scan จะแสดงรายการเครื่องอ่านที่เสียบอยู่
  2. กรณี Fedora,CentOS,RedHat

    1. ติดตั้ง lib/tools ที่จำเป็น ด้วย sudo yum -y install pcsc-tools
    2. เมื่อติดตั้งเสร็จ ให้ทดสอบว่า smartcard ทำงวานหรือไม่ ด้วยคำสั่ง systemctl status pcscd จะต้อง Active หากต้องการเช็คว่าเชื่อมต่อเครื่องอ่านได้หรือไม่ ให้เสียบเครื่องอ่านและใช้คำสั่ง pcsc_scan จะแสดงรายการเครื่องอ่านที่เสียบอยู่
@songwutk
songwutk / verify.php
Created February 12, 2022 07:24
PHP header authentication
<?php
// POSTMAN Authorization
// Basic Auth
// Fill => Username & Password
$username="api-user";
$password="ajck_[99HkJC";
// phpinfo();
@songwutk
songwutk / json2gsheet.js
Last active February 5, 2022 08:02 — forked from mhawksey/gist:1442370
Google Apps Script to read JSON and write to sheet
function getJSON(aUrl,sheetname) {
//var sheetname = "test";
//var aUrl = "http://pipes.yahoo.com/pipes/pipe.run?_id=286bbb1d8d30f65b54173b3b752fa4d9&_render=json";
var response = UrlFetchApp.fetch(aUrl); // get feed
var dataAll = JSON.parse(response.getContentText()); //
var data = dataAll.value.items;
for (i in data){
data[i].pubDate = new Date(data[i].pubDate);
data[i].start = data[i].pubDate;
}
@songwutk
songwutk / convertSheet2Json.gs
Created February 5, 2022 07:49 — forked from daichan4649/convertSheet2Json.gs
spreadsheet のデータを JSON として読み込む(Google Apps Script)
function convertSheet2Json(sheet) {
// first line(title)
var firstRange = sheet.getRange(1, 1, 1, sheet.getLastColumn());
var firstRowValues = firstRange.getValues();
var titleColumns = firstRowValues[0];
// after the second line(data)
var lastRow = sheet.getLastRow();
var rowValues = [];
for(var rowIndex=2; rowIndex<=lastRow; rowIndex++) {
@songwutk
songwutk / code.gs
Created October 11, 2021 14:34 — forked from neno-tech/code.gs
Responsive web app Book Store
function doGet(e) {
return HtmlService.createTemplateFromFile('index').evaluate()
.addMetaTag('viewport','width=device-width , initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename).getContent();
}
@songwutk
songwutk / reader-qr-ocr.py
Created August 27, 2021 08:54
Python scan QR code and OCR
import sys, cv2 # opencv
from PIL import Image # Python Imaging Library
from pyzbar.pyzbar import decode # python zbarcode
fdemo=sys.argv[1] # get filename from command line
img=Image.open(fdemo) # open file
width, height=1800,400 # specify crop img size
x ,y = 50, 10 # start coordinate
area=(x,y,x+width,y+height)
/*
1) Open https://popcat.click
2) Open console (F12)
3) Insert code & run
*/
var event = new KeyboardEvent('keydown', {
key: 'g',
ctrlKey: true
@songwutk
songwutk / code1.gs
Created August 14, 2021 15:05 — forked from neno-tech/code1.gs
สร้าง API จาก GOOGLE SHEET และสร้าง API สำหรับเพิ่มข้อมูลลงใน GOOGLE SHEET
var ss = SpreadsheetApp.openById('xxx')
var sheet = ss.getSheetByName('xxx')
function doGet(e) {
var action = e.parameter.action
if (action == 'getUsers') {
return getUsers(e)
}
}
@songwutk
songwutk / CSS.html
Created August 12, 2021 23:26 — forked from neno-tech/CSS.html
เว็บแอป CRUD อัปโหลดโค้ดวันแม่ 2564
<style>
.btn-group-xs > .btn, .btn-xs {
padding: .25rem .4rem;
font-size: .875rem;
line-height: .5;
border-radius: .2rem;
}
</style>