Index public repos of gitea instances #3778

Open
opened 2025-11-02 05:24:53 -06:00 by GiteaMirror · 26 comments
Owner

Originally created by @sapk on GitHub (Aug 14, 2019).

In order to promote projects that use Gitea, I suggest to setup a system that list public repo of multiple instance.

This would be a separate project that leverage gitea api to retrieve information from Gitea instances.

The url could be like index.gitea.xxx or explore.gitea.xxx

The list of instance could be maintain by PR on the new project. That way we index only requested instances.

Originally created by @sapk on GitHub (Aug 14, 2019). In order to promote projects that use Gitea, I suggest to setup a system that list public repo of multiple instance. This would be a separate project that leverage gitea api to retrieve information from Gitea instances. The url could be like index.gitea.xxx or explore.gitea.xxx The list of instance could be maintain by PR on the new project. That way we index only requested instances.
GiteaMirror added the type/proposal label 2025-11-02 05:24:53 -06:00
Author
Owner

@lafriks commented on GitHub (Aug 14, 2019):

I was thinking already about creating such site... I even registered domain hubco.io for this :D

@lafriks commented on GitHub (Aug 14, 2019): I was thinking already about creating such site... I even registered domain hubco.io for this :D
Author
Owner

@lunny commented on GitHub (Aug 14, 2019):

I like a union concept. When a gitea instance accept another gitea instance, then they will exchange public repositories for each other. And we can list all repositories on both sites. We can add a new top menu named indexes. You can search repositories by name and description.

@lunny commented on GitHub (Aug 14, 2019): I like a union concept. When a gitea instance accept another gitea instance, then they will exchange public repositories for each other. And we can list all repositories on both sites. We can add a new top menu named indexes. You can search repositories by name and description.
Author
Owner

@lunny commented on GitHub (Aug 14, 2019):

The feature could be as a part of gitea, it should not be a standalone repository.
Furthermore, we can add the placeholder repositories on repositories search.

So that, there is no center server. Index site is still a center server.

@lunny commented on GitHub (Aug 14, 2019): The feature could be as a part of gitea, it should not be a standalone repository. Furthermore, we can add the placeholder repositories on repositories search. So that, there is no center server. Index site is still a center server.
Author
Owner

@lunny commented on GitHub (Aug 14, 2019):

We could add a table named RepoIndex which only have RepoName, RepoDescription and RepoLink or another column topics. Then all repositories search will search this table but not repository.

@lunny commented on GitHub (Aug 14, 2019): We could add a table named `RepoIndex` which only have `RepoName`, `RepoDescription` and `RepoLink` or another column `topics`. Then all repositories search will search this table but not `repository`.
Author
Owner

@sapk commented on GitHub (Aug 14, 2019):

The feature could be as a part of gitea, it should not be a standalone repository.

I fear that it doesn't scale well in gitea.

So that, there is no center server. Index site is still a center server.

In this case, I think that is good to be centered (like a marketplace) and it is not needed for using Gitea. This should be an OSS so anymore can run it but having a "trusted" central point is important for publicity.

Later, when we have more insight on federation and better codebase this can become obselete by integrating it in gitea. In fact, this can provide experience for federation without impacting the security of gitea instances. (ex: rogue instance that send/expose malicious crafted payload)

@sapk commented on GitHub (Aug 14, 2019): > The feature could be as a part of gitea, it should not be a standalone repository. I fear that it doesn't scale well in gitea. > So that, there is no center server. Index site is still a center server. In this case, I think that is good to be centered (like a marketplace) and it is not needed for using Gitea. This should be an OSS so anymore can run it but having a "trusted" central point is important for publicity. Later, when we have more insight on federation and better codebase this can become obselete by integrating it in gitea. In fact, this can provide experience for federation without impacting the security of gitea instances. (ex: rogue instance that send/expose malicious crafted payload)
Author
Owner

@lunny commented on GitHub (Aug 14, 2019):

@sapk that likes a search engine for git repositories, not only for gitea but also all git repositories on the internet.

@lunny commented on GitHub (Aug 14, 2019): @sapk that likes a search engine for git repositories, not only for gitea but also all git repositories on the internet.
Author
Owner

@sapk commented on GitHub (Aug 14, 2019):

Yes you can see it like that but the main goal is gitea.
If other git platform would like to be listed and do the implementation I wouldn't see any problem.

@sapk commented on GitHub (Aug 14, 2019): Yes you can see it like that but the main goal is gitea. If other git platform would like to be listed and do the implementation I wouldn't see any problem.
Author
Owner

@kolaente commented on GitHub (Aug 14, 2019):

I like the idea, but I think it should be "opt-in" for either the whole instance or individual repos.

@kolaente commented on GitHub (Aug 14, 2019): I like the idea, but I think it should be "opt-in" for either the whole instance or individual repos.
Author
Owner

@sapk commented on GitHub (Aug 15, 2019):

Rethinking about it and how to implement it (and variable time I have), I feel we could do a simple awesome-gitea (https://github.com/sindresorhus/awesome/blob/master/awesome.md).
That way only proposed project are listed.

Edit: the other advantage is that it can be directly forked/mirrored across various instances.

@sapk commented on GitHub (Aug 15, 2019): Rethinking about it and how to implement it (and variable time I have), I feel we could do a simple awesome-gitea (https://github.com/sindresorhus/awesome/blob/master/awesome.md). That way only proposed project are listed. Edit: the other advantage is that it can be directly forked/mirrored across various instances.
Author
Owner

@sapk commented on GitHub (Aug 16, 2019):

As an example: https://gitea.com/sapk/awesome-gitea/src/branch/master/README.md

@sapk commented on GitHub (Aug 16, 2019): As an example: https://gitea.com/sapk/awesome-gitea/src/branch/master/README.md
Author
Owner

@lunny commented on GitHub (Aug 16, 2019):

@sapk I like your new idea than before. If we can generate the list from the Gitea API and post PR to this repositories and all other gitea instances could mirror this repositories.

@lunny commented on GitHub (Aug 16, 2019): @sapk I like your new idea than before. If we can generate the list from the Gitea API and post PR to this repositories and all other gitea instances could mirror this repositories.
Author
Owner

@strk commented on GitHub (Oct 30, 2019):

See also https://github.com/go-gitea/website/issues/70

@strk commented on GitHub (Oct 30, 2019): See also https://github.com/go-gitea/website/issues/70
Author
Owner

@sapk commented on GitHub (Oct 31, 2019):

I made a poc with: https://explore.sapk.fr/#/ (go + js/vue + elasticsearch)
It is not perfect but a good POC.
I will release the sources.

@sapk commented on GitHub (Oct 31, 2019): I made a poc with: https://explore.sapk.fr/#/ (go + js/vue + elasticsearch) It is not perfect but a good POC. I will release the sources.
Author
Owner

@kolaente commented on GitHub (Oct 31, 2019):

@sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch?

@kolaente commented on GitHub (Oct 31, 2019): @sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch?
Author
Owner

@sapk commented on GitHub (Oct 31, 2019):

@kolaente exactly.

@sapk commented on GitHub (Oct 31, 2019): @kolaente exactly.
Author
Owner

@strk commented on GitHub (Nov 1, 2019):

@sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch?

Query the API of which instances ? How did you find instances ?

--strk;

@strk commented on GitHub (Nov 1, 2019): > @sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch? Query the API of _which_ instances ? How did you find instances ? --strk;
Author
Owner

@lunny commented on GitHub (Nov 2, 2019):

@sapk awesome!!!

@lunny commented on GitHub (Nov 2, 2019): @sapk awesome!!!
Author
Owner

@theAkito commented on GitHub (Nov 2, 2019):

@sapk You must be doing something right if @lunny himself cheers you.

@theAkito commented on GitHub (Nov 2, 2019): @sapk You must be doing something right if @lunny himself cheers you.
Author
Owner

@sapk commented on GitHub (Nov 3, 2019):

@strk They are hard-coded in code currently. I found them via Twitter or some Google specific search.

The main issues are :

  • the search box is not good at searching XD (I need to learn some ES tricks)
  • and the way to include (manual currently) and way to exclude instance and repos (I would like to respect robot.txt and other implementations similar that maybe needed to be implemented in Gitea)
@sapk commented on GitHub (Nov 3, 2019): @strk They are hard-coded in code currently. I found them via Twitter or some Google specific search. The main issues are : - the search box is not good at searching XD (I need to learn some ES tricks) - and the way to include (manual currently) and way to exclude instance and repos (I would like to respect robot.txt and other implementations similar that maybe needed to be implemented in Gitea)
Author
Owner

@sapk commented on GitHub (Nov 7, 2019):

The source-code is available on gitea.com :
https://gitea.com/sapk/explore
https://gitea.com/sapk/explore-webapp

@sapk commented on GitHub (Nov 7, 2019): The source-code is available on gitea.com : https://gitea.com/sapk/explore https://gitea.com/sapk/explore-webapp
Author
Owner

@sunjam commented on GitHub (Aug 23, 2021):

#16758 allows public instances to be indexed via nodeinfo metadata.

https://github.com/jhass/nodeinfo

@sunjam commented on GitHub (Aug 23, 2021): #16758 allows public instances to be indexed via nodeinfo metadata. https://github.com/jhass/nodeinfo
Author
Owner

@trymeouteh commented on GitHub (Nov 13, 2021):

+1 for a public list of gitea instances

@trymeouteh commented on GitHub (Nov 13, 2021): +1 for a public list of gitea instances
Author
Owner

@MoralCode commented on GitHub (Jul 3, 2022):

I havent looked into this too much but i recently found https://forgefed.org, which seems to mention that gitea is working on implementing it.

In my relatively ilittle amount of research it seems like this should allow any gitea instance to federate with other instances to see not only each others repositories, but allow their users to fork, add issues, and make pull requests on their own instance, while also communicating this information back to other instances so that these issues and pull requests can stay in sync.

@MoralCode commented on GitHub (Jul 3, 2022): I havent looked into this too much but i recently found https://forgefed.org, which seems to mention that gitea is working on implementing it. In my relatively ilittle amount of research it seems like this should allow any gitea instance to federate with other instances to see not only each others repositories, but allow their users to fork, add issues, and make pull requests on their own instance, while also communicating this information back to other instances so that these issues and pull requests can stay in sync.
Author
Owner

@hickford commented on GitHub (Sep 27, 2023):

You can find some Gitea and Forgejo instances using search engines:

@hickford commented on GitHub (Sep 27, 2023): You can find some Gitea and Forgejo instances using search engines: * ["Powered by Gitea"](https://www.google.com/search?q=%22powered+by+Gitea%22) * ["Powered by Forgejo"](https://www.google.com/search?q=%22powered+by+Forgejo%22)
Author
Owner

@milahu commented on GitHub (Jan 30, 2024):

tor-hidden gitea instances

add onion git remote

cd your_repo
git remote add darktea.onion http://it7otdanqu7ktntxzm427cba6i53w6wlanlh23v5i3siqmos47pzhvyd.onion/your_org/your_repo
git config --add remote.darktea.onion.proxy socks5h://127.0.0.1:9050

note: this requires a running tor client, providing a socks5 proxy on 127.0.0.1:9050

sudo systemctl start tor
@milahu commented on GitHub (Jan 30, 2024): tor-hidden gitea instances - [darktea.onion](http://it7otdanqu7ktntxzm427cba6i53w6wlanlh23v5i3siqmos47pzhvyd.onion/) - [righttoprivacy.onion](http://gg6zxtreajiijztyy5g6bt5o6l3qu32nrg7eulyemlhxwwl6enk6ghad.onion/) add onion git remote ``` cd your_repo git remote add darktea.onion http://it7otdanqu7ktntxzm427cba6i53w6wlanlh23v5i3siqmos47pzhvyd.onion/your_org/your_repo git config --add remote.darktea.onion.proxy socks5h://127.0.0.1:9050 ``` note: this requires a running tor client, providing a socks5 proxy on `127.0.0.1:9050` ``` sudo systemctl start tor ```
Author
Owner

@manito-manopla commented on GitHub (Mar 13, 2024):

Do you mean something similar to mastodon? Because if so, I agree with the idea that Gitea can be a federated network, although the instances are different, users can follow each other and contribute to the repositories of others that are in other instances without having to create an account in those respective instances

@manito-manopla commented on GitHub (Mar 13, 2024): Do you mean something similar to mastodon? Because if so, I agree with the idea that Gitea can be a federated network, although the instances are different, users can follow each other and contribute to the repositories of others that are in other instances without having to create an account in those respective instances
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#3778