tor 経由で ssh でアクセス
tor はブラウザだけじゃなくて socks5 を設定することで ssh も使える
Tor Project | Downloadから「Download Tor Source Code」のリンクをクリックして、「Windows Expert Bundle」からファイルをダウンロードする。
ダウンロードしたzipファイルを適当なフォルダに展開する。自分は「C:\temp\torsocks」展開した。
コマンドプロンプトを管理者権限で開いて、以下のコマンドを実行
.\tor.exe --service install
「サービス」を見ると、「Tor Win32 Service」が登録されて、実行になっているはず。
Teratermの「プロキシ」で「type:SOCKS5」、「Hostname:localhost」、「Port number:9050」で、「URL」に「socks://localhost:9050」と設定される。
あとはふつうに Teraterm から ssh アクセスすれば、Tor 経由の ssh アクセスになるので、身元を追うことは基本的に不可能になる。
# サービスのインストール tor.exe --service install # torrc ファイルを作成してサービス登録時に読み込みする tor.exe --service insatll --options -f "c:\temp\torsocks\tor\torrc" # サービスの削除 tor.exe --service remove
2021年暮れの CentOS6.6アップグレード作業
今更ながら CentOS 6.6 のアップグレード。すでに CentOS 6 系のサポートは 2020年11月30日でサポートが終了しているが、なんか手元に残っていたのでアップグレードをしてみた。
[root@hoge ~]# yum check-update 読み込んだプラグイン:fastestmirror, security Determining fastest mirrors YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/ removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt エラー: Cannot find a valid baseurl for repo: base
当然のことながらできない。
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
mirrorlist をコメントアウトして、baseurl のコメントを外して、http://mirror.centos.org を https://vault.centos.org/ に変更する。
とりあえず、CentOS-Base.repo の base と updates 以外の項目は enable=0 にして無効にする。
[root@hoge yum.repos.d]# yum check-update 読み込んだプラグイン:fastestmirror, security Determining fastest mirrors * rpmforge: mirrors.netix.net https://vault.centos.org/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] problem making ssl connection
SSLでエラーがでる。証明書が古いので証明書を更新する。
適当なディレクトリに移動して、証明書をダウンロードして rpm でインストール。
[root@hgoe src]# wget --no-check-certificate https://vault.centos.org/6.10/updates/x86_64/Packages/ca-certificates-2020.2.41-65.1.el6_10.noarch.rpm [root@hoge src]# rpm -Uhv ca-certificates-2020.2.41-65.1.el6_10.noarch.rpm
他に P11-kit や nss、Openssl などのパッケージが必要になるかもしれないので必要に応じて vault あたりからダウンロードして、rpm でインストールする。
[root@hoge yum.repos.d]# yum check-update 読み込んだプラグイン:fastestmirror Determining fastest mirrors base | 3.7 kB 00:00 base/primary_db | 4.7 MB 00:03
エラーが出なくなったので、アップグレードを行う。
[root@hoge yum.repos.d]# yum update -y reboot
[root@hoge ~]# cat /etc/redhat-release CentOS release 6.10 (Final)
6.10 にアップグレードされた。
ハイレゾ音源について
ハイレゾ音源とその再生についていろいろ調べた。目的はPC環境での再生について。
ハイレゾ音源とは
基本的にCD(16bit、44.1MHz)以上のビットレートの音源がハイレゾ音源になる。特に量子化ビット数は24bit以上が求められる。
フォーマットとして、WAVE、MP3、AAC、FLACなどがある。
非圧縮のWAVE、AIFF、可逆圧縮のFLAC、ALAC、非可逆圧縮のMQA、MP3、Ogg、AAC、
ハイレゾ音源で使用されることが多いのは FLAC だが、最近は MQA が使用されることも多い。
MQAは既存のCDなどでCD音質で聞くことができるが、対応機ならハイレゾで聞くことができるという特徴がある。MQA のほうが圧縮率が高いが非可逆で技術がクローズドなため、技術がオープンで可逆圧縮なFLACに対して長期で見た場合継続に疑問点が付く。
参考:https://rideonmarin.blogspot.com/2018/04/mqa-part15.html
MQAの対応には「MQAフルデコーダー」と「MQAレンダラー」があり、MQAレンダラーのみではMQAのデコードができず、「MQAコアデコーダー」と組み合わせて再生する。MQAレンダラーは対応のDACなどに、MQAコアデコーダーなどはPC上の再生ソフトなどに搭載される。MQAフルデコーダーは据え置きの再生機などに。
PCMとDSD
PCMはアナログ音声を波の高さで記録する、一般的にPCで使用される方式、DSDはアナログ音声を波の密度で記録するハイレゾ音源で使用されることが増えている形式。
PCMは編集可能だが、DSDは編集が難しく、一発どりや最後のマスタリングで使用されることが多い。またDSDは再生にそれ用のアプリと機器が必要になり、USBを通してデータを送ることができないのでPCMデータに偽装したDoP(DSD over PCM)という形式がある。DoPも送信元、送信先ともに対応している必要がある。
DSDのほうがアナログ感があるらしい。
配信サービスについて
ハイレゾ音源のストリーミングと、ダウンロード可能なところとがある。
ストリーミング:TIDAL、Qobuz、Spotify、DEEZER、PrimeSeat、AppleMusic、
ダウンロード:e-onkyo music、mora、OTOTOY、Amazon Music HD
参考:http://www.alphapex.co.jp/deliver.html
再生環境について
再生ソフトウェア
デコーダーにライセンス料がかかるためMQA対応のフリーソフトはない。
MQA対応:Audirvana、Room など、MQSを FLAC コンテナにして再生することもできるがMQAとして再生するためにはMQAフルデコーダーのDACに出力する必要がある。正常にMQAで再生できればDACのMQAインジゲーターが光る。
FLAC:VOX、foobar2000、Amarra、HQ Player、MediaMonkey、Flacはオープンフォーマットだけあって再生対応アプリは多い。
iTunesから移行できそうなのは、MediaMonky、MusicBee などか
エンコーダー
FLACは公式版 https://ftp.osuosl.org/pub/xiph/releases/flac/、foobar2000、fre:ac、Exact Audio Copy
MQAのエンコーダーは一般にはなさそう
[TASK]CDデータの取り込みDBについて調査する
ハードウェア
ハイレゾはデジタルデータの問題でDACでアナログになった音声を出力するスピーカー、ヘッドフォンはそれなりのものであればハイレゾ対応でなくても問題はない。ハイレゾ対応であればより良い音が出るのはたしかだが、そこまでこだわる前にそれぞれのヘッドフォンやスピーカーの音の個性が好きかどうかを気にしたほうがいい。
ハイレゾ対応のポータブル再生機にはヘッドフォンの接続でバランス接続、アンバランス接続がある。アンバランスはRLでグランドが共通、アンバランスはRLでグランドが独立している。 アンバランスは既存の3.5mmジャック、バランス接続は4接点の2.5mm、5接点の4.4mmのジャック形状がある。
Bluetooth でハイレゾを再生機に送るなら、Bluetooth 5.0 以上で、aptX HD、AptX Adaptive、LDAC、HWA に対応している必要がある。
Windows 10のアップデートを止める方法
Windows10が自動的にアップデートするのを止めるには、サービスと、グループポリシーを設定する。
環境は Windows 10 Pro 1909で確認。
サービスの停止
[エクスプローラー]から[PC] を右クリくして[管理]をクリック。
[コンピュータの管理]ウィドウが開いたら、[サービスとアプリケーション]にある[サービス]から[Windows Update]を[停止]にする。
グループポリシーの修正
[ファイル名を指定して実行]から[gpedit.msc]を実行する。
[ローカルコンピュータポリシー]の[コンピュータの構成]→[管理用テンプレート]→[Windows コンポーネント]→[Windows Update]にある[自動更新を構成する]を[無効]にする。
以上
AWS Linux 2 に emacs を設定

AWS Linux 2 に emacs を設定する作業の記録
AMI から Amazon Linux 2 を立ち上げて、yum upgrade で更新しておく。
標準状態では emacs 25 が yum に用意されている。
[ec2-user@awstest ~]$ yum list |grep emacs yum list |grep emacs emacs.x86_64 1:25.3-3.amzn2.0.1 @amzn2-core emacs-common.x86_64 1:25.3-3.amzn2.0.1 @amzn2-core
emacs 25 ではセキュリティ証明書が古く、emacs package が使用できず、package-list-package を実行するとエラーが表示される
Failed to verify signature archive-contents.sig: No public key for 066DAFCB81E42C40 created at 2020-08-27T21:05:02+0000 using RSA Command output: gpg: Signature made Thu 27 Aug 2020 09:05:02 PM UTC using RSA key ID 81E42C40 gpg: Can't check signature: No public key
emacs 26 に更新しても上記の問題は解決できるが、emacs 25 での解決方法は以下の通り。
.emacs.d/init.el に package-check-signature を nil に設定して、elpa などのリポジトリを追加する
(setq package-check-signature nil) (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) (add-to-list 'package-archives '("ELPA" . "https://tromey.com/elpa/") t) (package-initialize)
init.el を変更したら、M-x load-file で .emacs.d/init.el を読み直して、M-x package-list-package を実行する。
追加したリポジトリのパッケージ一覧が表示されるので、gnu-elpa-keyring-update をインストールする。
今後は gnu-elpa-keyring-update が自動的に keyring を更新してくれるので、(setq package-check-signature nil) は削除してよい。
WSL2の設定
Windows 10 2004 以降なら WSL2 が使用できる。WSL2 は完全な Linux カーネルを使用しているので、Windows 10 + WSL2 + Docker とかいう運用も可能になる。
インストール
PowerShell を管理者モードで開き、
Windows Subsystem for Linux のインストール
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
"仮想マシン プラットフォーム" のオプション コンポーネントを有効にする
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
ここで再起動して、WSL を有効にする
WSL2 にするにはカーネルコンポーネントの更新が必要になるので、https://aka.ms/wsl2kernel から Linux カーネル更新プログラム パッケージを入手してインストールする。
インストールしただけでは WSL のバージョンが 1 になっているので、2 に変更する
PS C:\Users\user> wsl --set-default-version 2 WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
Microsoft Store で [Linux] で検索するとインストールできるディストリビューションが表示されるので好きなのをインストールする。
自分はちょっと前後になってしまって、WSL1 の環境に Ubuntu をいれてしまったので、WSL 2 への変更をする
PS C:\Users\user> wsl --list -v NAME STATE VERSIONインストールできれば起動できるようになっているので起動する。Ubuntu Stopped 1
PS C:\Users\user> wsl --set-version Ubuntu 2 変換中です。この処理には数分かかることがあります... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください 変換が完了しました。スタートメニューにも追加されているのでそちらからでも可能 初回起動時にはLinux管渠のユーザ名とパスワードの設定が求められる。これは Windows とは別のアカウントで、ここで設定するユーザが管理者アカウントとなり、sudo コマンドなどが使用できる。
かんたんに Windows で Linux 環境がつくれる。
Windows Terminal で SSH
Windows Terminal のインストール
Windows Terminal がバージョン1になりまして、めでたいという事で Windows Terminal でSSHができるように設定してみた。
Windows Terminal は Microsoft Store アプリからインストール可能で、「Windows Terminal」で検索すればすぐに出てくるのでインストールすればインストール完了。
Windows Terminal の設定は JSON-Schema で記述するようになっていて、設定は CTRL+, もしくはタブの右にある「V」から[設定]」を開くと JSON が関連付けれているアプリから起動する。
OpenSSH のインストール
Windows 10 1809 以降であれば標準機能として OpenSSH がインストールできる。
[設定]から[アプリ] > [アプリと機能] > [オプション機能の管理] の順にたどり、[機能の追加]を追加をクリックして、[オプション機能を追加する]で「ssh」で検索すると、[OpenSSHクライアント]と[OpenSSHサーバ]が見つかるので、[OpenSSHクライアント]にチェックをつけて[インストール]をクリックでインストールされる。
PowerShell経由でインストールするには PowerShell を管理者権限で開いて、
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
として OpenSSH 検索をすると
Name : OpenSSH.Client~~~~0.0.1.0 State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0 State : NotPresent
インストール可能な OpenSSH が表示されるので、
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
でインストールする。
OpenSSH のユーザ設定ファイルは %HOMEPATH%\.ssh に保存されるので、config ファイルなどを設定しておくと便利
ssh の話 - 日々雑文
もちろん OpenSSH クライアントをインストールしたあとなら、ssh-keygen コマンドなんかも使える。
Windows Terminal の設定
Windows Terminal の設定は先にも書いたように JSON ファイルを使用して編集する。
初期状態でいくつか設定があり、list 以下に Windows Terminal で開くシェルの設定がある。
{ // Make changes here to the powershell.exe profile. "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "name": "Windows PowerShell", "commandline": "powershell.exe", "hidden": false },
最初から含まれている上記の部分をコピーして新しい項目を作成していく
{ "guid": "{67f16340-40c4-445d-b148-a0da636de5c4}", "name": "examplessh", "commandline": "ssh.exe user@example.com", "hidden": false, "fontFace": "Cascadia code", // "fontSize": 10 "snapOnInput": true, // 入力時に入力位置までスクロール "scrollbarState": "visible", // スクロールバーの表示 "historySize": 10000, // 履歴サイズ "useAcrylic": true, // アクリル背景の設定 "acrylicOpacity": 1, // 背景の透明度 // backgroundImageAlignment // "center"、"left"、"top"、"right"、"bottom"、"topLeft"、"topRight"、"bottomLeft"、"bottomRight" // "backgroundImageAlignment": "top", // 表示する画像の基準値 "backgroundImageOpacity": 0.3 // 背景の不透明度 //"backgroundImage": "C:\\Users\\user\\image\\image.jpg" }
guid は PowerShell で
PS C:\Users\user> New-Guid
として取得することができる。
commandline で ssh.exe を指定して、接続するユーザ名、サーバを指定しておく。このときに .ssh/id_rsa とかを設定しておくとパスワードなしでサーバにログインすることができる。
でここまで設定しておいてなんだが、Windows Terminal ではまだクリッカブルURLに対応していない。 github では issue として議論されているのでいずれは実装されると思うのだが、自分はターミナルでメールを読んでいるのでこの機能がないと使うメリットが半減してしまう。せめて選択して右クリックメニューで[URLを開く]などがあればいいのだが。
Windows Terminal の設定一覧は以下参照
Windows Terminal Global Settings | Microsoft Docs
余談:
Windows Terminal には倒伏フォントとして、Cascadia code が追加されていて、プログラミング用の合字フォントが含まれている。!= を ≠ にしたり、<-- を ← にしたりしてくれるんだけど、違和感ひどすぎてちょっとこれでコーディングしようという気には今はならない。 もしかしたら将来的には標準になるのかもしれないけど...
Windows ターミナル Cascadia Code | Microsoft Docs