commit fd99d504385cddaeb7cc790a280c5f26a927c883
parent 76a983e8e0da7ff3837327736ee5a6c633ad13ff
Author: minerva-jupiter <ryouturn@gmail.com>
Date: Sat, 7 Feb 2026 13:52:32 +0900
feat: Add Bitwarden import conversion tools and Gentoo setup notes
Diffstat:
4 files changed, 227 insertions(+), 0 deletions(-)
diff --git a/bitwarden_import.csv b/bitwarden_import.csv
@@ -0,0 +1,32 @@
+folder,favorite,type,name,notes,fields,login_uri,login_username,login_password,login_totp
+Main,0,login,google,,,,rentakami3,ZbbXNrbJofnx,
+Main,0,login,Wechat,,,,adam edward,goa77a1a,
+Main,0,login,atCode,,,,minerva_juppiter,:rDs9DI9r+BB,
+Main,0,login,nginx01,,,,root,"BFy;+)18F,Sg",
+Main,0,login,wiki01.minervajuppiter.net,,,,arona,`7W$>lm>0,
+Main,0,login,moodle01.minervajuppiter.net,,,,admin,xJb:X5V=qfiw@~T,
+Main,0,login,softether console,,,,admin,(bMMlc`xQieL,
+Main,0,login,choicehotel-jp,,,,choicehotels-jp@minercajuppiter.net,odTYX7513gQJ,
+Main,0,login,izmoodle,,,,ichika.izmoodle@,"Q'K!""]j:a~b3",
+Main,0,login,phare,,,,ryota.hayashi.2024@,M9p^l>;+>g%3,
+Main,0,login,ana,,,,ana@shopping 4442978784,E4AsKUR3KLeZfPnJ AMCは0206,
+Main,0,login,jal,,,,jal@shopping 411905988,"]bUen#:@m2[fv#:qCeVK$fl8ehorKO,)",
+Main,0,login,nikkei,,,,ryouturn,43piXE6@pY32,
+Main,0,login,textile-net,,,,textile.net@minervajuppiter.net,FSVZ0g3igiTTzvg1,
+Main,0,login,circle.ms,,,,circle.ms@minervajuppiter.net,r_mPL~Y3pYC8,
+Main,0,login,イシバシ楽器,,,,ryouturn@,lpv1k3995xVu,
+Main,0,login,meta,,,,meta@shipping.mi,JF5F)Y[/kM(E,
+Main,0,login,三協ファスナー,,,,globalstandard.sankyofasuna@shopping.minervajuppiter.net,2MJye?j:Ue6I,
+Main,0,login,misumi(メビー),,,,misumi@shopping.minervajuppiter.net,X%~Dh*H00r0v,
+Main,0,login,trimpark-shimada,,,,trimpark-shimada@shopping.minervajuppiter.net,n8*`!Rc2U<XT,
+Main,0,login,wondershare,,,,wondershare@shopping.,hreWM8av-fZ@,
+Main,0,login,kosokubus.com,,,,kosokubus@shopping.,"!*_jd""s6e~)&q34-kx(X",
+Main,0,login,twitter,,,,bite_sour_sweet,D5X>e<l)@oUK,
+Main,0,login,twitter,,,,FumiOtomac88060,"vQ+,ls%).ROA",
+Main,0,login,ndl,,,,ndl@(E14423503),1n7mw@5BE\Zr,
+Main,0,login,stylefabrics,,,,stylefabrics@shipping.minervajuppiter.net,$3:_;I0dwe#e,
+Main,0,login,playit.gg,,,,playitgg@shopping.minervajuppiter.net,^54&ik{REgVx,
+Main,0,login,radiko,,,,radiko@shopping,"YoR~""NYq/:*?",
+Main,0,login,oshikoi.io,,,,oshikoi@shopping.minervajuppiter.net,"8a<]Z[BPE`f?,VF""eu@}Ikn3.wb]90wl",
+Main,0,login,blueSky,,,,bsky@shimane-u.minervajuppiter.net,"\%h&n#:A=sE""&ag&E32DzhZ%t>Z'<K9J",
+Main,0,login,twitter,,,,guest2305,"e?O=p!^#F!v!B#p""#X&4p%+WNg>\gCS=",
diff --git a/excel2bitwarden.py b/excel2bitwarden.py
@@ -0,0 +1,30 @@
+import pandas as pd
+
+
+def convert_to_bitwarden_csv(input_file, output_file):
+ if input_file.endswith(".xlsx"):
+ df = pd.read_excel(input_file)
+ elif input_file.endswith(".md"):
+ df = pd.read_table(input_file, sep="|").iloc[1:]
+ df = df.dropna(axis=1, how="all").map(
+ lambda x: x.strip() if isinstance(x, str) else x
+ )
+ df.columns = [col.strip() for col in df.columns]
+
+ bw_df = pd.DataFrame()
+ bw_df["folder"] = None
+ bw_df["favorite"] = 0
+ bw_df["type"] = "login"
+ bw_df["name"] = df["サービス名"]
+ bw_df["notes"] = None
+ bw_df["fields"] = None
+ bw_df["login_uri"] = None
+ bw_df["login_username"] = df["アカウント名"]
+ bw_df["login_password"] = df["パスワード"]
+ bw_df["login_totp"] = None
+
+ bw_df.to_csv(output_file, index=False, encoding="utf-8")
+
+
+if __name__ == "__main__":
+ convert_to_bitwarden_csv(r"password.xlsx", "bitwarden_import.csv")
diff --git a/gentoo20260129.md b/gentoo20260129.md
@@ -0,0 +1,99 @@
+
+ 1 source /etc/profile
+ 2 export PS1="(chroot) ${PS1}"
+ 3 ls
+ 4 mount /dev/nvme0n1p1 /efi
+ 5 emerge-webrsync
+ 6 emerge --ask --verbose --oneshot app-portage/mirrorselect
+ 7 mirrorselect -i -o >> /etc/portage/make.conf
+ 8 emerge --sync --quiet
+ 9 getuto
+ 10 echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
+ 11 emerge --ask --oneshot app-portage/cpuid2cpuflags
+ 12 echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
+ 13 nano /etc/portage/package.use/00video_cards
+ 14 nano /etc/portage/make.conf
+ 15 emerge --ask --verbose --update --deep --changed-use @world
+ 16 ls
+ 17 findmnt
+ 18 emerge --ask --pretend --depclean
+ 19 emerge --ask --depclean
+ 20 emerge --ask sys-kernel/linux-firmware
+ 21 nano /etc/portage/package.use/installkernel
+ 22 nano /etc/portage/package.use/installkernel
+ 23 nano /etc/portage/package.use/installkernel
+ 24 emerge --ask sys-kernel/installkernel
+ 25 emerge --ask sys-kernel/gentoo-sources
+ 26 emerge --ask app-eselect/eselect-repository dev-vcs/git
+ 27 eselect repository remove -f gentoo
+ 28 rm -r /var/db/repos/gentoo
+ 29 eselect repository add gentoo git https://github.com/gentoo-mirror/gentoo.git
+ 30 emaint sync -r gentoo
+ 31 eselect kernel list
+ 32 eselect kernel set 1
+ 33 ls -l /usr/src/linux
+ 34 emerge --ask sys-apps/pciutils
+ 35 cd /usr/src/linux
+ 36 make localmodconfig
+ 37 make nconfig
+ 38 make && make modules_install
+ 39 make install
+ 40 blkid
+ 41 nano /etc/fstab
+ 42 less /etc/fstab
+ 43 emerge sys-fs/f2fs-tools
+ 44 make nconfig
+ 45 make nconfig
+ 46 echo ceres > /etc/hostname
+ 47 emerge -a net-misc/dhcpcd
+ 48 rc-update add dhcpcd default && rc-service dhcpcd start
+ 49 emerge --ask --noreplace net-misc/netifrc
+ 50 nano /etc/conf.d/netmount
+ 51 nano /etc/conf.d/net
+ 52 passwd
+ 53 nano /etc/conf.d/keymaps
+ 54 emerge --ask app-admin/sysklogd && rc-update add sysklogd default
+ 55 emerge --ask sys-process/cronie && rc-update add cronie default
+ 56 emerge --ask sys-apps/mlocate
+ 57 rc-update add sshd default
+ 58 emerge --ask app-shells/bash-completion
+ 59 emerge --ask net-misc/chrony
+ 60 emerge --ask net-wireless/iw net-wireless/wpa_supplicant
+ 61 emerge --ask --verbose sys-boot/grub
+ 62 grub-install --efi-directory=/efi
+ 63 grub-mkconfig -o /boot/grub/grub.cfg
+ 64 exit
+ 65 history
+
+
+ 1 sudo fdisk /dev/nvme0n1
+ 2 fdisk -l /dev/nvme0n1
+ 3 sudo fdisk -l /dev/nvme0n1
+ 4 sudo mkfs.f2fs /dev/nvme0n1p3
+ 5 sudo mkfs.vfat -F 32 /dev/nvme0n1p1
+ 6 sudo mkswap /dev/nvme0n1p2
+ 7 sudo swapon /dev/nvme0n1p2
+ 8 mkdir --parents /mnt/gentoo
+ 9 mount /dev/sda3 /mnt/gentoo
+ 10 sudo mount /dev/sda3 /mnt/gentoo
+ 11 sudo mkdir --parents /mnt/gentoo
+ 12 sudo mount /dev/sda3 /mnt/gentoo
+ 13 sudo mkfs.xfs /dev/nvme0n1p3
+ 14 sudo mkfs.xfs /dev/nvme0n1p3 -f
+ 15 sudo mount /dev/sda3 /mnt/gentoo
+ 16 sudo mkfs.f2fs /dev/nvme0n1p3
+ 17 sudo mkfs.f2fs /dev/nvme0n1p3 -f
+ 18 sudo mount /dev/nvme0n1p3 /mnt/gentoo
+ 19 sudo mkdir --parents /mnt/gentoo/efi
+ 20 links www.gentoo.org
+ 21 ls
+ 22 tar xpvf stage3-amd64-openrc-20260125T170113Z.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo
+ 23 sudo tar xpvf stage3-amd64-openrc-20260125T170113Z.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo
+ 24 nano /mnt/gentoo/etc/portage/make.conf
+ 25 sudo nano /mnt/gentoo/etc/portage/make.conf
+ 26 sudo cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
+ 27 sudo mount --types proc /proc /mnt/gentoo/proc && sudo mount --rbind /sys /mnt/gentoo/sys && sudo mount --make-rslave /mnt/gentoo/sys && sudo mount --rbind /dev /mnt/gentoo/dev && sudo mount --make-rslave /mnt/gentoo/dev && sudo mount --bind /run /mnt/gentoo/run && sudo mount --make-slave /mnt/gentoo/run
+ 28 sudo chroot
+ 29 sudo chroot /mnt/gentoo /bin/bash
+ 30 sudo chroot /mnt/gentoo /bin/bash
+ 31 history
diff --git a/md2bitwarden.py b/md2bitwarden.py
@@ -0,0 +1,66 @@
+import csv
+import os
+import re
+import sys
+
+
+def convert_md_file_to_bitwarden_csv(input_path):
+ if not os.path.exists(input_path):
+ print(f"Error: {input_path} not found.")
+ return
+
+ with open(input_path, "r", encoding="utf-8") as f:
+ lines = f.readlines()
+
+ data = []
+ for line in lines:
+ if re.match(r"^\s*\|?[:\-\s|]+\|?\s*$", line):
+ continue
+ columns = [col.strip() for col in line.split("|") if col.strip()]
+ if columns:
+ data.append(columns)
+
+ if len(data) < 2:
+ print("Error: No valid data found in table.")
+ return
+
+ headers = data[0]
+ rows = data[1:]
+ output_file = "bitwarden_import.csv"
+ bw_headers = [
+ "folder",
+ "favorite",
+ "type",
+ "name",
+ "notes",
+ "fields",
+ "login_uri",
+ "login_username",
+ "login_password",
+ "login_totp",
+ ]
+
+ with open(output_file, "w", newline="", encoding="utf-8") as f:
+ writer = csv.DictWriter(f, fieldnames=bw_headers)
+ writer.writeheader()
+
+ for row in rows:
+ item = dict(zip(headers, row))
+ writer.writerow(
+ {
+ "folder": "Main",
+ "favorite": 0,
+ "type": "login",
+ "name": item.get("サービス名", ""),
+ "login_username": item.get("ユーザー名", ""),
+ "login_password": item.get("パスワード", ""),
+ }
+ )
+
+ print(f"Success: {output_file} has been created.")
+
+
+if __name__ == "__main__":
+ # 実行時にファイル名を指定するか、デフォルトの passwords.md を読み込む
+ target_file = sys.argv[1] if len(sys.argv) > 1 else "password01.md"
+ convert_md_file_to_bitwarden_csv(target_file)