activetk / end2end.tech Goto Github PK
View Code? Open in Web Editor NEWAnonymous File Uploader
Home Page: https://end2end.tech
License: MIT License
Anonymous File Uploader
Home Page: https://end2end.tech
License: MIT License
ファイルサイズの小さいファイルをパスワードで暗号化してアップロードしたとき、パスワードを入力しなくてもダウンロードインターフェースが立ち上がり、空のファイルをダウンロードできる。
上記リンクでは中身が「1」のテキストファイルをアップロードした。パスワード「qwertyuiop」を入力してダウンロードすることで元のファイルを入手できる。
意味のあるファイルがダウンロードされるわけではないが、意図した動作ではないと思われる。
txtとjpegの2種類のファイルをアップロードしたところ、jpegの場合に壊れたファイルが復号された。
アップロードしたファイルとダウンロードしたファイルのSHA256値は以下の通り (ローカル環境にてshasum -a 256 filenameで計算)
暗号化したときのデータが文字列になっています。
理由は、Base64にソルトなどをつけた形になっているからです。
このデータをバイナリ化してアップロードすれば、ディスク使用効率が高くなると考えられます。
本番環境に特化した設定が多く見受けられ、ローカル環境でのセットアップが困難です..
OSS化したいのであれば、セットアップの方法を README に書いておくと良いかもしれません。
具体的には、以下のようなコードが問題となっています。
require_once( "/home/activetk3/Config.php" );
コンテナ化をするなどして、環境に依存しない形にするとよいかもしれません。
また、開発環境では https:// へのリダイレクトは回避したほうがいいので、例えばサーバーの設定ファイルや、Cloudflareの設定項目などを使い、コードではない形で設定したほうがいいです。
https://api.end2end.tech
相対パスの指定をミスっていると思います🤔
footer.phpの読み込みでエラー吐いてますね
ドキュメントは現状phpで書く予定ですかね?
正直ここに時間を掛けるのは不味いので VitePress等での生成が良いと思います。
'docs.end2end.tech' を他のデプロイサービスでデプロイしたurlに向ければ早いです。
黒に緑のテキスト以外にダーク、ライトのテーマを付けて欲しい。UI的にアングラ感が否めない。
マルチランゲージに対応で英語を追加して欲しい。(海外圏のユーザーの為
Decryptionに対応する日本語は復号です。(複合は誤りです)
また、用語としては、復号のほうが復号化よりも一般的だと思います。
対象ファイル:
WebTorrentを使ったファイル共有を可能にするオプションを追加して欲しい。
AES-CBCは暗号学的な改ざん検知機能がないため、アップロードした暗号化ファイルがデータベース管理者等に改ざんされたとしても、ダウンロード時にそれを検知することができません。
AES-CBCのかわりに、AES-GCMやChaCha20-poly1305等の改ざん検知機能付き共通鍵暗号の利用を提案します。
これはOSSの問題ではなく、end2end.tech の設定に関してですが、
日本IP以外を弾くと、APIをPass等で利用することが難しくなります。
プロキシを使用すると、ファイルアップローダーの関係上ものすごい時間がかかってしまうので、IP規制の解除を提案します。
curl https://api.end2end.tech/upload -X POST -F [email protected] -F 'setLimitDownload=on' -F 'maxDownloadCount=1.7'
上記のように、APIでmaxDownloadCount
の項目が小数の場合で叩いても正常にアップロードできてしまいます。
通常のWeb版では指定できないので、おそらくバグかと思われます。
もし万が一仕様だったら、APIドキュメントに明確な仕様を書いた方がよいかもしれません。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.