All New

user:thomas gists created by user

title:mygist gists with given title

filename:myfile.txt gists having files with given name

extension:yml gists having files with given extension

language:go gists having files with given language

topic:homelab gists with given topic

Login


All New Login

All gists

Recently created
Least recently created
Recently updated
Least recently updated

timmy / Docker 指令執行工具

1 likes
0 forks
2 files
Last active 6 months ago
這段程式碼用來在容器內執行命令或顯示傳入參數
1 #!/bin/bash
2
3 CONTAINER_NAME="your_container" # 記得換成你的 container 名稱
4 DEFAULT_COMMAND="bash" # 預設指令,請自訂
5
6 if [ $# -eq 0 ]; then
7 # 沒帶參數,用預設指令
8 docker exec -it "$CONTAINER_NAME" $DEFAULT_COMMAND
9 else
10 # 有帶參數,直接執行你傳進來的指令

timmy / 配置除錯工具的函式

0 likes
0 forks
1 files
Last active 6 months ago
這段程式碼用來配置 pretty_errors 和 icecream 來改善錯誤和除錯輸出
1 import pretty_errors
2 from icecream import ic
3
4
5 def configure_pretty_errors() -> None:
6 """
7 配置 pretty_errors 庫,用於更好的錯誤輸出。
8
9 不需要任何參數。
10 """

timmy / Caddy 反向代理設定

0 likes
0 forks
1 files
Last active 6 months ago
這段配置用來處理路徑反向代理和 TLS 憑證,導向指定服務
1 your-domain.com:443 {
2 # 反代 /service1/* 到 192.168.1.100:8080
3 handle_path /service1/* {
4 reverse_proxy 192.168.1.100:8080
5 }
6
7 # 反代 /service2/* 到 192.168.1.101:3000
8 handle_path /service2/* {
9 reverse_proxy 192.168.1.101:3000
10 }

timmy / URL 檢查與權限工具

0 likes
0 forks
1 files
Last active 6 months ago
這段程式碼用來顯示 Logo、檢查權限並測試網址是否存在
1 #!/usr/bin/env bash
2
3 # ===== 顏色設定 =====
4 RED="\033[31m"
5 GREEN="\033[32m"
6 YELLOW="\033[33m"
7 CYAN="\033[36m"
8 RESET="\033[0m"
9
10 # ===== 專案 Logo(ASCII Art)=====

timmy / 編輯 DataFrame 的應用

0 likes
0 forks
1 files
Last active 6 months ago
這段程式碼用來顯示並編輯 DataFrame 資料
1 import streamlit as st
2 import pandas as pd
3
4 def main():
5 # 初始化 session_state
6 if "data" not in st.session_state:
7 st.session_state.data = pd.DataFrame({
8 "ID": [1, 2, 3],
9 "Name": ["Alice", "Bob", "Charlie"],
10 "Age": [25, 30, 35],

timmy / 自動合併 SSL 憑證鏈檔案 (server, intermediate, root)

0 likes
0 forks
1 files
Last active 7 months ago
將 server、中間、根憑證合併成完整憑證鏈,輸出固定檔名或自動加日期的檔案,方便伺服器直接使用。
automation certificate script shell ssl
1 # 將伺服器證書、中間證書和根證書合併成一個完整的證書鏈文件
2 # server-cert.pem: 伺服器證書,通常由憑證頒發機構 (CA) 簽發,包含伺服器的公鑰和身份資訊
3 # intermediate-ca.pem: 中間證書,由中間 CA 簽發,用於建立伺服器證書與根證書之間的信任鏈
4 # root-ca.pem: 根證書,由根 CA 簽發,是信任鏈的頂端(通常客戶端已預裝根證書,此處包含僅為完整性)
5 # fullchain.pem: 輸出文件,包含完整的證書鏈,從伺服器證書到根證書,供伺服器(如 Nginx 或 Apache)使用
6 cat server-cert.pem intermediate-ca.pem root-ca.pem > fullchain.pem
7
8
9
10 # 將伺服器證書、中間證書和根證書合併成一個完整的證書鏈文件,並以當前日期作為文件名的一部分

timmy / 簡單實作資料庫依賴注入

0 likes
0 forks
1 files
Last active 7 months ago
用 Python 實現資料庫介面,輕鬆切換不同資料庫實作。
abc-class database dependency-injection interface mysql oop python
1 from abc import ABC, abstractmethod
2
3 # 定義一個資料庫介面,規定大家都要有 connect 方法
4 class IDatabase(ABC):
5 @abstractmethod
6 def connect(self):
7 pass
8
9 # 具體實作 MySQL 版資料庫
10 class MySQLDatabase(IDatabase):

timmy / Flask + Prometheus 快速監控

0 likes
0 forks
1 files
Last active 7 months ago
使用 Flask 和 Prometheus 客戶端,快速設置基本的應用監控,輕鬆追蹤請求數量和延遲。
flask metrics monitoring prometheus python webapp
1 from flask import Flask, Response
2 from prometheus_client import Counter, Summary, generate_latest, CONTENT_TYPE_LATEST
3 import time
4
5 app = Flask(__name__)
6
7 # 自訂 metrics
8 REQUEST_COUNT = Counter('app_requests_total', 'Total number of requests')
9 REQUEST_LATENCY = Summary('app_request_latency_seconds', 'Request latency')

timmy / 更改目錄權限與擁有者

0 likes
0 forks
1 files
Last active 7 months ago
使用 chown 和 chmod 將資料夾及其內容的擁有者設為 nobody,並設定適當的讀寫執行權限。
file-management linux ownership permissions security
1 # 將該資料夾及裡面的所有檔案/子目錄的 owner & group 改成 65534:65534
2 # 65534 就是「nobody」的代號,用來指定權限最低的帳號,降低風險。
3 sudo chown -R 65534:65534 /path/to/directory
4
5 # 把該資料夾及其所有內容的權限設成 775
6 # 表示 owner 與同群組成員可讀寫執行,其他人只能讀與執行
7 sudo chmod -R 775 /path/to/directory

timmy / Flask API 與農曆轉換工具

0 likes
0 forks
4 files
Last active 7 months ago
結合 Flask 建立 API 服務,提供西曆與農曆的互轉功能,並自動尋找可用端口啟動服務。
api date-conversion flask lunar-calendar python
1 #!/usr/bin/env python3
2 # converter.py
3 # 用於西曆與農曆互轉,已封裝成類別
4
5 import os
6 import json
7 import argparse
8 from datetime import datetime
9
10 class Converter:
Newer Older

Powered by Opengist ⋅ Load: 242ms⋅

English
Čeština Deutsch English Español Français Magyar Italiano 日本語 Polski Português Русский Türkçe Українська 中文 繁體中文