Páginas particulares para um repositório particular do Github


244

Não foi possível encontrar nada na documentação do github e também aqui no SO. Mas eu queria saber se poderia haver um http://foo.github.compara um repositório privado chamado fooque é acessível, apenas um tinha acesso ao foopróprio repositório.

Lembro-me de ter lido algo sobre as páginas do github sempre sendo públicas, mas parece que não consigo mais encontrar isso.

E, surpreendentemente, também não consigo encontrar mais ninguém fazendo a pergunta.


2
Suponho que muitas pessoas não estejam usando o Github para hospedar repositórios particulares. Ou pelo menos, muito poucos deles estão usando páginas gh.
Siddhartha Reddy

Acho que a resposta correta agora deve ser stackoverflow.com/a/54340540/1168342
Fuhrmanator 20/01

Respostas:


219

Eu havia levantado um tíquete de suporte contra o Github e recebi uma resposta confirmando o fato de que TODAS as páginas são públicas. Agora solicitei que adicionassem uma nota em help.github.com/pages.


6
O repo de suas páginas precisa ser público para que as páginas do GitHub funcionem?
Dennis

34
@ Dennis: Não, não - seu repositório pode ser privado. Mas as páginas publicadas serão públicas e o GitHub não tem uma maneira integrada de restringir o acesso à visualização, permitindo que apenas colaboradores desse repositório privado os vejam.
Merlyn Morgan-Graham

6
Para sua informação, pode ser visto MUITO CLARAMENTE aqui #
Derek Adair

//, Controle de acesso é uma questão muito interessante para o Github. Gosto que isso esteja recebendo atenção, @kashyap! Obrigado.
Nathan Basanese,

Adicionando aos comentários do @Derek Adair acima. O site diz: "Aviso: os sites GitHub Pages estão disponíveis publicamente na Internet, mesmo que seus repositórios sejam privados. Se você possui dados sigilosos no repositório de páginas, convém removê-lo antes de publicar."
Jay Killeen

62

De acordo com a documentação das páginas do GitHub :

Todos os repositórios de projetos estão prontos para usar o gerador para publicação. No entanto, observe que os repositórios privados publicarão páginas que são públicas.

Portanto, não, no momento não há como criar páginas privadas do GitHub a partir de um repositório privado do GitHub.

EDITAR:

Uma solução simples

Uma solução alternativa para algumas situações que podem ser úteis é simplesmente renomear o repositório para algo diferente do formato de páginas do GitHub enquanto você deseja que ele seja privado (por exemplo, em uma fase de desenvolvimento) e quando estiver pronto para torná-lo público, corrija o nome. Obviamente, isso ainda não ajuda se você estiver procurando uma maneira de publicar páginas com autenticação, mas se você quiser apenas ocultar um projeto de páginas GH enquanto estiver em andamento, isso poderá ajudar.

Um wrapper de autenticação real para Jekyll (páginas do GitHub)

Como alternativa, existe um projeto chamado Jekyll Auth que o GitHubber @benbalter fez para esse uso. O Jekyll Auth fornece um wrapper de autenticação básico para projetos jekyll, incluindo páginas do GitHub. Consulte o README do repositório para uso.


1
Parece que o primeiro link é antigo. help.github.com/articles/what-is-github-pages agora tem um aviso semelhante.
radicaledward101

14

O page.github.com menciona:

As páginas do Github são hospedadas gratuitamente e facilmente publicadas em nosso site,

Sem nunca mencionar o controle de acesso.

A ajuda da página do GitHub também não menciona nenhuma ACL.
Eles são melhor gerenciados em uma ramificação gh-pages e podem ser gerenciados em seu próprio submódulo .
Mas, novamente, sem nenhuma restrição em termos de visibilidade, uma vez publicada pelo GitHub.


14
De fato. Todas as páginas são públicas. Eu recebi uma resposta (em um tíquete de suporte) do github confirmando isso.
kashyap

13

Muitas respostas estão desatualizadas (aquisição anterior à Microsoft / contratos privados gratuitos). Este foi escrito após o anúncio de acordos privados gratuitos .

As páginas do Github não estão disponíveis em repositórios particulares gratuitos, conforme mostrado nas configurações de repositório:

insira a descrição da imagem aqui

2020 (o plano mais básico agora é "Equipe"):

atualize para a equipe do github ou torne este repositório público para ativar o Pages


5
Isso é uma chatice. O anúncio é completo e assobia a disponibilidade gratuita de repositórios particulares, mas eles diminuem bastante a funcionalidade.
Robert Estivill

9

Há um artigo com uma ideia de trabalho sobre como solicitar autorização oAuth antes de carregar dinamicamente o conteúdo estático:

Protegendo site executado em páginas do Github com JSON Backend no repositório particular

O conteúdo deve ser armazenado em um repositório secreto do GitHub com um visualizador com acesso de leitura. As páginas do GitHub armazenam apenas o código JS em exibição.


Isso é muito melhor do que usar hasdocs, porque você não precisa dar permissão ao seu repositório para aplicativos de terceiros não confiáveis.
Tommz

8

Conforme descrito acima, as páginas do Github não suportam essa funcionalidade. Eu tive o mesmo problema quando nossa equipe decidiu hospedar a documentação do projeto (HTML estático) internamente e em particular.

Acabei criando um serviço https://www.privatehub.cloud. É basicamente um servidor proxy simples com autenticação Github OAuth, portanto, ele simplesmente retorna o conteúdo do repositório do GitHub com um tipo MIME adequado. Por design, apenas quem tem acesso foopoderá ver o fooconteúdo em https://bar-foo.privatehub.cloud. Do ponto de vista funcional, você pode pensar nisso como uma página simplificada do GitHub com autenticação integrada.

Infelizmente, o Github OAuth não permite solicitar read-onlyacesso a repositórios particulares, portanto o servidor precisa do acesso completo (obviamente, ele não grava nada no seu repositório). Como a API do GitHub permite recuperar arquivos com menos de 1 Mb, o serviço não pode retornar arquivos maiores. No entanto, achei o serviço bastante adequado para pequenos projetos de documentação interna ou versão intermediária de um site.


1
Nota: este serviço agora está morto (ou potencialmente temporariamente caiu)
Jason Axelson

1

Se você pressionar admin em um repositório particular e rolar para a parte sobre as páginas, ele escreverá que será público. Verificarei mais tarde se o controle .htaccess ou similar é possível, mas não tenho muita esperança.


1
O método .htaccess não funciona. Se há quaisquer sugestões úteis deixe-me saber :)
Rohde Fischer

Também não consegui encontrar nada. Acho que esse problema está encerrado por enquanto.
kashyap


-3

Você pode hospedar a senha em um repositório e apenas ocultar a página atrás do endereço oculto, derivado dessa senha. Esta não é uma maneira muito segura, mas é simples.

Demonstração

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.