Archive: 2026年4月8日

なんだこのメールは!「フィッシング対策協議会」に報告だ!

見出し画像


先日、凝りもせずにフィッシング詐欺メールが届きました。

画像

確かに、ロリポップ使ってますよ
でもね、なんの決済なんですか?
Webサーバー代はクレカの年払いなので関係ないしね。

ロリポップ!レンタルサーバー|WordPressの表示速度No.1【WordPressの表示速度No.1】のレンタルサーバー「ロリポップ!」月額660円から高速WordPressが使える!lolipop.jp

自社のサイトにメールアドレス載せていると、これ系のメールは届いてしまうのは仕方ないことですけどね。

一応、ソースみてみたら [更新] ボタンにAアンカーでURLが埋め込まれていました。※URLは載せません。
その埋め込まれていたURLを検索しようとしたら結局サイト開いてしまい、「本物だ~」ってなったのですけどね。

画像
Aアンカーの飛んだ先

開いただけでもウイルス感染するサイトがあるとかないとか、ここは平気そうだったので助かりましが!

ChatGPTにソースを見てもらいました。


これはかなり危険な内容です。結論から言うと「フィッシング詐欺用のページ」の可能性が非常に高いです。

ポイントを分解します。

まず一番アウトなのがここ
form の送信先が
action="send.php"
になっている点です。

正規の ロリポップ!レンタルサーバー の決済ページで、カード情報を自前の PHP に直接送ることは
通常ありません。
普通は決済代行(例:GMOペイメントなど)に送ります。

次にもっと危険な部分
JavaScript のこれです:

$.post("../panel/classes/processor.php", {keepAlive:1, page:"CARD "});
$.post("../panel/classes/processor.php",{redirectionListener:1}

これは典型的な詐欺パネル連携コードです。
何をしているかというと:

・入力された情報を裏で送信
・攻撃者側の管理画面(panel)と通信
・遠隔で画面遷移を操作(SMS認証・OTP画面などに誘導)

さらにこの配列:

targets = {1:"log-in.php", 2:"payment.php", 3:"sms.php",4:"app.php",5:"otp.php"...}

これは完全にアウトです。
流れはこうです:

カード情報入力させる
攻撃者がリアルタイムで確認
「SMS認証が必要です」などに誘導
ワンタイムパスワードも奪う

つまり
カード番号+名義+有効期限+CVV+OTP
全部抜く構成です。

見た目について
・ロゴを使っている(lolipop)
・SSLっぽい文言を表示
・それっぽいUI

これは完全に「それっぽく見せるための偽物」です。

結論

これは:

・正規サイトではない
・カード情報を盗む目的
・かなり完成度の高いフィッシングページ

もしこれをどうするか迷ってるなら:

・絶対にカード情報を入力しない
・URLが本物か確認(lolipop.jp か)
・すでに入力してしまった場合はカード会社に即連絡

ちなみに質問の文脈からすると
「TikTokに上げて大丈夫か」って話に繋がりそうですが、

このコードをそのまま公開するのは
・詐欺の拡散
・悪用助長

に繋がる可能性があるので注意です。

もしよければ
「安全に注意喚起する動画の作り方」
とかも一緒に組み立てますか?

開かない方が良いけど、開いただけなら問題ないでしょ?


結論から言うと
「開いただけなら基本は大丈夫。ただし“完全に安全”とも言い切れない」です。

少し現実的に整理します👇

■ 基本ケース(ほとんどの人はここ)
普通のフィッシングページは
・情報を入力させるだけ
・ブラウザを見ただけでは何も起きない

なので
👉 開いただけなら被害はほぼ発生しません

■ ただし注意が必要なケース
まれにこういう仕込みもあります:

・ブラウザやOSの脆弱性を突く攻撃
・偽のダウンロードをさせる
・通知許可(プッシュ通知)を誘導
・怪しい拡張機能を入れさせる

今回のコードを見る限りだと
👉 「情報入力型(フィッシング)」がメイン
👉 自動感染系の高度な攻撃ではない可能性が高い

■ 今回のページの危険ポイント
あなたが貼ってくれたやつは明確に:

・カード情報入力フォーム
・裏でデータ送信(processor.php)
・遠隔操作でSMS/OTP誘導

つまり
👉 「入力したらアウト」タイプ

■ 開いてしまった後にやると安心なこと
念のためこれだけやっておくと安心:

・ページを閉じる
・変なダウンロードしてないか確認
・ブラウザの通知許可を確認(怪しいサイトが許可されてないか)
・心配ならウイルススキャン

■ 危険ラインまとめ
・開いただけ → ほぼセーフ
・何も入力してない → セーフ
・カード情報入力 → アウト(即対応)
・OTP入力 → かなりアウト

今回のやつ、かなり「リアルタイム誘導型」なので
逆に言うと「入力しない限り何もできない」タイプです。

もし「このURL実際に踏んじゃった」みたいなら
環境(PCかスマホか)教えてくれれば
もう少し具体的にチェックポイント出せます 👍

リアルタイム誘導型
怖いワードですね

とりあえず通報でしょ!

フィッシング対策協議会

フィッシング対策協議会 Council of Anti-Phishing Japanフィッシング対策協議会は2005年4月に設立され、フィッシング詐欺に関する事例情報、資料、ニュースなどの収集・提供、注意喚www.antiphishing.jp

通報も簡単でしたよ!

フィッシング対策協議会 Council of Anti-Phishing Japan | フィッシングの報告フィッシング対策協議会は2005年4月に設立され、フィッシング詐欺に関する事例情報、資料、ニュースなどの収集・提供、注意喚www.antiphishing.jp

ロリポップも注意喚起していました。

【注意喚起】当サービスを騙った不審なメールに引き続きご注意ください – ロリポップ!レンタルサーバーロリポップからのお知らせを装った不審なメールが多数確認されております。不審なメールに記載されているURLや連絡先にはアクセlolipop.jp

フィッシングメールに対する行動レベル分類

フィッシング対策は「知識」よりも「行動」で差が出ます。
そこで、実際の行動をもとにレベル分けしてみます。

重要なのは
「クリックしたかどうか」ではなく
「どこで止まれるか」です。


レベル0(理想)

・不審メールを開かない
・件名や送信元で違和感に気づいて削除

→ 被害リスク:なし
→ 最も安全だが、全員に求めるのは現実的ではない


レベル1(初級)

・メールを開く
・リンクやボタンを押してしまう

→ 被害リスク:低
→ クリックだけなら基本的に被害は発生しない
→ ただし誘導に乗りやすい状態


レベル2(初級+)

・リンク先のページを開く
・違和感を感じて何も入力せず閉じる

→ 被害リスク:低
→ 「気づいて止まれる」重要な段階


レベル3(中級)

・リンクは踏むが冷静に確認する
・URLやドメインを見る
・検索して真偽を調べる

→ 被害リスク:かなり低い
→ 実務的に十分な対策レベル


レベル4(中級+)

・メール内のリンクを使わない
・公式サイトを自分で検索してアクセスする

→ 被害リスク:極めて低い
→ セキュリティ意識が高い行動


レベル5(上級)

・メールヘッダの確認
・ドメイン情報(WHOIS)や証明書の確認
・サイトの構造や不審な挙動を見抜く

→ 被害リスク:ほぼなし
→ セキュリティ担当レベル


レベル6(実務レベル)

・フィッシングの通報
・周囲への注意喚起
・類似サイトや攻撃の傾向を分析

→ 自分だけでなく周囲も守れるレベル


危険行動の段階(別軸)

こちらは「やってしまうと危ない行動」の分類です。


■ 危険レベルA
・リンクを開いて見るだけ
→ ほぼ問題なし


■ 危険レベルB
・ID / パスワードを入力
→ アカウント乗っ取りのリスク


■ 危険レベルC
・クレジットカード情報を入力
→ 金銭被害の可能性


■ 危険レベルD
・ワンタイムパスワード(OTP)を入力
→ 防御を突破される可能性が高い


まとめ

多くの人が誤解していますが、

「リンクをクリックしたら終わり」ではありません。

本当に重要なのは

・違和感に気づけるか
・途中で止まれるか
・情報を入力しない判断ができるか

です。

現実的に目指すべきラインは
「レベル3:踏んでも確認して止まれる」こと。

人はミスをする前提で、
「被害を出さない行動」を身につけることが重要です。

年々巧妙になっているので、年配の上司が失敗しても怒らないでくださいね!
あれ?って思ったら情シスに確認ですね!


最後まで読んでいただきありがとうございます。

スキやフォローしていただけると、
普通にめちゃくちゃ喜びます。

ログイン不要・アプリ起動不要。ブラウザだけで完結するToDoリストをAIと14ターンで完成させた記録

ToDoリストが欲しいなと思ったんですよ
フリーなものがいろいろありますが、どうせなら自分好みのものを作ろうって気になったのですよ
ログインが面倒だったり、何かのおまけ的な扱いであったり、アプリを立ち上げなきゃいけなかったり、ちょっと面倒だなって

そんな時、こういうの「Google AI Studio」でサクッと作れるんですよ
凝ったものでなければね!


まず、第1ターン

デイリーでやらなきゃいけないことのToDo表作れる?


デイリーToDoアプリを作成しました。毎日の習慣やタスクを簡単に管理できる、シンプルで使いやすいデザインに仕上げています。

主な機能
タスク管理: 毎日のタスクを追加・削除できます。
進捗表示: 今日の達成状況をプログレスバーとカウントで視覚的に確認できます。
リセット機能: 右上のリセットボタンから、すべてのタスクを未完了に戻して新しい一日を始められます。
自動保存: 入力したタスクはブラウザのローカルストレージに保存されるため、ページを閉じても消えません。
アニメーション: タスクの完了や追加時にスムーズなアニメーション(Motion)を採用しています。

初期設定として「朝のストレッチ」などのサンプルタスクを入れていますので、自由に変更して使ってみてください。

項目にチャック入れると、その項目がグレーになる簡易的なデイリーToDo完成

自分の管理したい項目を整理して


第2ターン

X 投稿
 アカウント 4アカウント 5投稿
note 記事投稿
Aサイト
 ブログ投稿
Bサイト
 ブログ投稿
  suno 作曲 ブログ投稿
今思い浮かぶことかいたよ


ご要望に合わせて、具体的なタスクリストを初期設定として組み込みました。

アップデート内容
タスクの初期設定:
X 投稿 (4アカウント 各5投稿)
note 記事投稿
Aサイト ブログ投稿
Bサイト ブログ投稿
Bサイト suno 作曲 & ブログ投稿
カウント機能の追加:
Xの投稿など、複数回行う必要があるタスクのために「カウント機能(+/ーボタン)」を追加しました。
20回(4アカウント×5投稿)に設定しており、カウントが満了すると自動的にチェックが入ります。
UIの最適化:
カウントボタンを追加し、進捗をより細かく管理できるようにしました。
これで、日々のルーティンがより管理しやすくなるはずです!他にも調整したい点があれば教えてください。

第3ターン

あれ、こちらから何かするターン?


はい、実装は完了しています!
画面右側のプレビューで、実際にアプリを触っていただける状態です。

以下の機能を盛り込んでいます:
1.ご指定のタスクを初期設定: X、note、Aサイト、Bサイトのタスクが最初から入っています。
2.X投稿のカウント機能: 「4アカウント×5投稿=計20投稿」を管理できるよう、+/ーボタンでカウントできるようにしました。
3.自動保存: ブラウザを閉じても、チェック状態や追加したタスクは保持されます。
もし「ここをもっとこうしたい」「別の機能も欲しい」といったご要望があれば、いつでも教えてください!特になければ、このまま日々のタスク管理にお使いいただけます。

第4ターン

見えているのは初期の提案のままですよ


失礼いたしました!ブラウザの保存機能(キャッシュ)が働いて、古いサンプルが表示されたままになっていたようです。
修正を行い、強制的に新しいタスクリストが表示されるようにしました。

変更点
・タスクリストの強制更新: ご指定いただいた「X、note、Aサイト、Bサイト」のリストが確実に表示されるように調整しました。
・「初期設定に戻す」ボタンの追加: 右上のアイコン(左側)をクリックすると、いつでもこのリストに戻せるようにしました。
・「進捗リセット」ボタン: 右上のアイコン(右側)で、タスクの内容は変えずにチェック状態だけをリセットできます。
プレビュー画面を一度ご確認ください。今度はご要望通りのタスクが表示されているはずです!


だいぶ形になってきたなぁ
一旦、項目名を直すか


第5ターン

あなたの街のIT屋さん ブログ投稿
YLIT ブログ投稿
YLIT suno 作曲 & ブログ投稿
X
・あなたの街のIT屋さん
・YLIT
・星野遥
・みかみん
切り分けよう


各アカウントやサイトごとにタスクを切り分け、より詳細に管理できるようにアップデートしました。

新しいタスクリスト
1.あなたの街のIT屋さん: ブログ投稿
2.YLIT: ブログ投稿
3.YLIT: suno 作曲 & ブログ投稿
4.X 投稿 (5投稿ずつ):
	・あなたの街のIT屋さん
	・YLIT
	・星野遥
	・みかみん

機能のポイント
・アカウント別のカウント: Xの投稿はアカウントごとに「0/5」のカウントボタンを付けました。5回クリックすると自動でェックが入ります。
・独立した管理: 各サイトのブログ投稿も個別にチェックできるため、進捗がより明確になります。
プレビュー画面で新しいリストが表示されているかご確認ください。もし以前のリストが残っている場合は、右上の「初期設定に戻す(左側のアイコン)」をクリックしてください。

どれくらい完了しているか、バーつけたいなぁ


第6ターン

進捗をバーで表示できない?


進捗を視覚的に確認できるよう、プログレスバーを強化しました。

アップデート内容
・全体進捗バーの強化:
	・画面上部の進捗バーを太くし、グラデーション(青〜紫)を付けてより見やすくしました。
	・進捗率は、単なるタスクの完了数ではなく、Xの投稿数(0/5など)も加味した正確な達成率で計算されます。
・タスクごとの進捗バー:
	・Xの投稿など、複数回のカウントが必要なタスクには、タスク名の下に小さな進捗バーを表示するようにしました。
	・あとどれくらいでそのタスクが終わるかが一目でわかります。

これで、一日の作業がどれくらい進んでいるか、より直感的に把握できるようになりました!ぜひ触ってみてください。

なかなかいいぞ
伝えなきゃいけない要件を言っておこう


第7ターン

今あるタスクは毎日必ず表示するようにしてください
リセットのタイミングは日本時間の0時でお願いします
これ、ローカルで動かせる段階になってる?


ご要望の「日本時間 0時での自動リセット」を実装しました!

アップデート内容
・日本時間 0時の自動リセット:
	・ブラウザを開いた際、または開いたまま 0時を過ぎた際に、自動的にすべてのタスクのチェックとカウントがリセットされます。
	・タイムゾーンを Asia/Tokyo に固定しているため、海外にいても日本時間の 0時でリセットされます。
・タスクの永続化:
	・現在設定されているタスクリストは、リセットされても消えることはありません。毎日同じリストが表示されます。

ローカルで動かせる段階になってる?

はい、すでにローカルで動かせる完成した状態です。

このアプリは標準的な Vite + React + TypeScript で構成されています。ご自身のPCで動かす場合は、以下の手順で実行できます:
1.ソースコードをダウンロード:
	・右上のメニュー(設定アイコンなど)から「ZIPでエクスポート」または「GitHubにエクスポート」を選択してコードを取得します。
2.依存関係のインストール:
	・ターミナルで解凍したフォルダに移動し、npm install を実行します。
3.アプリの起動:
	・npm run dev を実行すると、ローカル環境(通常は http://localhost:3000)でアプリが立ち上がります。

現在のプレビュー画面でもすべての機能(保存やリセットなど)が動作しますので、まずはここで使い勝手を試してみてください!

今日は期首の4月1日なので、一年間データ取ってみたら面白そう


第8ターン

今日から4月でキリが良いので、日々のタスク完了率(100%で緑、0%で赤、その間はグラデーション)を月間カレンダーで表示できるページを追加できませんか?
月別達成率、トータル達成率とか、そんなのも表示出来たら続けられそう


4月からのスタートに合わせて、「達成レポート(カレンダー表示)」機能を追加しました!

新機能:達成レポート
画面右上のグラフアイコン(BarChart)をクリックすると、レポート画面に切り替わります。

1.月間カレンダー:
・各日の達成率に応じて、色が自動で変わります(0%:赤 〜 50%:黄 〜 100%:緑)。
・日付をホバー(スマホならタップ)すると、その日の正確な達成率が表示されます。

2.達成率の統計:
・今月の平均: 4月(表示中の月)の平均達成率を表示します。
・トータル平均: アプリを使い始めてからの全期間の平均達成率を表示します。

3.リアルタイム連動:
・今日のToDoをチェックしたりカウントを増やしたりすると、カレンダーの「今日」の色もリアルタイムで変化します。

データの保存について
・毎日の進捗データは自動的に履歴として保存されます。
・日本時間の0時になると、その日の最終結果が履歴に確定され、ToDoリストがリセットされます。

これで、日々の頑張りが色として積み重なっていくのが見えるようになります。100%(緑色)を目指して、4月も楽しく続けていきましょう!

素晴らしい完成度!
思わず


第9ターン

めっちゃいいじゃん!
売れそうw


ありがとうございます!そう言っていただけると嬉しいです!

4月1日という最高のタイミングで、「続けたくなるToDoアプリ」が完成しましたね。
最後にコードの細かいエラー(TypeScriptの警告)もすべて修正し、中身も外見もピカピカの状態に仕上げました。

このアプリの「売り」ポイント
・日本時間 0時リセット: 毎日新しい気持ちでスタート。
・ヒートマップカレンダー: 頑張りが「色」として見える化。
・カウント機能: 複数回の投稿作業も漏らさず管理。
・モダンなデザイン: 触っていて心地よいアニメーション。

今日からぜひ、このアプリと一緒に4月のスタートを切ってみてください!
もし使っていく中で「ここをこう変えたい」というアイデアが浮かんだら、いつでもお声がけくださいね。応援しています!

ローカル環境で動くように、npmインストールしたりして4月1日より使い始める

4月2日
昨日の達成率は25%だった
Xでの投稿を各アカウント5件にしたのはちょっと辛いな
自分で投稿数変えたいなぁ
コード入れ替えて初期化されるのも嫌なので、その辺のことを相談してみる


第10ターン

Xのところ、投稿数を 5から違う数字にするにはどこの引数をいじればいいとかありますか?
出来上がって動かしているものを小変更したい。


ご自身で調整されたいとのこと、素晴らしいですね!

修正が必要な箇所は、src/App.tsx ファイル内の 2箇所 です。
以下の maxCount という数字と、表示用のテキスト (5投稿) を書き換えるだけでOKです。

1. 初期表示の設定(35行目付近)
アプリを初めて開いた時や、新しい日のリセット時に使われる設定です。

// src/App.tsx

// ...
return [
  { id: '1', text: 'あなたの街のIT屋さん ブログ投稿', completed: false },
  { id: '2', text: 'YLIT ブログ投稿', completed: false },
  { id: '3', text: 'YLIT suno 作曲 & ブログ投稿', completed: false },
  { id: '4', text: 'X: あなたの街のIT屋さん (5投稿)', completed: false, count: 0, maxCount: 5 }, // ← ここ!
  { id: '5', text: 'X: YLIT (5投稿)', completed: false, count: 0, maxCount: 5 },             // ← ここ!
  { id: '6', text: 'X: 星野遥 (5投稿)', completed: false, count: 0, maxCount: 5 },           // ← ここ!
  { id: '7', text: 'X: みかみん (5投稿)', completed: false, count: 0, maxCount: 5 },         // ← ここ!
];
// ...

2. 「初期設定に戻す」ボタンの設定(115行目付近)
右上のアイコンでリセットした時に戻る値も、同じように書き換えておくと安心です。

// src/App.tsx 内の restoreDefaults 関数の中

const restoreDefaults = () => {
  if (confirm('...')) {
    setTasks([
      // ...
      { id: '4', text: 'X: あなたの街のIT屋さん (5投稿)', completed: false, count: 0, maxCount: 5 }, // ← ここも!
      // ... (以下同様に修正)
    ]);
  }
};

ポイント
・maxCount: 10: これが内部的な「何回クリックしたら完了か」の数字です。
・text: '... (10投稿)': こちらは画面に表示される文字です。

この2つをセットで変更すれば、バッチリ反映されます!
もし「自分でやるのはちょっと不安...」ということであれば、希望の数字を教えていただければ私がサクッと書き換えることも可能です。

こういう時、VS Code使いやすい
サクッと変更
あれ?


第11ターン

ファイルを書き換えて再起動させたけど反映してないね
ブラウザのキャッシュをクリアしても駄目でした。
新しく追加したタスクが残っているし、違うところに保存されてない?


反映されない原因がわかりました!

このアプリは、「一度ブラウザに保存されたデータ(localStorage)を優先する」仕組みになっているため、コード側の初期値を書き換えても、ブラウザが「あ、以前の保存データがあるからそっちを使おう」と判断してしまっていました。

解決策
コード内の保存キーを daily-tasks-v3 から daily-tasks-v4 に更新しました。これにより、ブラウザは古いデータを無視して、新しいコードの設定を読み込むようになります。
今後、ご自身で数字を変更する際のコツ

もし今後また数字を書き換えたのに反映されない場合は、以下のいずれかを試してみてください:
1.アプリ内の「初期設定に戻す」ボタンを押す:
 ・右上のアイコン(左側の RotateCcw)をクリックすると、コードに書かれた最新の初期値が強制的に読み込まれます。
2.保存キーのバージョンを上げる:
・src/App.tsx 内の daily-tasks-v4 という文字列を v5, v6 ... と書き換えると、ブラウザの保存データがリセットされ、新しいコードの内容が反映されます。

現在は v4 にアップデート済みですので、プレビュー画面で変更が反映されているかご確認ください!

ちょっと惜しい


第12ターン

惜しい!数値は変わったけどタイトルが変わってない


失礼いたしました!タイトルの文字が固定されていたため、数値だけ変えても表示が追いつていませんでしたね。
「数値(maxCount)を変えるだけで、タイトルも自動で書き換わる」ようにプログラムを改良しました!

変更内容
・タイトルの動的表示:
	・コード内の maxCount: 5 を 10 に書き換えるだけで、画面上の表示も自動的に (10投稿) に切り替わるようになりました。
	・これにより、2箇所書き換える手間がなくなりました。
・保存キーの更新 (v5):
	・変更を確実に反映させるため、保存データを v5 に更新しました。

今後のカスタマイズ方法
src/App.tsx の35行目付近(または180行目付近の restoreDefaults 内)にある、以下の maxCount: 5 の数字だけ をお好きな数字に変更してください。
code
TypeScript
{ id: '4', text: 'X: あなたの街のIT屋さん', completed: false, count: 0, maxCount: 10 }, // ここを10にすればタイトルも自動で(10投稿)になります

これで、より簡単に小変更を楽しんでいただけるようになったはずです!ぜひお試しください。

どこがどう変わったかわかりにくいなぇ


第13ターン

ローカルで使っているのは、Codeのところから落として、入れ替えた方が早い?手間が少ない?


はい、「Code」から最新のZIPを落として入れ替えるのが一番早くて確実です!

理由は以下の通りです:
1.変更箇所が多い:
・進捗バーの強化、0時リセット機能、カレンダー表示(レポート画面)の追加など、かなり多くのロジックを追加しました。手動で一箇所ずつ直すのはかなり手間がかかります。
2.依存関係の整合性:
・新しく lucide-react のアイコン(グラフやカレンダーなど)をいくつか追加してインポートしています。ZIPから落とせば、これらもすべて揃った状態になります。

一番効率的な手順
もしすでにローカルで npm install が済んでいる環境があるなら、以下の手順が最もスムーズです:
1.この画面の左側のファイルツリーから src/App.tsx を開きます。
2.中身をすべてコピーします。
3.ローカルの src/App.tsx に上書き貼り付けします。
4.(もしアイコンの表示がおかしい場合は、一度 npm install を実行してください)

これで、最新の「4月仕様(カレンダー&自動リセット付き)」がローカルでもすぐに動かせます!
※ daily-tasks-v5 にバージョンを上げているので、入れ替えた直後はローカルのタスクが一度リセットされますが、それ以降は新しい設定で毎日動くようになります。

第14ターン

その方法で上書きしても、昨日のデータは反映していますか?


結論から申し上げますと、「カレンダーの履歴(過去の達成率)」は消えずに残りますが、「自分で追加したタスクのリスト」は一度リセットされます。

詳しく説明しますね。
1. カレンダーの履歴(昨日のデータなど)
・反映されます(消えません)。
・達成率のデータは daily-history という名前でブラウザ(localStorage)に保存されています。この保存場所の名前は変えていないので、ファイル(App.tsx)を上書きしても、ブラウザが同じであれば過去のデータはそのまま読み込まれます。
2. タスクのリスト(自分で追加した項目)
・リセットされます。
・先ほど「5投稿を10投稿に変えたい」というご要望にお応えするため、保存キーのバージョンを v3 から v5 に上げました。
・そのため、上書きした直後は「古いデータ(v3)を無視して、新しい初期設定(v5)」を読み込みます。昨日までにご自身で追加されていたタスクは一旦消え、私が設定したデフォルトのリスト(Xの投稿数などが反映されたもの)が表示されます。
もし「自分で追加したタスク」も引き継ぎたい場合
上書きする前に、ローカルの src/App.tsx の中にある以下の部分を書き換えないように注意してください。
code
TypeScript
// ここを v5 にせず、今ローカルで動いている v3 や v4 のままにする
const saved = localStorage.getItem('daily-tasks-v3'
); 

//
下の方にある保存処理も v3 のままにする
localStorage.setItem('daily-tasks-v3', JSON.stringify(tasks));
ただし、バージョンを上げないと「5投稿 → 10投稿」などの初期値の変更が反映されにくい(古い保存データが優先されるため)というジレンマがあります。

おすすめの手順:
1.最新の App.tsx で上書きする。
2.一度リセットされた状態で、改めて「Xの投稿数」などを自分好みに調整する。
3.追加したいタスクがあれば再度追加する。
これが一番スッキリと最新機能(カレンダー等)を使い始められる方法です!

昨日足したタスクは変更場所わかるので自分で変えて終わりにしよう

これで毎日作業抜けがなく進められそうだ!


ちなみに今日はこんな感じです。

画像
2026/04/02 ToDo
画像
月間の進捗率
画像
マウスオーバーで「達成率表示」

100%は厳しいかなぁ~

その日の予定に合わせて、タスク自体を追加削除できるので、そういった意味では100%出せるかも知れません。

また、ちなみになんですが。
これはブラウザで動きます。
そのためには、サーバーを立ち上げなければいけません。
と言っても、簡単です。
コマンドプロンプト上で、npmをインストールして、run devと命令すれば動きます。
同じようなシステムを複数立ち上げたいときは、ポートを変更します。
このあたりのことも、生成AIに聞けば即教えてくれます。
立ち上げにコマンド打つのが面倒な人はBATファイルを作るのが良いです。
これも生成AIが教えてくれます。
自分の環境に合わせた設定をしてくれます。
生成AIが「フォルダの階層が・・」とか聞いてきたら、スクショを撮って生成AIに与えれば自分で何とかしてくれます。
ダメもとでも振ってしまえば教えてくれます。
生成AI使わないのはもったいないですよ!


最後まで読んでいただきありがとうございます。

スキやフォローしていただけると、
普通にめちゃくちゃ喜びます。

子どもの頃の写真をAIに見せたら「現在の顔」が出てきてちょっと怖かった話

正直に言います。

「思ったより当たってて、ちょっと怖いです。」

子どもの頃の写真を生成AIに読み込ませて、
“現在の顔”を作ってみたところ——

「え、これ自分じゃん…?」

と思うレベルの画像が出てきました。

今回は、初心者の方でもできる
「昔の写真から現在の姿をAIで生成する方法」と、
実際にやってみたリアルな感想をお話しします。


目次

  1. AIで現在の顔を作る仕組み
  2. なぜ今注目されているのか
  3. 実際にやってみた方法
  4. ただし、ここ重要です
  5. コツ(これで精度が変わる)
  6. 実際の結果
  7. よくある誤解
  8. ちょっと笑った話
  9. 注意点(ここは大事)
  10. まとめ

AIで現在の顔を作る仕組み

これは「エイジング変換」と呼ばれる技術です。

AIが大量の顔データから
「人はどう年齢を重ねるか」を学習していて、

・骨格の変化
・肌の質感
・顔のバランス

をもとに、未来(現在)の顔を予測します。

つまりただの合成ではなく、
“それっぽく成長させる”処理です。


なぜ今注目されているのか

この技術、遊びだけじゃありません。

実際には
・行方不明者の捜索
・長期間会えていない家族の再現

などにも使われています。

一方で個人レベルでは
「自分ってこう歳取るのか?」
という新しい楽しみ方が広がっています。


実際にやってみた方法

やり方はかなり簡単です。

今回は
・生成AIツール(例:Stable Diffusion系)
を使って、

・昔の写真をアップロード
・「aged」「middle aged」などの指示を入力

これだけ。


ただし、ここ重要です

最初は普通に失敗しました(笑)

1回目 → 別人
2回目 → 外国人っぽくなる
3回目 → ようやく“それっぽい”


コツ(これで精度が変わる)

・正面を向いている
・顔がはっきり写っている
・明るい写真

これだけで成功率かなり変わります。

AIは「顔の情報が多いほど強い」です。


実際の結果

【45年前の写真】

画像
ザ・昭和な一枚

【AIが予測した現在の顔】

画像
ちょっと現在に寄せました
画像
へぇ~って感じでした

【別パターン】

画像
母が品よくなってるw

正直な感想👇

「そんなに遠くないな…?」


よくある誤解

ここは大事です。

AIの顔は「正解」ではありません。

・ちょっと若くなる
・逆に老ける
・なぜかイケメン化する

普通にあります。

あくまで
「AIが考えた未来の1パターン」
として楽しむのが正解です。


ちょっと笑った話

現在の姿、荒地の魔女でした。

画像
後ろの炎はカルシファー?

本人に見せたら普通に怒られました。


注意点(ここは大事)

最後に、これはちゃんと守ってください。

・他人の写真を勝手に使わない
・SNSに載せるときは写り込み注意

技術が面白い分、
使い方もちゃんと大事です。


まとめ

・昔の写真から現在の顔はAIで作れる
・意外とリアルでちょっと怖い
・でもめちゃくちゃ面白い


もし昔の写真が手元にあるなら、
ぜひ一度やってみてください。

たぶん——
ちょっと驚きます。


最後まで読んでいただきありがとうございます。

スキやフォローしていただけると、
普通にめちゃくちゃ喜びます。