Lantern DSSE

開発に加わる

いちばん役に立つのは、パッチではありません。こちらが持っていない環境で DSSE を動かし、 何が壊れたかを伝えることです。

パッチを軽んじているのではありません。強制コアを公開している理由そのものです。 セキュリティのデータプレーンは、実環境と実際の攻撃に晒されて初めて頑健になります。そして それを1人の書き手が再現することはできません。どのネットワークにも、こちらのラボには無い ミドルボックスや、キャプティブポータルや、ピン留めされたアプリや、証明書ポリシーがあります。 そこから届く正確な不具合報告は、ここでは多くの新機能より価値があります。

コードベースの構成

ビルドする

go build ./...
go vet ./...
go test ./...

# Windows のステアリングエージェントはクロスコンパイルできます:
GOOS=windows GOARCH=amd64 go build ./clients/windows-wfp/steer/

# macOS の Network Extension(Swift 6 のツールチェーンが要ります):
cd clients/macos-network-extension && swift build && swift test

CI は Pull Request ごとに同じ検査を走らせます。コントリビューションは Developer Certificate of Origin の下で受け付けるので、 git commit -s で全コミットに署名を付けてください。

良い変更の形

受け入れられない変更と、その理由

レビューで初めて知るのではなく、先に書いておきます。いずれも一見すると明らかな改善に見える 種類のものだからです。

返答の速さについて、正直なところ

ごく小さな体制で、非同期に維持しています。Pull Request が数日置かれることはあります。 大きな変更の前に Issue を立てておく価値はあります。手続きとしてではなく、 良いものを書いたのに方針と合わないということが現実に起こり得るからで、 それを後から知るのは誰にとっても割の合わない取引だからです。

リポジトリは github.com/lantern-networks/dsse-core です。 何をどこに持ち込むか。