timmy / 以 Docker 執行 ctop
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 9 months ago
此 Bash 腳本使用 Docker 運行 ctop 工具,並掛載 Docker 的執行環境以提供容器的即時監控。
| 1 | #!/bin/bash |
| 2 | docker run --rm -ti \ |
| 3 | --name=ctop \ |
| 4 | --volume /var/run/docker.sock:/var/run/docker.sock:ro \ |
| 5 | quay.io/vektorlab/ctop:latest |
timmy / 更新 Ubuntu 軟體源
0 лайк(-ов)
0 форк(-ов)
2 файл(-ов)
Последняя активность 9 months ago
此腳本用於更新 Ubuntu 的軟體源列表,清理舊的快取並添加新的軟體源以便於安裝和更新軟體包。
| 1 | vi /etc/apt/sources.list |
| 2 | |
| 3 | apt clean |
| 4 | rm -rf /var/lib/apt/lists/* |
| 5 | apt update |
timmy / 抓取 API 資料示範
0 лайк(-ов)
0 форк(-ов)
2 файл(-ов)
Последняя активность 9 months ago
此 JavaScript 程式碼示範了如何使用 fetch API 以非同步方式抓取資料,並處理回應與錯誤,適用於從指定的 API 端點獲取資料。
| 1 | async function fetchExampleData() { |
| 2 | try { |
| 3 | const request = await fetch('https://jsonplaceholder.typicode.com/todos/1'); // 這裡用 jsonplaceholder 的 endpoint,換成你想用的 URL |
| 4 | if (!request.ok) { // 檢查回應狀態,確保沒問題 |
| 5 | throw new Error(`HTTP error! Status: ${request.status}`); |
| 6 | } |
| 7 | const jsonResponse = await request.json(); // 轉換回應成 JSON |
| 8 | console.log('ID:', jsonResponse.id); // 印出特定欄位,比原來的 IP 換成 ID |
| 9 | console.log('標題:', jsonResponse.title); // 印出標題,類似原來的國家欄位 |
| 10 | } catch (error) { |
timmy / Docker 指令執行工具
1 лайк(-ов)
0 форк(-ов)
2 файл(-ов)
Последняя активность 9 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 / Caddy 反向代理設定
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 9 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 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 9 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 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 9 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 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 10 months ago
將 server、中間、根憑證合併成完整憑證鏈,輸出固定檔名或自動加日期的檔案,方便伺服器直接使用。
| 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 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 10 months ago
| 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): |