banner
AcoFork

AcoFork

LOVETOLOVE

基于密码+TOTP保护的云端点名表

これは何ですか#

これは Cloudflare Workers にホストされたクラウド出席表で、特定の職務に非常に役立ちます。出席表は現在の時間を表示し、名前をクリックするとそれが取り消されて下に移動します。また、全選択、全解除、テーマ切替もあります。

ログインページ:

image

出席表ページ:

9c9b7facdd8878704b8903a53e83bb27

50efb0a23afd3324791ef2e390f4dce7

なぜこの奇妙なプロジェクトを行うのですか?#

著者は、市場に出回っているほとんどの TODO ソフトウェアが出席表のような効果を実現できないことに気づき、怒りのあまり AI に師事し、20 日間かけてこの塊を作成しました(コードは確かに依存していますが、使えます。今後の計画はデカップリングです(例えば、HTML を KV 変数で保存するなど)。

正式に開始#

  1. Cloudflare Workers を作成し、コードを貼り付けます。GitHub リポジトリは:https://github.com/afoim/name_cf_workers

  2. 環境変数を追加

  • NAMES はリストで、一行ごとに一つ
  • PASSWORD は設定したパスワード
  • TOTP_SECRET は設定した TOTP キーで、以下の Python コードを使用して生成できます。
import pyotp
import qrcode

def generate_totp(secret, account_name, issuer_name):
    # TOTPオブジェクトを生成
    totp = pyotp.TOTP(secret)
    
    # 現在のTOTP値を印刷
    print(f"現在の TOTP:{totp.now()}")

    # QRコードスキャン用のURIを生成 (Google Authenticatorなどに適用)
    uri = totp.provisioning_uri(name=account_name, issuer_name=issuer_name)
    print(f"TOTP URI: {uri}")

    # QRコードを生成
    img = qrcode.make(uri)
    img.show()  # QRコードを表示

if __name__ == "__main__":
    # カスタム名、アカウント、キーを設定
    account_name = input("アカウント名を入力してください: ")
    issuer_name = input("アプリ名を入力してください: ")

    # ランダムキーを生成するか、事前定義したキーを使用できます
    secret = pyotp.random_base32()
    print(f"キー: {secret}")

    generate_totp(secret, account_name, issuer_name)

image

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。