2017年12月5日火曜日

HP t610 ( aboutt 20X20cm small PC and 15W) そして make wifi router など


分解の仕方は https://youtu.be/EOxsQJKZZbk


Mac Pro でも この Thin でも
cd とかあるいは USB メモリーとかを使って
新規にインストールをしたわけではないのです
普通のパソコンで動いていた OS の入ったハードディスクをこれらにポンと装着だけです


ただし起動さすにはちょっといじらなければならないのですがね

Hanwha HDMI - DVI-D 変換ケーブル 1.8m [1年保証][1.8メートル][DVIケーブル][DVI HDMI変換] UMA-DVIHDMI18G
をつけると TVに画面がでます。 slpendid !
TVの画面の動画


HP t610を買ったら最初からフラッシュメモリーの中に puppy linux が入っていた.
でもフラッシュメモリは1 g しかない.
第一これは脆弱すぎる。
それでハードディスクに uefi open bsd を入れたものを中に装着した
最初
このpuppyのmenu.lstで起動するopenbsdを書きます
最後に
puppyを消し去ってからopenbsdを書きます









参考記事
1) http://petersworks.mydns.jp/blog/?p=1911
2) http://www.parkytowers.me.uk/thin/hp/t610/index.shtml

公娼については
https://ja.wikipedia.org/wiki/%E5%85%AC%E5%A8%BC
で ここに
近代になっては性病検査を彼女等が避けごまかす傾向が強かったという事情もある
(理由は恥ずかしさ・営業を続けるため・費用・女性の自覚症状のうすさ・性病の害の認識が発達途上だったこと)。
記載がある


最初シンクライアントとして動こうとしていますが、
ネットにシンサーバーがないことが分かってシンクライアントして動くことをやめ
てフラッシュメモリーの中の puppy linux のブートローダー をよみこみ
これで選択されたのがopenbsd で
これを起動します


起動風景は
https://www.youtube.com/watch?v=uWW-Ng1-1u8


なお puppy の設定は
cat /initrd/mnt/dev_save/menu.lst
# menu.lst produced by grub4dosconfig-v1.9.1
color white/blue black/cyan white/black cyan/black
#splashimage=/splash.xpm
timeout 10
default 0

# Frugal installed Puppy

title OpenBSD
chainloader (hd1,3)+1
rootnoverify (hd1,3)
boot


title Puppy precise 5.7.1JP (sda1/precise)
uuid 2773cc76-a44e-4473-b24a-981ba579b7ba
kernel /precise/vmlinuz psubdir=precise pmedia=atahd pfix=fsck
initrd /precise/initrd.gz

# Windows
# this entry searches Windows on the HDD and boot it up
title Windows\nBoot up Windows if installed
errorcheck off
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
find --set-root --ignore-floppies --ignore-cd /io.sys
chainloader /io.sys
errorcheck on

# Advanced Menu
title Advanced menu
configfile /menu-advanced.lst
commandline







A)WWW server

/etc/nginx/nginx.conf                                                                                     -----------------------------    
worker_processes  1;
worker_rlimit_nofile 1024;
events {
    worker_connections  800;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    index         index.html index.htm;
    keepalive_timeout  65;
    server_tokens off;
server {
        listen       80;
        listen       [::]:80;
        server_name  localhost;    #<-for test
        root         /var/www/m1;
auth_basic "Restricted";
auth_basic_user_file /var/www/1/.htpasswd; 
          }

server {
        listen       80;
        listen       [::]:80;
        server_name  h.m.jp;
        root         /var/www/m1;
auth_basic "Restricted";
auth_basic_user_file /var/www/1/.htpasswd;
          }

server {
        listen       80;
        listen       [::]:80;
        server_name  s.s.ddns.vc;
        root         /var/www/y2;
auth_basic "Restricted";
auth_basic_user_file /var/www/2/.htpasswd;
          }

server {
        listen       80;
        listen       [::]:80;
        server_name  k.s.ddns.vc;
        root         /var/www/k3;
auth_basic "Restricted";
auth_basic_user_file /var/www/3/.htpasswd;
          }

server {
        listen       80;
        listen       [::]:80;
        server_name  m.p.ddns.vc;
        root         /var/www/d11;
auth_basic "Restricted";
auth_basic_user_file /var/www/11/.htpasswd;
          }

    } 


htpasswd thinPC /var/www/1/.htpasswd

chown  www  /var/www/1/.htpasswd


 /etc/pf.conf 
ext_if="bge0"
tcp_services="{ 22, 80 }"  # submisson port
icmp_types="echoreq"
set block-policy return
set loginterface $ext_if
set skip on lo
set reassemble yes no-df
block in log
pass out quick
 antispoof quick for { lo  }
pass in  on  $ext_if   inet proto tcp from any to  ( $ext_if:0 ) port  $tcp_services
pass in inet proto icmp all icmp-type $icmp_types



 (cd /m1;tar cvpf -  .  )    |    (cd /m2 ; tar xpf - ) 



LINUX でのお道具
openbsdで通用するかは未検証
1) pre.bat 
for y in `ls *.jpg`
do
jhead -nf%Y-%m-%d-%H%M $y
done
echo ' </p> </p> </p> </p> </p> '
echo '--- movie ---動画 </p> </p>    '
for x in ` ls *.mp4 `
do
echo "<a href=$x > $x </a>   </p> </p>"
done
echo '===============================  ' 
echo ' </p> </p> </p> </p> </p> </p> </p> </p> </p> </p>  ' 
echo '--- photo ---写真  </p> </p>  '
for x in ` ls *.jpg `
do
echo "<a href=$x > $x </a>   </p> </p>"
done



2)UTF8-2-EUCJP.bat                                                                          iconv -f UTF-8  -t EUCJP < index.html > output.txt ; cp output.txt index.html


3)size.bat                  
ffmpeg -i $1 -s 640x480 $1-small.mp4

4) cat .fetchmailrc                                                           
defaults
#set nobouncemail
protocol pop3
poll mail.MyDNS.JP
user         xxx
password yyy
no keep



menuentry 'Fedora (4.13.13-300.fc27.i686+PAE) 27 (Workstation Edition)' --class
fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_opt
ion 'gnulinux-4.13.13-300.fc27.i686+PAE-advanced-e09efab6-086d-4f96-a9ac-b3d25cc
87a6c' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/<no-
node>/sas/disk@0,msdos5' --hint-bios=hd1,msdos5 --hint-efi=hd1,msdos5 --hint-bar
emetal=ahci1,msdos5 --hint='hd0,msdos5'  294c7567-71cf-4e4c-841f-717360da2f7e
    else
      search --no-floppy --fs-uuid --set=root 294c7567-71cf-4e4c-841f-717360
da2f7e
    fi
    linux16 /vmlinuz-4.13.13-300.fc27.i686+PAE root=/dev/mapper/fedora-root
ro rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet LANG=ja_JP.UTF-8
    initrd16 /initramfs-4.13.13-300.fc27.i686+PAE.img
}




-------------another way ---------------

puppy 依存しない方法です
そのかわり 起動時に F9 を押さねばいけません

動画は debian's grub boots openbsd

自分は デビアンで
dd if=/dev/zero  of=/dev/sda bs=512 count=16000
フラッシュロムをクリアしましたが、
(ひょっとしたら BIOS でもできるかな)
そして これを デビアンのfdiskで a6 のしておきます。

openbsdを立ち上げ
disklabel -E sd0 にて
ここに swap を作ります。
disklabel sd0 | grep duid
そして /etc/fstab を書き換えます

You can use disklabel(8):
===
# disklabel sd0 | grep duid
===

どうも効いてるか否か不明ですが 一応以下してはいます










T) WIFI routerを作ります
スマホ--->rum0:openbsd:bge0--->internet

USB WiFi ドングル (rum0)を差し込み
以下をするだけで wi-fi ルーターになります

# cat /etc/dhcpd.interfaces                                                                                                    
rum0

これは wi-fi のアドレスを配るインターフェースが
rum0つまり USB WiFi であることを示してます


# /etc/dhcpd.conf                                                                                                
option  domain-name "my.domain";
option  domain-name-servers 8.8.8.8;
subnet 192.168.12.0 netmask 255.255.255.0 {
       option routers 192.168.12.1;
       range 192.168.12.2 192.168.12.7;
}
これは配るアドレスが 192.168.12.2から 192.168.12.7までの6つです


/etc/pf.conf                                                                                                   
ext=bge0
icmp_types = "{echoreq, unreach}"
set block-policy return
set loginterface $ext
set skip on lo0
match in all scrub (no-df max-mss 1440)
match out on $ext inet from !($ext:network) to any nat-to ($ext:0)
block log all
pass out quick
pass in quick inet proto { tcp udp gre } from any to any
pass in quick inet proto icmp all icmp-type $icmp_types keep state

これは所謂NATルールで  WiFi でアクセスしてきた例えばスマホをインターネット側つまり bge0側に向かって飛ばしてます

wifi-id-accesspoint.bat                                                                                        
sysctl net.inet.ip.forwarding=1
/etc/rc.d/dhcpd -f restart
ifconfig rum0 inet 192.168.12.1 netmask 255.255.255.0 \
media autoselect mediaopt hostap nwid oreda \
wpakey 123123123 chan 1 up

この Shell Script にて実際に wi-fi ルーターとして動作させてます
第一行目は Open BSD にnatを許すという設定です
2行目で USB WiFi にアドレスを当ててます
3行目でこの wi-fi ルーターの名前は oredaで
パスワードは123123123です

実にすっきりしてるでしょう。






U) dhcpd サーバーです

archlinux---axe0(192.168.12.1)openbsd(dhcp)bge0---internet


# ./comment-out.bat /etc/hostname.axe0 
inet 192.168.12.1 255.255.255.0 NONE



/comment-out.bat /etc/dhcpd.interfaces                                    
axe0



# ./comment-out.bat /etc/dhcpd.conf                                         
option  domain-name "my.domain";
option  domain-name-servers 8.8.8.8;
subnet 192.168.12.0 netmask 255.255.255.0 {
        option routers 192.168.12.1;
        range 192.168.12.2 192.168.12.7;
}



     
hostname.axe0   hostname.bge0   hostname.re0    hosts         
# ./comment-out.bat /etc/hostname.axe0                                       
inet 192.168.12.1 255.255.255.0 NONE



# ./comment-out.bat /etc/rc.conf.local                                       
xenodm_flags=
dhcpd_flags=""




# ./comment-out.bat /etc/pf.         
pf.conf      pf.conf-ori  pf.os     
# ./comment-out.bat /etc/pf.conf                                             
ext = "bge0"
int = "axe0"
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16     \
                   172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/3 \
                                 198.18.0.0/15 198.51.100.0/24        \
                   203.0.113.0/24 }
set block-policy drop
set loginterface egress
set skip on lo0
match in all scrub (no-df random-id max-mss 1440)
match out on egress inet from !(egress:network) to any nat-to (egress:0)
antispoof quick for { egress $ext $int }
block in quick on egress from <martians> to any
block return out quick on egress from any to <martians>
block all
pass out quick inet
block in quick  on { $ext $int }  inet proto tcp from any to any port 5900
pass  in  on { $ext $int }  inet


現在の姿は
で /homeは 上の USBなハードディスク 3 になってます。
つまり
/etc/fstab                                                 
0fd850671fe00a56.b none swap sw
0fd850671fe00a56.a / ffs rw 1 1
0fd850671fe00a56.d /tmp ffs rw,nodev,nosuid 1 2
0fd850671fe00a56.f /usr ffs rw,nodev 1 2
0fd850671fe00a56.g /usr/X11R6 ffs rw,nodev 1 2
0fd850671fe00a56.h /usr/local ffs rw,wxallowed,nodev 1 2
0fd850671fe00a56.m /usr/obj ffs rw,nodev,nosuid 1 2
0fd850671fe00a56.l /usr/src ffs rw,nodev,nosuid 1 2
0fd850671fe00a56.e /var ffs rw,nodev,nosuid 1 2

fd2180c07cde7a71.a /home ffs rw,nodev,nosuid 1 2
ですね。

# disklabel sd2 | grep duid
duid: fd2180c07cde7a71
で求めてます。

あと付録で
douga-shukushou.bat                                        
for i in *.mp4 
do
   ffmpeg -y -i  "$i" -vf scale=320:-1  "$i.mini.mp4" 
   mkdir -p OLD---
   mv $i OLD---
done 
for i in *.mkv 
do
   ffmpeg -y -i  "$i" -vf scale=320:-1  "$i.mini.mp4" 
   mkdir -p OLD---
   mv $i OLD---
done





V) 監視camera
https://www.raspberrypi.org/forums/viewtopic.php?f=45&t=60076
カメラは microsoftの 2.0 megapixel

fswebcam -d /dev/video0 -r 1920x1080 -S 30 -F 5 image10.jpg



kansi.bat    

while true
do
fswebcam -d /dev/video0 -r 1600x1200 -S 30 -F 5 a.jpg
x=`date +%m%d-%H%M_%S`
y=`date +%m%d-%H`
mkdir -p /home/fuji/Kansi---/$y
mv a.jpg /home/fuji/Kansi---/$y/$x.jpg
sleep 10

done







W)minidlna



./comment-out.bat /etc/minidlna.conf                                     
port=8200
media_dir=/home/userX/share
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
enable_tivo=no
tivo_discovery=bonjour
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1



X)snort  でも 自信ないので試案

pkg_add snort

cp snortrules-snapshot-29* /etc/snort/

# cd /etc/snort/                                                             

# ls
classification.config                   snort.conf
gen-msg.map                             snortrules-snapshot-29110.tar.gz
generators                              snortrules-snapshot-2983.tar.gz
preproc_rules                           snortrules-snapshot-2990.tar.gz
reference.config                        threshold.conf
rules                     DisplayManager.*.autoLogin: your_user_nameDisplayManager.*.autoLogin: your_user_name              unicode.map


# tar xvzf snortrules-snapshot-29110.tar.gz
# tar xvzf snortrules-snapshot-2990.tar.gz 
# tar xvzf snortrules-snapshot-2983.tar.gz

# /etc/rc.d/snort restart                                                      
snort(timeout)

test mode
snort -T -i bge0  -u _snort -g _snort -c /etc/snort/snort.conf
.
.
Snort successfully validated the configuration!
Snort exiting


snort -A fast -b -d -D -i bge0 -u _snort -g _snort -c /etc/snort/snort.conf  &

top
load averages:  0.04,  0.21,  0.15                                                           usb.my.domain 08:59:05
58 processes: 57 idle, 1 on processor                                                                      up  0:18
CPU0 states:  9.6% user,  0.0% nice,  2.1% system,  1.5% interrupt, 86.7% idle
CPU1 states:  6.3% user,  0.0% nice,  2.0% system,  0.0% interrupt, 91.6% idle
Memory: Real: 439M/1080M act/tot Free: 2353M Cache: 485M Swap: 0K/4097M

  PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
34807 _snort     4    0  574M  303M sleep/0   bpf       1:10  0.00% snort
95031 fuji       2    0   56M   82M sleep/0   poll      0:15  0.00% lumina-desktop
77481 _x11       2    0   14M   16M sleep/0   select    0:01  0.00% Xorg
    1 root      10    0  388K  424K sleep/0   wait      0:01  0.00% init




for autologin
by https://marc.info/?l=openbsd-misc&m=149261350115837&w=2
Just add to /etc/X11/xenodm/xenodm-config
                  DisplayManager.*.autoLogin: your_user_name



cat .xsession                                                                
export LANG=ja_JP.UTF-8
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
scim -d
exec start-lumina-desktop





cat /etc/installurl    <- this line is created by the installer script , thx Espie                         
https://ftp.jaist.ac.jp/pub/OpenBSD