Strony prywatne prywatnego repozytorium Github


244

Nie mogłem znaleźć niczego w dokumentacji github, a także tutaj na SO. Zastanawiałem się jednak, czy może istnieć http://foo.github.comprywatne repozytorium o nazwie, fooktóre jest dostępne tylko jedno miało dostęp do samego foorepozytorium.

Pamiętam, że przeczytałem coś o tym, że strony github są zawsze publiczne, ale nie mogę już tego znaleźć.

I, co zaskakujące, nie mogę znaleźć nikogo, kto zadałby to pytanie.


2
Podejrzewam, że niewiele osób korzysta z Github do hostowania prywatnych repozytoriów. A przynajmniej bardzo niewiele z nich używa stron gh.
Siddhartha Reddy

Myślę, że poprawną odpowiedzią powinien być teraz stackoverflow.com/a/54340540/1168342
Fuhrmanator

Odpowiedzi:


219

Podniosłem zgłoszenie do pomocy technicznej przeciwko Githubowi i otrzymałem odpowiedź potwierdzającą fakt, że WSZYSTKIE strony są publiczne. Poprosiłem ich o dodanie notatki na help.github.com/pages.


6
Czy repozytorium stron musi być publiczne, aby strony GitHub działały?
Dennis,

34
@Dennis: Nie, nie ma - Twoje repozytorium może być prywatne. Ale opublikowane strony będą publiczne, a GitHub nie ma wbudowanego sposobu ograniczania dostępu do widoku, który umożliwiłby ich oglądanie tylko osobom z tego prywatnego repozytorium.
Merlyn Morgan-Graham,

6
Do zobaczenia tutaj
Derek Adair

// Kontrola dostępu jest bardzo interesującym zagadnieniem dla Github. Podoba mi się, że to przyciąga uwagę, @kashyap! Dzięki.
Nathan Basanese

Dodanie do komentarzy @Derek Adair powyżej. Witryna mówi: „Ostrzeżenie: strony GitHub Pages są publicznie dostępne w Internecie, nawet jeśli ich repozytoria są prywatne. Jeśli masz poufne dane w repozytorium stron, możesz je usunąć przed opublikowaniem”.
Jay Killeen,

62

Zgodnie z dokumentacją stron GitHub :

Wszystkie repozytoria projektów są gotowe do użycia z generatorem do publikacji. Należy jednak pamiętać, że prywatne repozytoria będą publikować strony publiczne.

Więc nie, w tej chwili nie ma możliwości utworzenia prywatnych stron GitHub z prywatnego repozytorium GitHub.

EDYTOWAĆ:

Proste obejście

Obejściem w niektórych sytuacjach, które mogą być pomocne, jest po prostu zmiana nazwy repozytorium na coś innego niż format stron GitHub, gdy chcesz, aby był prywatny (na przykład w fazie rozwoju), a kiedy jest gotowy do upublicznienia, popraw nazwę. Oczywiście to nadal nie pomaga, jeśli szukasz sposobu na publikowanie stron z uwierzytelnianiem, ale jeśli chcesz tylko ukryć projekt stron GH podczas jego trwania, może to pomóc.

Rzeczywiste Auth Wrapper dla Jekyll (strony GitHub)

Alternatywnie istnieje projekt o nazwie Jekyll Auth, który GitHubber @benbalter stworzył do takiego użytku. Jekyll Auth zapewnia podstawowe opakowanie uwierzytelniające dla projektów jekyll, w tym stron GitHub. Zobacz plik README repozytorium do użycia.


1
Wygląda na to, że ten pierwszy link jest stary. help.github.com/articles/what-is-github-pages ma teraz podobne ostrzeżenie.
radykalny 101

14

Page.github.com wspomina:

Strony Github są hostowane bezpłatnie i łatwo publikowane za pośrednictwem naszej witryny,

Bez wspominania o kontroli dostępu.

Pomoc strony GitHub również nie wspomina o żadnej liście ACL.
Najlepiej nimi zarządzać w gałęzi gh-pages i można nimi zarządzać we własnym podmodule .
Ale znowu, bez żadnych ograniczeń widoczności po opublikowaniu przez GitHub.


14
W rzeczy samej. Wszystkie strony są publiczne. Otrzymałem odpowiedź (na zgłoszeniu do pomocy technicznej) od github, która to potwierdziła.
kashyap

13

Wiele odpowiedzi jest nieaktualnych (przejęcie przed Microsoft / bezpłatne prywatne repozytorium). Ten został napisany po ogłoszeniu bezpłatnych prywatnych transakcji repo.

Strony Github nie są dostępne w bezpłatnych prywatnych repozytoriach dla osób fizycznych, jak pokazano w ustawieniach repozytoriów:

wprowadź opis zdjęcia tutaj

2020 (najbardziej podstawowym planem jest teraz „Zespół”):

uaktualnij do zespołu github lub upublicznij to repozytorium, aby włączyć Strony


5
To jest szaleństwo. Reklama z dzwonkami i gwizdkami bezpłatnej dostępności prywatnych repozytoriów, ale znacznie obniżyły ich funkcjonalność.
Robert Estivill,

9

Jest artykuł z działającym pomysłem na temat żądania autoryzacji oAuth przed dynamicznym ładowaniem treści statycznej:

Zabezpieczanie strony działającej na stronach Github z zapleczem JSON w prywatnym repozytorium

Treść powinna być przechowywana w tajnym repozytorium GitHub z przeglądarką mającą dostęp do odczytu. Strony GitHub przechowują tylko obsługujący kod JS.


Jest to o wiele lepsze niż używanie hasdoców, ponieważ nie musisz udzielać zgody na swoje repozytorium niezaufanej aplikacji innej firmy.
Tommz

8

Jak wspomniano powyżej, strony Github nie obsługują tej funkcji. Miałem ten sam problem, gdy nasz zespół postanowił hostować dokumentację projektu (statyczny HTML) wewnętrznie i prywatnie.

Skończyłem tworzenie usługi https://www.privatehub.cloud Jest to zasadniczo prosty serwer proxy z uwierzytelnianiem Github OAuth, więc po prostu zwraca zawartość repozytorium GitHub z odpowiednim typem MIME. Z założenia tylko ci, którzy mają dostęp, foobędą mogli zobaczyć foozawartość na https://bar-foo.privatehub.cloud. Z funkcjonalnego punktu widzenia można myśleć o tym jak o uproszczonych stronach GitHub z wbudowanym uwierzytelnianiem.

Niestety, Github OAuth nie pozwala na żądanie read-onlydostępu do prywatnych repozytoriów, więc serwer potrzebuje pełnego dostępu (oczywiście nic nie pisze do twojego repo). Ponieważ GitHub API pozwala pobierać pliki o wielkości poniżej 1 Mb, usługa nie może zwrócić większych plików. Odkryłem jednak, że usługa jest odpowiednia dla małych projektów związanych z wewnętrzną dokumentacją lub wersją strony internetowej.


1
Uwaga: ta usługa jest teraz martwa (lub potencjalnie tymczasowo zawieszona)
Jason Axelson

1

Jeśli naciśniesz admin na prywatnym repozytorium i przewiniesz w dół do części o stronach, zapiszesz, że będzie publiczny. Sprawdzę później, czy kontrola .htaccess lub podobna jest możliwa, ale nie mam na to wiele nadziei.


1
Metoda .htaccess nie działa. Jeśli są jakieś przydatne sugestie, daj mi znać :)
Rohde Fischer,

Nic też nie mogłem znaleźć. Chyba ten problem jest na razie zamknięty.
kashyap


-3

Możesz przechowywać hasło w repozytorium, a następnie po prostu ukryć stronę za ukrytym adresem, który pochodzi od tego hasła. To nie jest zbyt bezpieczny sposób, ale jest prosty.

Demonstracja

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.