The easiest way would be to just publish bundles via regular HTTP and allow users to download and apply those. See hg help bundle
:
Generate a compressed changegroup file collecting changesets not known to
be in another repository.
The bundle file can then be transferred using conventional means and
applied to another repository with the unbundle or pull command. This is
useful when direct push and pull are not available or when exporting an
entire repository is undesirable.
Applying bundles preserves all changeset contents including permissions,
copy/rename information, and revision history.