banner
AcoFork

AcoFork

LOVETOLOVE

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

前書き:#

私は、なぜ出席表にパスワード保護が必要なのか理解できません。ユーザーにリストを入力させればいいのに。この内容はお勧めしません、あまりにも知能を下げます。参照:本地点名表、基于 HTML,可作为 APK 安装

これは何ですか#

これは 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

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