documents

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
Abitwarden_import.csv | 32++++++++++++++++++++++++++++++++
Aexcel2bitwarden.py | 30++++++++++++++++++++++++++++++
Agentoo20260129.md | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Amd2bitwarden.py | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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)