メール通知対応 Let’s Encrypt certificate expiration notice for domain

 

2021-09-13 12:21:27

Another instance of Certbot is already running.と言うエラーに対応

sudo kill -9 5008

とかで削除。

/usr/bin/certbot renew

を再度実行したが、

The following certificates are not due for renewal yet:

との事で、既に更新されていたようでした。

 

 

 

2021-09-12 22:07:06 virtualbox内のサーバーにアクセスするときはホストマシン(win10)から直接接続状態で。

 

virtualbox内のサーバーにアクセスするときはホストマシン(win10)から直接接続状態で。

モバイルポイントでもなんでもいいけどそういう設定になっています。

でないとnetshとかでマスカレードしようとしてもWin10マシン(ホスト)に直接アクセスしてくれない環境でした。

つまり、モバイル用途ということです。

ってことは、ドメイン⇒ローカルでの設定をし直す必要があるかもしれないですね。

リバースプロキシ。ですけどね。これがLinuxマシン側から見えない。

ここら辺は設定見直す必要アリです。

 

スマホからのテザリング、パーソナルホットスポットではスマホからのポートマッピング設定をしているわけではなかったのでViretualbox内のサーバーに到達できない状態でした。

 

 

期限を過ぎてしまったようですが。すんなり更新できるのかな??

Your certificate (or certificates) for the names listed below will expire in 0 days (on 12 Sep 21 03:05 +0000). Please make sure to renew your certificate before then, or visitors to your web site will encounter errors.

 

————————-

自動更新される設定のはずが、更新されていない用でした。

Let’s Encrypt certificate expiration notice for domain

先ず、ポート開放チェック

ポート:80

にアクセスできました

アクセス可能を確認。

ポート:443

にアクセスできました

とりあえず更新スクリプトを手動実行

/usr/bin/certbot-auto renew


bash ./renewcert.sh

letsencript renew start

Your system is not supported by certbot-auto anymore.

certbot-auto and its Certbot installation will no longer receive updates.

You will not receive any bug fixes including those fixing server compatibility

or security problems.

Please visit https://certbot.eff.org/ to check for other alternatives.


certbot-auto and its Certbot installation will no longer receive updates.

という事なので、アップデートしなければならない用でしあ。

オフィシャルの説明

日本語で参考にしたところ

2021年の記事で、今起こっている現象とあっているのかなと。

参考説明2つ目。

新バージョンになるようです。

Cronの設定をしなくても証明書を自動更新してくれる?

 

snapdをインストールしないといけなくなったようです。




sudo apt install -y snapd


systemctl enable --now snapd.socket

ln -s /var/lib/snapd/snap /snap

snap install --classic certbot



2021-06-14T11:49:46+09:00 INFO Waiting for automatic snapd restart...
certbot 1.16.0 from Certbot Project (certbot-eff✓) installed



sudo ln -s /snap/bin/certbot /usr/bin/certbot


sudo certbot --apache


 

自動更新設定

@weekly /usr/bin/certbot renew >> /var/log/letsencrypt-renew.log

となっていたので、

私の環境のCronに追加

/usr/bin/certbot renew >> /var/log/letsencrypt-renew.log 2>&1

 

 

 

 

Speedify mobilepoint マクドナルド テザリング OPPO A5 2020 同時接続 有線 無料枠 自動切断

 

マックのモバイルポイントがたまにものすごく遅いので、Speedifyを使ってCellular接続と同時利用します。

フリープランで5GBまで使えます。

2回線合わせても相当に遅いですが、補い合ってまともにつないでくれているようです。

とはいえ、1つ途切れてももう一つが起きなって接続を維持してくれるのが大きい所。

結構紺プログラム自体が重いので微妙なところではありますが。

5GB制約は常時繋いだら結構きつそうです。

とはいえ、とりあえず何とかこの範囲で使っていく予定です。

何度か勝手に残り容量を全部使ってしまっていたので、対策したいと思います。

とりあえず自動では接続しない設定になっています。

ちなみに、有料プランの場合、3年で180ドル。
安いのか高いのかよくわからんですね。

2022-02-17 コマンドから終了したほうがいいかと考えました

 

要は管理者権限で以下を実行で終了してくれると思われます。

taskkill /IM Speedify.exe /F

要は、月5GBの無料枠をいつの間にか使い切ってしまうようなので何とかしないといけないです。

これと時期同時に接続設定をオフにすることで上手く使っていけそうな気がします。

 

2022-02-23 設定内容。

 

とりあえず起動時に接続はしない設定にしたときのメモです。

タスクスケジューラーで自動停止プログラムの起動を制御します。

最上位権限で実行にしています。

毎日22時にスクリプトを実行します。

スクリプトでSpeedifyを停止していますので。毎日自動で停止してくれるようにします。

終了プログラム。Speedify_Close.batを実行

 

Speedify_Close.batの中身。

コントロールは管理者権限で実行するようにしています。

Speedifyが起動されている時だけTaskkillします。


@echo off
REM 参考 タスクスケジューラ https://www.teamxeppet.com/windows-taskschd/
rem 参考にした元ソース https://lab.tricorn.co.jp/uzuki/4557
rem 再起動させたいアプリケーションの実行ファイル名とそのパスを変数に代入
set APP_FOLDER=D:\Program\Speedify_Start\
set EXEBAT=Speedify_Control.bat
set APP_NAME=Speedify.exe

echo Speedify check Start
rem 対象のアプリケーションが起動しているかどうかを、tasklist コマンドと 
rem for 文の組み合わせで判定。tasklist コマンドの結果のうち、
rem /f オプションにより先頭の文字列 (空白またはタブ等の区切り文字まで) 
rem のみを取得し、%%i に代入
for /f %%i in ('tasklist /fi "IMAGENAME eq %APP_NAME%" 2^>^&1') do (
    rem 先頭の文字列がアプリケーション名と等しければ一つ以上のプロセスが
    rem 実行中であり、アプリケーションが起動していると見なせるため、
    rem taskkill で停止処理を実施
    rem (一致がなければアプリケーションは停止していると見なし何もしない)。
    if /i %%i==%APP_NAME% (
        rem taskkill でアプリケーション名を対象にして複数のプロセスを一度に停止
rem         taskkill /im %APP_NAME% /f
        powershell start-process %APP_FOLDER%%EXEBAT% -verb runas
        rem アプリケーション停止後、breakなんて気の利いた機能はないので 
        rem goto でループから抜ける。
        goto ENDLOOP;
    )
)
:ENDLOOP

rem 再起動させたいアプリケーションを起動
rem start " " "%APP_FOLDER%%APP_NAME%


Speedify_Control.bat


@echo off
echo tasklkill
taskkill /IM Speedify.exe /F

pause

 

多分これで上手くいくんじゃないかと。

 

2022-02-28 2つ束ねても微妙な速度。だけどほかの対応は今の所かないかな。

 

 

 

GoogleSheetスプレッドシート 暗号化でなく自動で10分でログアウト GAS  セキュリティ 対応メモ

基本はアカウントの権限で制限するのですが、それだけではログインしたまま放置されたパソコンなどに対応できないため。

作業前にバックアップを。ダウンロード、エクセル形式。これを暗号化してGoogleドラム部に保存して何かあった時に戻せるようにしておきます。

参考はこちら。

多分エクセルなら何とでも暗号化できるはず。

Googleドライブにアップロード完了。

勿論ファイルの共有は無しで。

暗号化の

これは一応試してみましたが、結構微妙。

暗号化も変更履歴になってしまうのですね。日本非対応となっていたし、もしかしてメモは暗号化してくれないかもしれません。

とりあえずモバイルPCでは指紋認証が無いとGoogleにログインできないようにしようかと。

自動ログアウト

では、一定時間でGoogleからログアウトしてしまえばいいのではなかろうか?

特定スプレッドシートを開いている間や、GASで指定してログアウトすればいいかもしれない。

二段階認証をONに。

しかし、このデバイスでは次回から表示しないがデフォルトでチェックが付いているのを外す必要がありそう。

Chromeでパスワードを保存しない。Googleのオートコンプリートを削除。

これでとりあえずパスワードを入力する必要がある状態になりました。

少なくともモバイルPCでは必須なのではなかろうかと。今更ながら

 

Firefoxでも同様の設定にしておく必要がある。

 

完了。

あと、二段階認証をオフにしてはいけない。これ何とか自動でチェックをつかなくする方法あるのかな?

とりあえず条件によっては自動ログアウトするスクリプトを作るかなと。

参考、これでとりあえずリダイレクトはできた。



function Logout_from_Google(){
  var url = "https://accounts.google.com/Logout";
  var script = "";
  var html = HtmlService.createHtmlOutput(script);
  SpreadsheetApp.getUi().showModalDialog(html, 'Open ' + url);

};

 

後は無操作時間によってこのスクリプトが作動するようにしたい。

現在時刻取得、参考


function GetTimeNow(){
  var now = new Date();
  date = Utilities.formatDate(now, "Asia/Tokyo", "yyyy/MM/dd hh:mm:ss");
  Logger.log(date);
}

 

と言うか更新日時を保存、参考


function drawLastUpdateString() {
  //var sheet = SpreadsheetApp.getActiveSheet();
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('口座');
  var cell = sheet.getRange('J2');
  var date = new Date();
  var string = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss');
  Logger.log(string);
  cell.setValue(string);
}

実行する関数:drawLastUpdateString
実行するデプロイ:Head
イベントのソース:スプレッドシートから
イベントの種類:編集時
エラー通知設定:毎日

とおもったんだけど、どうもシートにnowを設定すれば編集したときに更新されてるっぽい

=now()

Days.jsを使う事にしました。解説参考



function Judge_Logout(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('口座');
  var cell = sheet.getRange('I2');
  var msgcell = sheet.getRange('J2');

  var value = cell.getValue();
  value = Utilities.formatDate(value, "Asia/Tokyo", "yyyy/MM/dd HH:mm:ss");
 // var value = '2022/03/03 17:27:12';
  Logger.log(value);
  //var nowtime = GetTimeNow();
  //Logger.log(nowtime);
  //var termDay = (nowtime - value) / 86400000;
  //Logger.log(termDay);
  dayjs.dayjs.locale('ja');
  const d1 = dayjs.dayjs();
  //Logger.log(d1);
  Logger.log(d1.format('YYYY/MM/DD HH:mm:ss'));

  var diff_m = d1.diff(value, 'm', false , true); 
  console.log(diff_m);
  msgcell.setValue('無操作時間='+diff_m); 
  if(diff_m > 10){
    msgcell.setValue('ログアウトします');
    Logout_from_Google();
  }

}

時限式トリガー

いや、ダメだこれ。スクリプトから更新された場合も更新時刻が変更されて無操作時間が0分のままになっているようです。

よって、やはりこちらを使ってみます。

drawLastUpdateString



function drawLastUpdateString() {
  //var sheet = SpreadsheetApp.getActiveSheet();
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('口座');
  var cell = sheet.getRange('I2');
  var date = new Date();
  var string = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss');
  Logger.log(string);
  cell.setValue(string);
}