why not require an account for html access and otherwise just serve say a pre-cached complete repository requiring minimal work?
It's hugely inconvenient for users not having an account and want to do more than clone an entire repo via an API of course.