Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
誰でもファイルアップロード
Kenichiro MATOHARA
December 26, 2020
Technology
0
41
誰でもファイルアップロード
Kenichiro MATOHARA
December 26, 2020
Tweet
Share
More Decks by Kenichiro MATOHARA
See All by Kenichiro MATOHARA
小さなLinux互換カーネルのTilck
matoken
0
10
機械翻訳をローカルマシンで( ArgosTranslate/LibreTranslate )
matoken
0
120
OpenAIのWhisper でオフライン文字 起こし(STT)
matoken
0
81
Wikipedia を Offlineで楽しむ
matoken
0
62
Intel CPUでもAIに画像生成してもらう
matoken
0
150
AndroidスマートフォンのTermuxでモバイル回線の速度を定期的に計測
matoken
0
80
XFSのbigtimeを少し試してみた(RHEL9 & ML8.4)
matoken
0
42
ターミナルワークスペースのZellij
matoken
0
200
XFSのbigtimeを少し試してみた
matoken
0
110
Other Decks in Technology
See All in Technology
Kaggleシミュレーションコンペの動向
nagiss
0
270
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
oracle4engineer
PRO
0
160
MarvelClient Upgrade 64bit クライアントへの自動アップグレード設定
mitsuru_katoh
0
160
「一通りできるようになった」その先の話
hitomi___kt
0
130
日経電子版だけじゃない! 日経の新規Webメディアの開発 - NIKKEI Tech Talk #3
sztm
0
330
JAWS-UG 横浜 #54 資料
takakuni
0
210
OpenShiftのリリースノートを整理してみた
loftkun
2
400
OVN-Kubernetes-Introduction-ja-2023-01-27.pdf
orimanabu
1
400
OpenShift.Run2023_create-aro-with-terraform
ishiitaiki20fixer
1
310
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
0
7.4k
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
1.3k
PHPのimmutable arrayとは
hnw
1
160
Featured
See All Featured
Robots, Beer and Maslow
schacon
154
7.3k
Scaling GitHub
holman
453
140k
How STYLIGHT went responsive
nonsquared
89
4.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
The World Runs on Bad Software
bkeepers
PRO
59
5.7k
The Language of Interfaces
destraynor
149
21k
Facilitating Awesome Meetings
lara
33
4.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
317
22k
Transcript
/ 誰でもファイル 誰でもファイル アップロード アップロード Kenichiro Matohara 1 / 31
/ 南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian お仕事募集 mailto:
[email protected]
Kenichiro Matohara(matoken) Kenichiro Matohara(matoken) https://matoken.org
https://matoken.org 2 / 31
/ Rakuten mini 2台目到着 Rakuten mini 2台目到着 といってもLTE BAND1対応品への交換 9月に届いてすぐにお願いしていたのがやっと届いた
これでdocomo回線でも使いやすくなるはず 締切は12月いっぱいまでらしいので未だの人はお早めに https://corp.mobile.rakuten.co.jp/news/notice/2020/0626_01/ 3 / 31
/ https://nitter.net/matoken1/status/1338043888531955712#m 4 / 31
/ https://nitter.net/matoken1/status/1338051036733304832#m 5 / 31
/ Epic Gameでゲーム貰おう Epic Gameでゲーム貰おう 最近は週に1本無料配信をしていたけど現在毎日無料配信中 アカウント登録のみでクレジット登録も不要 Linux版は(多分)ないけどWine経由で動くものも多い(現在動かなく ても動くようになるかも) LutrisでEpic
Games Storeを導入すればお手軽 (Linux版もあるSteamは現在ウィンターセール中) 毎週無料ゲームが登場 | Epic Games Store ゲーミングプラットホームのLutris紹介 Lutrisを使ってLinuxでもEpic Gamesで遊ぶ 6 / 31
/ OSC20FKの参加者アンケートで OSC20FKの参加者アンケートで 書籍当選! 書籍当選! 回答者少ないらしいのでみんな回答しよう 解答で言及されると嬉しいし (回答者少なくて当選率高いらしいですよ) 7 /
31
/8 / 31
/ 現在ODC2020 Onlineアンケート 現在ODC2020 Onlineアンケート 募集中 募集中 参加した人は回答しよう https://event.ospn.jp/ODC2020- Online/article/books
9 / 31
/ 最近の発表 最近の発表 2020-11-28 2020-12-12 Twitterをちっちゃいリソースで 鹿児島Linux勉強会
[email protected]
オープンソースカンファレンス福岡 (オンライン開催) 常駐アプリ等を軽く出来ないかな?な試み
小江戸らぐ 12月のオフな集まり(第221回) 10 / 31
/ 2020.02補足 2020.02補足 2月の発表でAndroid端末のバッテリーを満充電しない(80%で充電終 了)ようにして労れないか? → 1年経たずにバッテリー劣化の症状が あまり意味はなかったみたい…… LinuxからAndroidの充電を制御する 11
/ 31
/ 誰でもファイルアップロード 誰でもファイルアップロード アカウントや認証無しでファイルをアップロードしてもらいたい 太古はanonymous FTPを設定して使っていた(WU-FTPD) オンラインストレージでは Box, Dropbox, ftopia,
Koofr, MEGA, OpenDrive, pCloud等で使えるらしい?(有料のみ?) 特殊な機能を持つ オンラインストレージ | free. 12 / 31
/ 少し前 少し前 OwnCloudにアップロードオンリーの共有機能が付いた 早速試したけど程なくEnterpriseのみの機能になる forkのNextcloudのOSS版にこの機能が取り込まれたのでOwnCloudか らNextcloudに移行した (当時は移行がとても簡単だった) 13 /
31
/ Nextcloud file-drop Nextcloud file-drop 共有したいフォルダで「URLで共有」→「ファイルドロップ(アッ プロードのみ)」 有効期限を設定しなければずっと同じURLで使える 同名のファイルがアップロードされたら `
(2)` のようなデミリタが 付く (hoge.jpgというファイルが3つアップロードされると,hoge.jpg, hoge (2).jpg, hoge (3).jpg となる) file-drop – Nextcloud 14 / 31
/ 共有設定 共有設定 15 / 31
/ アップロード画面 アップロード画面 16 / 31
/ Nextcloudを*試す*のにはsnapがお Nextcloudを*試す*のにはsnapがお 手軽 手軽 Debian sid amd64/Ubuntu 20.04 LTS/Raspberry
Pi OS armhfでは以下の手 順でOK 1 システムのパッケージを最新にする 2 snapを使えるように snapd パッケージを導入 3 snapでnextcloudを導入 ウェブブラウザにIPアドレスを入力するとセットアップ画面が表示さ れるので管理者ID/PASSWORDを設定 $ sudo apt update && sudo apt upgrade $ sudo apt install snapd $ sudo snap install nextcloud 1 2 3 17 / 31
/ OnionShare OnionShare Podcastの #セキュリティのアレ 第57回で知った Tor経由でファイルのやり取りが出来る(Up/Down) 起動するたびに毎回アドレスは変わるので毎回URLのやり取りが必 要 ルーターの内側でもTorは外に出られちゃうのでポート開放は(大
抵)不要 https://onionshare.org/ http://www.tsujileaks.com/?p=696 https://wiki.matoken.org/linux/tor/onionshare 18 / 31
/ 導入 導入 Linux版はUbuntuはPPAが,Fedoraはパッケージがある,Debianなので Ubuntu版が使えそうだけどsourceをcloneして依存関係の少ないcli版を 試してみた 依存パッケージの導入 sourceの入手 cli版起動 $
apt install -y python3-flask python3-stem python3-pyqt5 python3-crypto \ python3-socks python3-nautilus tor obfs4proxy python3-pytest python3-pytestqt \ build-essential fakeroot python3-all python3-stdeb dh-python \ python3-flask-httpauth python3-distutils python3-psutil python3-socketio \ python3-flask-socketio python3-qrcode $ git clone https://github.com/micahflee/onionshare.git $ cd onionshare $ ./dev_scripts/onionshare 19 / 31
/ ファイル受け取りモードで起動 ファイル受け取りモードで起動 --receive オプションでファイルを受け取れる ファイルは ~/OnionShare/西暦年-月-日/時.分.秒/ 以下に保存さ れる $
./dev_scripts/onionshare --receive 20 / 31
/ ファイル受け取りモード ファイル受け取りモード 21 / 31
/ その他の機能 その他の機能 --chat オプションでtext chatモードになる(日本語は化ける) --website オプションで指定したコンテンツをOnion siteで公開できる 22
/ 31
/ 問題 問題 Android版Torブラウザでは利用できなかった ダウンロードが途中で終了して失敗する Debianパッケージ版ではない最新のTorを利用するか,Torを利用 しないようにする OnionShare closes before
downloading is complete · Issue #929 · micahflee/onionshare 23 / 31
/ Droopy Droopy Python製 New BSD License ファイルのアップロードに使えるミニウェブサーバ Pythonがあればファイル1つで動作するのでお手軽( Depends:
python3:any ) http://stackp.online.fr/droopy https://wiki.matoken.org/linux/fileshare/droopy 24 / 31
/ install install Debian jessie以降,Ubuntu 16.04 LTS以降でパッケージが存在する $ sudo apt
install droopy 25 / 31
/ 起動 起動 にアクセスするとアップロードページが表示され る.ポート変更も可能. ※同じネットワークからも見える. $ droopy http://localhost:8000 26
/ 31
/ オプション例 オプション例 1 アップロードディレクトリ指定(既定値はカレントディレクト リ) 2 メッセージ 3 バナー画像
4 アップロードディレクトリのファイルをダウンロードできるよ うリンクを表示する.※このオプションを付けなくてもファイ ル名がわかっていればダウンロードできてしまう. 5 アップロードファイルが8進数で指定したパーミッションにな $ droopy -d ~/tmp/upload/ \ -m 'hello droopy' \ -p ~/tmp/upload/13-3733667.jpg \ --publish-files \ --chmod 400 1 2 3 4 5 27 / 31
/ Droopy利用例 Droopy利用例 28 / 31
/ FW内で実行 FW内で実行 FW内のPC等で実行する場合ngrok等のトンネリングサービスを使っ て公開するとお手軽 $ ngrok http localhost:8000 --region
jp --log stdout --bind-tls true 29 / 31
/ 問題 問題 debian packege版で認証をかけようとするとエラーとなり動作しない Upstreamでは修正済のようでこの修正で動作するのを確認 Debianは DLリンクを表示していなくてもファイル名がわかっていれば誰でもダウ ドできてしまう --chmod
000 のようにしてアップロードファイルのパーミッション すようにしてとりあえず回避 https://github.com/hdf/Droopy/commit/3ac476fe4a703c1df99aa5208e164646 reportbugしておいた 30 / 31
/ まとめ まとめ 常時利用するならNextcloud ただし導入管理コストや消費リソース量多 アドホックに使うならDroopyが便利 Python Script1つでok アドホック&TorならOnionShare? 導入や説明が少し面倒?
31 / 31