macOSやiOSで特定サイトをアクセス禁止する方法

デジタルデトックスや、いわゆるデジタルミニマリズムを実践したいとき。 「つい開いてしまうサイト」を物理的に遮断するのは、かなり有効です。 時間やお金を浪費していると感じつつ、なかなかやめられない。 私にとっては X、Amazon、Yahoo!ニュース がそれにあたります。 意思の力に頼らず、環境で制御する。 その具体的な方法を紹介します。 結論から言うと、macOS は /etc/hosts、iOS はスクリーンタイムを使い、どちらもドメイン単位でアクセスを遮断します。 この記事では、その2つの手順と、実際にやってみて分かったつまずきやすいポイント(www の有無、ブラウザの再起動、あえて解除を面倒にしておく考え方)をまとめています。 特別なアプリは使わず、Mac と iPhone の標準機能だけで完結する内容です。 macOS編 macOSでは /etc/hosts を編集することで、ドメイン単位でアクセスを遮断できます。 ターミナルで以下を実行します。 sudo vi /etc/hosts アクセスを禁止したいドメインを 127.0.0.1 に向けます。 127.0.0.1 x.com 127.0.0.1 amazon.co.jp 127.0.0.1 www.amazon.co.jp 127.0.0.1 news.yahoo.co.jp 保存後、ブラウザを再起動すればアクセス不可になります。 ここで一つつまずきやすいのが www の有無です。 amazon.co.jp だけを登録しても、www.amazon.co.jp で開かれると素通りしてしまいます。 私は www ありと www なしの両方を書いておくようにしています。 また、ブラウザを開いたまま設定しても、すぐには効かないことがあります。 タブを開いたままだと前の接続が残るので、保存後はブラウザを一度終了して開き直すと確実です。 この方法は非常に強力です。 私は2年ほど前から X(旧Twitter)をこの方法で遮断していますが、それ以来一度も閲覧していません。 今回さらに Amazon と Yahoo!ニュースも追加しました。 この設定の良いところは、「解除が面倒」な点です。 久しぶりにアクセスしようとしてもブロックされる。 「あれ、解除どうやるんだっけ?」と一瞬立ち止まる。 その一瞬が、冷静さを取り戻す時間になります。 そして多くの場合、「やっぱり見なくていいか」となるのです。 iOS編 上記はmacOS限定の設定です。 当然、iPhoneからは普通にアクセスできてしまいます。 そこで iOS 側でもドメイン単位のブロックを行います。 設定手順は以下です。 設定アプリ → スクリーンタイム → コンテンツとプライバシーの制限 → App Store、メディア、Web、およびゲーム → Webコンテンツ → 「成人向けWebサイトを制限」 ...

公開: 2026年2月17日 · 更新: 2026年6月3日 · Toshihiko Arai
小田原仕様へカスタムしたFuji Feather

Fuji Featherを小田原仕様へ|ライザーバーと28Cタイヤで走りやすくする

これまで TREK FX7.4をシングルスピード化 して乗っていたが、昨年末、とうとう本物のシングルスピードを購入した。 選んだのは Fuji Feather 。 フレームサイズは54。ドロップハンドル仕様、カラーはマットシルバー。主張しすぎない、ちょうどいい色だ。 購入時の価格は73,800円(税抜き)。税込で最終的には8万円を少し超えたが、クロモリフレームの完成車としてはかなり良心的なお値段だと思う。 高機能なクロスバイクやロードバイクが10万円を軽く超える中、構造がシンプルな分、価格が抑えられている。シングルスピードというジャンル自体が、ある種の“贅沢な合理性”を持っている。 ただ、この手の完成車は在庫が不安定だ。カラーやサイズが揃わないことも多い。 私はサイクルベースあさひのWEBストアで購入したが、もし気に入った一台を見つけたなら、予算内であれば迷わず手に入れた方がいい。次の入荷は読めないだろうから。 小田原仕様の要点 今回のカスタムで効いたのは、軽量化よりも操作しやすさと安心感だった。 ドロップハンドルからライザーバーへ変更 スポンジ系グリップからOuryのゴム製グリップへ変更 TPUチューブから通常のゴムチューブへ戻す 25Cタイヤから28Cタイヤへ太くする 重さよりも、荒れた路面を安心して踏める感触を優先する ドロップハンドルとの格闘 もともとはドロップハンドル仕様だった。 しかし、正直に言えば驚くほど乗りにくかった。 初ドロップということもあり、ポジションがしっくりこない。 下ハンを公道で握る未来はあまり想像できなかった。ただ、荒川サイクリングロードでは下ハンを握って全力で踏み込んだ。若い頃からドロップに慣れていれば違ったのかもしれないが、相当慣れないと怖い感じ。 その夜、前の車体からカーボン製フラットバーを移植したのは言うまでも無い。 小田原で気づいた違和感 小田原に来てから、さらに違和感が出てきた。 スポンジ製の軽量グリップは、クロモリフレームの質感とどこか噛み合わない。 ステムも低めで、クロスバイク的なポジションに慣れていた私には少し前傾がきつい。 そこでハンドルをライザーバーへ変更。 グリップはOuryのゴム製に交換した。 これが想像以上によかった。 剛性感が増し、コントロール性が上がる。 54cmとやや幅広になったが、街中で邪魔になるほどではない。 身体に一番近いパーツを変えると、自転車はここまで変わるのかと改めて実感。 ドロップハンドルの前傾姿勢が合わない場合、無理に慣れようとするより、乗る場所に合わせてハンドルを変えた方が早いこともある。ライザーバーにすると上体が少し起き、低速でのふらつきや、路面の荒れた場所での怖さが減った。 シングルスピードは変速でごまかせないぶん、ハンドルまわりの安心感がそのまま走りやすさに出る。小田原の街乗りや海沿いの移動では、この変更がかなり効いた。 東京仕様から小田原仕様へ タイヤも見直した。 東京ではTPUチューブ+パナレーサー・アジリストという軽量重視の組み合わせだった。 だが小田原は、常にきれいな舗装路が続くわけではない。 そこで通常のゴムチューブに戻し、パナレーサーの激タフへ変更。25Cから28Cへと太くした。 これも大正解だった。 路面の細かな凹凸を、車体全体が丸く受け止めてくれる感覚。 タイヤのクッション性に加え、クロモリのしなやかさが効いている。 軽さよりも「安心して踏める感触」が大きい。 東京仕様から小田原仕様へ。 環境が変われば、最適解も変わる。 25Cの軽さは気持ちいいが、路面の荒れた場所や段差が多い環境では気を使う。28Cにすると、漕ぎ出しの軽快さは少し落ちるかもしれないが、路面からの突き上げが丸くなり、結果として踏み続けやすくなった。 小田原では、軽さだけを追うより「雑に走っても不安が少ない」ことの価値が大きい。タイヤとチューブを実用寄りに戻したことで、Fuji Featherのクロモリらしさも分かりやすくなった。 重さよりも、走りの質 サドルはTIOGAのカーボン。 中華製カーボンシートポスト、TEKTROのレバー、軽量ペダルなど、前車体から流用できるものは活かした。 公称9.2kgの車体は、現在9.53kg。 釣りホルダーやライト類を外せば、9kg前半には戻るだろう。 だが正直、10kgを切っていれば十分だ。 重さよりも、乗っていて気持ちいいかどうかの方が大事だと、今は思う。 ぬるぬる進む アーバンなイメージの強いシングルスピード。 坂の多い小田原で通用するのか、少し不安はあった。 ...

公開: 2026年2月14日 · 更新: 2026年4月26日 · Toshihiko Arai
東京を離れてトカイナカへ。一人暮らしの引越し手続き忘備録

東京を離れてトカイナカへ。一人暮らしの引越し手続き忘備録

20年以上過ごした東京を離れ、小田原へ引っ越した。 都内に住んでいた頃も5〜6年に一度は引っ越してきたが、そのたびに手続きを調べ直している気がする。未来の自分のために、今回の流れを忘備録として残しておく。 故・森永卓郎氏が著書で語っていた「トカイナカ」という言葉がある。都会と田舎のあいだ。小田原はまさにそんな場所だ。始発電車に乗れる機会も多く、ロマンスカーなら新宿まで約1時間30分。都心へのアクセスも悪くない。 私の場合は、海(釣り)と山(登山)への距離が決め手だった。3〜4年前から住む候補にしていた町であり、ようやくそれが実現した。 引越し先を決める 引越しの約1か月前、小田原へ宿泊し、不動産会社を訪問。絞り込んだ物件をいくつか内見して決定した。 物件検索は「ニフティ不動産」がおすすめ。SUUMOやHOME’Sなど複数ポータルを横断検索できるため効率が良い。 契約後、鍵を受け取る。通常3本渡されるので、退去時に返却できるよう大切に保管しておく。 旧住居でやること 解約届 退去日を決め、管理会社へ解約届を提出する。 スケジュールは余裕を持つこと。家賃は日割り計算になることが多いので、無理に詰め込む必要はない。 水道・電気・ガスの解約 東京ガス(ガス・電気)はWEBまたは電話で解約可能。 ガスは立会いが必要な場合もあるため、日程調整が欠かせない。 電気・水道は退去日ギリギリに解約する。水道もWEB申請可能。 退去立会い 旧住居はできる限り元の状態に戻すつもりでキレイに掃除する。鍵と印鑑を持参し、立会いに臨む。 新居でやること 電気は仲介業者経由で開通済み。後日届く書類からクレジットカード払いを申請。 水道はWEBで開通手続き。 ガスは電話で申込み。立会い必須。 今回はプロパンガスのため、開通時に保証金1万円が必要だった(退去時返却予定)。 転出届・転入届 東京から神奈川へ住所変更。 マイナンバーカードがあれば転出届はオンライン申請可能。 転入届はオンライン申請後に、市役所を訪問する必要がある。 主な手続きは以下。 ・住民票更新 ・マイナンバー住所変更 ・国保・年金の住所変更 その後、警察署で運転免許証の住所変更。 市役所と警察署はどちらも混み合うため、半日程度の余裕を見ておく。 郵便 e転居 旧住所宛の郵便を1年間転送してくれるサービス。WEB申請可能。 あくまで一時的措置なので、転送された郵便物の差出元には個別に住所変更を行う。 引越し作業 今回は業者を使わず、断捨離を徹底。 荷物は140〜160サイズの段ボール3箱に収まり、宅急便で発送。集荷・日時指定込みで8,000円台。 洗濯機は手放したが、結局新居で再び購入。冷蔵庫というかクーラーボックス型のポータブル冷蔵庫を使っていたが、こちらは断捨離。新居では冬のため冷蔵庫なしで快適な生活が送れている。 当たり前だが荷物を減らせば、引っ越しも楽だし引越し費用もかからない。この段ボールの中にはなんと、ベッドや机、イスも入っている。 荷物が届くまでの間、最低限の生活必需品だけ手元に置いておきたいので自力で搬送。シェラフ、クローズドセルマット、ガスバーナー、衣類などがそれにあたる。 自転車の輪行 一番大変だったのは自転車。 解体し、輪行袋で別日に運搬。通勤ラッシュを避けるため前乗りしホテル泊。 10:29発は混雑で断念。 10:40発の普通列車(平塚行き)最後尾に乗車。途中で座席が空き、PC作業をしながら移動。 平塚で特別快速に乗り換え。小田原到着後、自転車を組み立てる。 東京では考えられない空き具合に、すでにトカイナカを感じた。 その他住所変更 ネット銀行 クレジットカード Amazon配送先 Appleアカウント 各種WEBサービス 共済の住所変更 確定申告の住所変更 自転車の防犯登録住所変更 森永卓郎の「マイクロ農業」のすすめ 人生を変える断捨離 断捨離 私らしい生き方のすすめ

公開: 2026年2月13日 · 更新: 2026年2月27日 · Toshihiko Arai
コンロをやめてOD缶・CB缶で自炊する。限られた火力で暮らすことで、資源への感覚をリセット

コンロをやめてOD缶・CB缶で自炊する。限られた火力で暮らすことで、資源への感覚をリセット

小田原に引っ越して、プロパンガスになった。 しかもキッチンのコンロは不調だった。左の強火側は、十回に一回つけばいい方。開通時にガス会社の人が「弁が劣化しているかもしれない」と言っていたが、二週間経っても改善せず、結局交換してもらうことになった。 その間、ほとんどコンロを使う気になれなかった。 さらに、プロパンは高い。 東京の都市ガスと比べると、体感では三〜四倍の勢いだ。 いっそ、キャンプ道具で暮らしてみたらどうだろう。 そう思うのも、自然な流れだろう。 CB缶もOD缶も持っている。防災用という名目もあるが、単純にアウトドアギアが好きなのだ。ミニマムで、スタンドアロンで、どこでも完結する感じがいい。 ただ、その道具たちはほとんど出番がない。キャンプに行くわけでもないのに、なぜか揃っている。 中でもOD缶の500g缶が好きだ。寒冷地でも火力が安定するという、いわゆるアウトドア用のガス。そんな高性能な燃料を自宅で使う。少し贅沢な気持ちにもなる。 とはいえ、やることは湯を沸かし、簡単な料理をする程度だ。 毎日お茶を沸かし、簡単な食事を作っても、缶はなかなか減らない。一本800円台。二週間は余裕で持ちそう。そう考えると、決して高いとも言えない。 もちろん、無意識に節約している。火を小さくする。無駄に煮込まない。目を離さない。効率の良いクッカーを選ぶ。 それが、妙に楽しい。 都市ガスやプロパンは、ひねれば出る。止めなければ出続ける。 だからこそ、「有限」という感覚を持ちにくい。 しかしOD缶は、手に持てば重さで残量がわかる。 減っていくことが、物理的に実感できる。 有限だと、人は丁寧になる。 というより、慎重にならざるを得ないのかも。 火を絞る。 無駄を減らす。 必要な分だけ使う。 電気や水道、日用品も同じだろう。山のようにストックがあれば雑になる。最小限なら、自然と扱いが丁寧になる。 キッチンだけでも限られた火で暮らしてみると、資源への感覚が少しだけリセットされる。 私たちが日々使っている燃料は、海を渡ってやってくる圧縮エネルギーだ。それを家の中で自由に使えること自体、本来はかなり贅沢なはずだ。 別に節約の話をしたいわけではない。 あくまで「面白い実験」だ。 不便さは、感覚を研ぎ澄ます。 日常が、少しだけサバイブになる。 ただし、ここで強く言っておきたい。 室内でキャンプ用の火器を使用することは、非常に危険である。 私は短時間の使用に限定し、目を離さず、安定した場所でのみ使用している。それでもリスクはゼロではない。 ガス管や可燃物をコンロの上に置くなど論外だ。地震で倒れれば即火災につながる。 この記事は推奨でも指南でもない。 安易に真似をしてほしくない。 万が一の責任も負えない。 火は便利だが、制御を誤れば一瞬で火災になる。 ガスボンベが熱くなるほどの大きな鍋は使わない。 長時間使用しない。 目を離さない。 これらは絶対だ。 話は戻るが、都市ガスを否定するつもりはない。インフラは社会の基盤であり、恩恵そのものだ。 ただ、ときどき「無限だと思い込んでいる感覚」を手放してみる。 最小限で回してみる。 見え方が少し変わる。 ……とはいえ。 今のところ、これらの実験はキッチンに閉じている。 風呂だけは、しっかりプロパンの湯船に浸かっている。 そこまでサバイブする度胸が、今のところない。 キャプテンスタッグ レギュラー ガスカートリッジ CS-500 トランギア 325ケトル 0.6L TR-325 snow peak ギガパワーストーブ

公開: 2026年2月12日 · 更新: 2026年2月27日 · Toshihiko Arai
凍結と水が出るありがたさ

凍結と水が出るありがたさ

小田原に引っ越してまだ1週間ほどで、記録的な大雪に見舞われたときの記録です。翌朝に水道が凍結して水が出なくなり、湯船に残していた水とペットボトルの水にかなり助けられました。 この記事は専門的な凍結対策の解説ではなく、実際に水が出なくなった朝に何が困り、何が役に立ったかのメモです。マンションでは凍結箇所が分かりにくかったため、熱湯をかけるような無理な対処はせず、部屋を温めながら様子を見ることにしました。 小田原に引っ越してまだ1週間ほど。 そんなタイミングで、記録的な大雪に見舞われた。雪の警報も出ていた。 そして雪が積もった翌日の朝。 水道が凍結して、水がまったく出なくなった。うっかりしていた。 時刻は10時過ぎ。トイレも洗面所もキッチンも、どこをひねっても水は出ない。 水の備え 幸いだったのは、湯船の水を抜かずに残していたことだ。 これは東京に住んでいた頃からの習慣で、翌日も使えるようにそのままにしていることが多い。そのおかげで、手洗いや顔を洗うことはできた。 さらに、予備のペットボトルの水も何本か置いてあった。これがあるだけで、精神的な余裕はまったく違っていただろう。 夏場なんかは、湯船の水を長持ちさせるための漂白剤タブレットも使っている。あれを入れておけば、夏場でも2〜3日は水を保管できる。 いざという時のために、水を確保しておくことの大切さを改めて実感する。 凍結した時の対処法 凍結した水道管もいずれ溶ける。 もちろんそうは思っても、いつ溶けるのか? 水道局のホームページを見ると、凍結した場合は 「ぬるま湯をゆっくりかけて温める」 のが良いと書かれていた。 ただ、マンションの場合、どこが凍結しているのか分からない。共用部分なのか、部屋の配管なのかも判断できない。 しかも、熱湯をかけるのはNGらしい。急激な温度変化で、水道管が破裂する恐れがあるからだという。 とはいえ、マンションの構造がわかっていないため、うつ手なしと半ば諦めかけていた。 暖房で部屋を温める 期待は小さいが、ダメもとで部屋を温めることにした。 エアコンの暖房を強めに入れて、蛇口も少し開けたままにして様子を見る。 玄関やトイレの方まで暖気が行き渡るように扉を開けて、部屋全体に暖気が回るようにしてみた。 すると、30分ほどで変化が起きた。蛇口から、じわっと水が出てきたのだ。 「出た!」 水道から当たり前のように水が出ただけなのに、嬉しかった。 暖房の効果だったのか、時間が経って自然に解けたのかは正直分からない。 それでも消去法的な考えで、小さな原因を少しでも潰すと気持ちは楽だ。 小田原だけ雪が多い? それにしても不思議なのは、小田原って案外雪が多いのか? もしかすると、箱根の山にぶつかった寒気が持ち上げられて、雪雲が発達しやすいのかもと思ったり。山と海に挟まれた地形の影響で、このあたりだけ雪が多くなることもありえそう。 これからの対策 外の気温は4度ほどだった。凍結が解けたのは、やはり暖房の効果だったのだろうか。 いずれにしても、雪が降った翌日は凍結に注意しよう。これからは、そういう日は蛇口を少しだけ流しっぱなしにしておこうと思う。 そういえば、昔千葉に住んでいた頃は、「寒い日は水をちょろちょろ出しておく」というのが当たり前だった気がする。 その後に東京の便利快適な生活に染まった私は、すっかりその感覚を忘れていたようだ。 日常をキャンプのようなサバイバルだと思えば、これはこれで小さな楽しみだった。 関連アイテム 防災 水 保存 給水タンク

公開: 2026年2月10日 · 更新: 2026年5月6日 · Toshihiko Arai
このサイトについて

このサイトについて

お知らせ(2026/02/01追記) 2025年度より、サイトURLが変更になりました 。 101010.fun「アイデアノート」 → araisun.com 記事生成を自作ツールから Hugo へ変更したため、破壊的なURL変更および記事の削除が伴ってます。そのため、以前の記事がヒットしない場合がありますので、ご迷惑をお掛けいたします。 自己紹介 「araisun.com」は、Toshihiko Araiが個人で運営しているブログサイトです。 日々の気づきや技術的なメモ、ものづくりの記録に加えて、料理や暮らしに関する内容もまとめています。 項目 内容 名前 Toshihiko Arai 出身 静岡県出身。秋生まれ。 ※ 2026年、東京→小田原市へ転居 職業 個人事業主(システムエンジニア) 仕事内容 iOS/Androidアプリ開発、IoT製品開発、電子回路設計、エフェクター製作、Webアプリケーション開発など このブログサイトについて もともとは自分自身の忘備録として始めたブログでしたが、ありがたいことに多くの方に閲覧していただき、参考にしてもらえるようになりました。 お寄せいただくメッセージにも、日々感謝しています。 ブログを通じて、IoTプロトタイプの開発やエフェクター製作のご相談をいただく機会も増え、そのご縁が現在の仕事へとつながっていきました。 当初は想像もしていなかった展開となり、改めて感謝の気持ちを感じています。 技術・電子工作系の記事を軸にしつつ、釣り、自転車、山登り、断捨離、料理といったテーマにも関心が広がっています。 以前はレシピや保存食の記録を「キッチンノート」として別サイトで公開していましたが、現在はこのサイトへ順次統合しています。 今後は、ものづくりの記事に加えて、料理やライフスタイルに関する内容もこのサイト内でまとめていく予定です。 お問い合わせ サイトに関するご質問やお仕事のご相談は、 下記フォームからご連絡ください。 お問い合わせフォーム 関連サイト GitHub@aragig YouTube@aragi YouTube@kitchen-note

公開: 2026年1月31日 · 更新: 2026年3月25日 · Toshihiko Arai
localhostで動くHugoプレビューがcloudflaredとCloudflare Tunnelを通ってHTTPSの外部URLへ公開される構成図

Hugoのローカルプレビューを固定URLで外部共有できるCloudflare Tunnel

Cloudflare Tunnelを使うと、手元のPCやVPSで動いているHugoのローカルプレビューを、ポート開放なしでHTTPSの外部URLとして公開できます。 自分のブラウザだけで確認するならlocalhost:1313で十分ですが、誰かに見てもらうには外からアクセスできるURLが必要です。 開発中に一時的に共有したいだけなら、cloudflared tunnel --urlで十分です。 同じURLを継続して使いたい場合は、Cloudflare管理下の独自ドメインをTunnelへ紐付けます。 この記事では、一時URLで試す最短手順と、preview.example.comのような固定URLにする手順を分けて整理します。 先に結論 Hugoのローカルプレビューを一時的に外部共有したいだけなら、次の2ステップで足ります。 Hugoのローカルサーバーをhttp://localhost:1313で起動する 別ターミナルでcloudflared tunnel --url http://localhost:1313を実行する これでtrycloudflare.comの一時的なHTTPS URLが払い出されます。 確認相手へそのURLを送れば、相手は自分のブラウザからHugoプレビューを見られます。 同じURLを継続して使いたい場合だけ、cloudflared tunnel login、cloudflared tunnel create、config.yml、cloudflared tunnel route dnsへ進みます。固定URL化する場合は、Cloudflareに追加済みのドメインと、Cloudflare側のDNS管理が必要です。 Cloudflare Tunnelでできること Cloudflare Tunnelは、ローカルやprivateなoriginをCloudflareへつなぐための仕組みです。 Hugoのプレビュー用途では、次のような場面で便利です。 公開前の記事やデザインを、固定URLで確認してもらいたい ルーターやVPS側のinboundポートを開けずに、外部から見える確認URLを作りたい 手元のHugoサーバーを、HTTPSでスマホや別のネットワークから確認したい 最初は一時URLで試し、必要になったらpreview.example.comのような固定URLにしたい 逆に、公開サーバーとして恒久運用するなら、Tunnelだけでなく、再起動、ログ、監視、nginx側の設定も別で考える必要があります。VPS上で本番配信する流れは、Ubuntuでnginxを導入して最初の公開設定をする手順 も参考になります。 Cloudflare Tunnelは何をしているのか cloudflaredは、手元のPCやVPS上で動くCloudflare Tunnel用のコネクタです。 外から直接localhost:1313へアクセスするのではなく、cloudflaredがローカル側からCloudflareへoutbound接続を張ります。ブラウザから来たリクエストはCloudflareに入り、Tunnelを通ってcloudflaredへ届き、最後にHugoのローカルサーバーへ流れます。 この形にすると、ローカル側でinboundポートを開けたり、ローカルサーバーのために証明書を直接管理したりしなくても、HTTPSの外部URLを作れます。 インストール macOSならHomebrewでcloudflaredを入れます。 brew install cloudflared 最短で一時URLを発行して試す まずHugoのローカルサーバーを起動します。 hugo server --bind 127.0.0.1 --port 1313 --disableFastRender 別ターミナルで、HugoのローカルサーバーをCloudflare Tunnelへ渡します。 cloudflared tunnel --url http://localhost:1313 実行すると、https://xxxx.trycloudflare.comのような一時URLが表示されます。 このURLは開発・テスト・一時共有向けです。固定URLや継続運用が必要になったら、次のnamed tunnel構成へ進みます。 Hugo以外の開発サーバーでも考え方は同じです。ViteやNext.jsなどでlocalhost:3000やlocalhost:5173を使っている場合は、--urlに渡すポートを自分の開発サーバーに合わせます。 独自ドメインで固定URLにする 一時URLではなく、https://preview.example.com/のような固定URLでHugoプレビューを共有したい場合の手順です。 ドメイン準備 固定URL化するには、対象ドメインをCloudflareに追加し、DNSをCloudflareで管理できる状態にしておきます。 ...

公開: 2026年1月9日 · 更新: 2026年4月28日 · Toshihiko Arai

リモートサーバーへ root ログインしてシェルを実行するまでを半自動化する

サーバーの再起動やミドルウェアの再起動を、 手作業で何度も繰り返す 必要が出てくる場面があります。 1台だけならまだしも、ミラーサーバーや複数台構成になってくると、同じ操作を台数分だけ繰り返すのは現実的ではありません。 作業時間がかかる 操作ミスが起きやすい 精神的にも地味に消耗する この記事が向いているのは、次のようなケースです。 自分が管理している Linux サーバーで、同じ再起動作業を何度も繰り返している root パスワードをスクリプトに埋め込まずに、手元の負担だけ減らしたい nginx の再起動手順を、毎回同じ形で安全寄りに実行したい 逆に、第三者が管理する共有サーバーや、本番で慎重な承認フローが必要な環境では、そのまま流用せず運用ルールに合わせてください。 そこで今回は、 「リモートサーバーに接続し、root 権限で nginx を安全に再起動するまで」 という一連の流れを、できる限り自動化できないかを考えてみました。 先に結論 この方法のポイントは、危険なところだけ人が握り、定型処理だけを機械に任せる ことです。 SSH ログインは手動 su - root のパスワード入力も手動 nginx の停止確認、待機、再起動だけ自動 完全自動化より地味ですが、安全性と省力化のバランスが取りやすい のが利点です。 やりたいことの流れ 今回自動化したい処理は、次のようなステップです。 homepage ユーザーで SSH 接続 (※ パスワード入力が必要) root ユーザーに切り替え (※ パスワード入力が必要) nginx を停止 nginx プロセスが完全に終了するまで待機 nginx を起動 完全な自動化を目指すなら、sshpass や expect を使ってパスワード入力まで含める方法もあります。 しかしそれらは追加ツールの導入が必要で、 パスワードをスクリプトに持たせるリスク も無視できません。 そこで今回は、 SSH と su のパスワード入力だけは手動 それ以外の処理はすべて自動 という、現実的で安全寄りな落としどころを選びました。 多少不格好ではありますが、それでも作業負荷は大幅に減らせます。 実際に作ったシェルスクリプト 以下が今回完成したスクリプトです。 SSH 接続後、su - root のパスワードを手動入力するだけで、nginx の安全な再起動まで一気に実行できます。 ...

公開: 2026年1月9日 · 更新: 2026年4月22日 · Toshihiko Arai

Amazonの領収書のPDF保存をラクにする自作JS

個人事業主・フリーランスの方は、確定申告の時期になりましたね。私はAmazonで購入することが多く、領収書を電子保存しておく必要があります。ところが、これまで使っていたChrome拡張(Amazon領収書一括印刷系)が動かなくなってしまいました。 そこで仕方なく、Amazonの注文履歴から「領収書等」→「印刷可能な注文概要」を開き、黄色の「印刷」ボタンを押してPDF保存……という作業をひたすら繰り返していました。 さらに困るのが、PDF保存時のファイル名がデフォルトで「注文の詳細.pdf」などになってしまう点です。注文番号(例:XXX-XXXXXXX-XXXXXX)をファイル名にしたいので、毎回注文番号をコピーしてファイル名に貼り付けてから保存していました。これが地味に面倒でした。 「注文番号をDOMから拾って、印刷まで自動化できそうだな」と思い、ChatGPTに相談して作ったのが以下のブックマークレットです。 (ブックマークのURL欄に javascript: から始まるコードを貼り付けて実行する、あのやつです。) javascript:(()=>{const old=document.title;const re=/\b(?:\d{3}|[A-Z]\d{2})-\d{7}-\d{7}\b/;const m=document.body&&document.body.innerText&&document.body.innerText.match(re);const id=(m&&m[0])||prompt("注文番号(例: 250-3207065-8648623 / D01-5274236-7074631)");if(!id)return;document.title=id;window.addEventListener("afterprint",()=>{document.title=old},{once:true});window.print();})(); Note ブックマークは「ページを保存する場所」ではなく、実は“自分だけのショートカットキー”にもできます。 URL欄に javascript: を入れるだけで、ページ上の定型作業をワンクリックで実行可能。 拡張機能みたいにストア審査もアップデート追従も不要で、壊れにくいのが強みです。 必要なページでだけ動くので、普段のブラウジングを汚さないのも地味に便利。 小さな自動化を積み上げると、ブラウザが“作業ツール”に変わります。 使い方 Chromeのブックマークに「新しいブックマーク」を追加します ※図① 名前は適当に付けて、URL欄に上のコードをそのまま貼り付けます Amazonの領収書(印刷可能な注文概要)ページを開いた状態で、そのブックマークを実行します 印刷画面が開くので「PDFとして保存」を選ぶと、ファイル名に注文番号が入った状態になっているはずです ※図② これなら、手作業で1年分の領収書を保存する場合でも、そこまで苦にならないと思います。 参考になればうれしいです。 追記:注文日も拾って YYYYMMDD_注文番号 で保存する PDFのファイル名を注文番号だけでなく、注文日も付けて 20251231_503-1737382-0797449 のようにすると、Finderでソートしやすく後から探すのがさらにラクになります。 印刷ページ内の「注文日 2025年12月31日」をパースして、ファイル名の先頭に付ける版はこちらです。 javascript:(()=>{const old=document.title;const orderRe=/\b(?:\d{3}|[A-Z]\d{2})-\d{7}-\d{7}\b/;const dateNearRe=/注文日[\s\S]{0,80}?(\d{4})年(\d{1,2})月(\d{1,2})日/;const dateRe=/(\d{4})年(\d{1,2})月(\d{1,2})日/;const t=document.body&&document.body.innerText||"";const om=t.match(orderRe);const dm=t.match(dateNearRe)||t.match(dateRe);const orderId=om?.[0]||prompt("注文番号(例: 250-3207065-8648623 / D01-5274236-7074631)");if(!orderId)return;const y=dm?.[1],m=dm?.[2],d=dm?.[3];const pad=n=>String(n).padStart(2,"0");const prefix=(y&&m&&d)?`${y}${pad(m)}${pad(d)}_`:"";document.title=`${prefix}${orderId}`;window.addEventListener("afterprint",()=>{document.title=old},{once:true});window.print();})(); これで、保存ダイアログを開いた時点でファイル名が YYYYMMDD_注文番号 になっているはずです。注文日が見つからないページでも、注文番号だけで動くようにしてあります。 ちなみに上のコードを整形すると次のようになります。 javascript:(() => { const old = document.title; const orderRe = /\b(?:\d{3}|[A-Z]\d{2})-\d{7}-\d{7}\b/; const dateNearRe = /注文日[\s\S]{0,80}?(\d{4})年(\d{1,2})月(\d{1,2})日/; const dateRe = /(\d{4})年(\d{1,2})月(\d{1,2})日/; const t = document.body && document.body.innerText || ""; const om = t.match(orderRe); const dm = t.match(dateNearRe) || t.match(dateRe); const orderId = om?.[0] || prompt("注文番号(例: 250-3207065-8648623 / D01-5274236-7074631)"); if (!orderId) return; const y = dm?.[1], m = dm?.[2], d = dm?.[3]; const pad = n => String(n).padStart(2, "0"); const prefix = (y && m && d) ? `${y}${pad(m)}${pad(d)}_` : ""; document.title = `${prefix}${orderId}`; window.addEventListener("afterprint", () => { document.title = old }, {once: true}); window.print(); })(); 注意点 Amazon側のページ構成やリンク文言(「領収書」「領収書等」など)は変更されることがあります。ブックマークレットが動かなくなったら、まず実際のページ表記を確認してください。 一度に大量の注文を処理するとタブやダイアログが増えるので、数件ずつ実行するのが安全です。 関連記事 C++でOpenCVをはじめる|撮影したレシートを自動でトリミング … 紙のレシートを撮影して自動でトリミング・補正する画像処理の例 バニラJSのモダンな書き方・チートシート … ブックマークレットを書くときのJavaScript逆引きに Cloudflare Workerでサーバーレスな受付口を作る … 静的サイトに小さな処理を足したいとき 関連商品をAmazonで探す 確定申告ソフトをAmazonで探す ドキュメントスキャナーをAmazonで探す JavaScript入門書をAmazonで探す

公開: 2026年1月6日 · 更新: 2026年5月30日 · Toshihiko Arai

Webプッシュについて調査忘備録

Web Push API を使うと、ブラウザを開いていないユーザーにも通知を届けられます。仕事で実装する機会があり、調べた内容を忘備録としてまとめておきます。Service Worker・VAPID・Push サービスの 3 つが連携する仕組みを理解すれば、あとはライブラリが面倒な暗号化処理を代わりにやってくれます。サーバーサイドの実装は PHP(minishlink/web-push)で試す手順を紹介します。 Webプッシュのざっくり概要 Web プッシュは、ブラウザと OS の通知機能を使って「ブラウザを開いていなくても」通知を届ける仕組みです。 ユーザーがブラウザで「通知を許可」する ブラウザが Push サービス(FCM / APNs など)とやり取りして 購読情報(Subscription) を発行 サーバー側は、その購読情報(endpoint / p256dh / auth)を DB に保存 通知を送りたいときは、サーバーアプリケーションで Push サービスへリクエストを投げる Push サービス → OS の通知チャネル → Service Worker → 通知表示 という流れになります。 Service Worker が Web Push API の橋渡しを担います。Service Worker は JS で実装されたプログラムで、ブラウザにインストールされ、メインスレッドとは別スレッドで動作します。また、Service Worker を登録するページおよび Service Worker スクリプトは HTTPS で配信されている必要がある点に注意してください(ただし localhost は例外的に http でも動作します)。 もう少し詳しく もう少し詳しく説明すると、Web プッシュでは購読された時点でブラウザ側で一意のエンドポイントが発行されます。 このエンドポイントはブラウザベンダーごとに異なり、Google Chrome なら FCM(https://fcm.googleapis.com/...)、Safari / iOS なら APNs 経由のエンドポイントという形になります。 ...

公開: 2025年11月30日 · 更新: 2026年5月23日 · Toshihiko Arai