Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Index public repos of gitea instances #7853

Open
sapk opened this issue Aug 14, 2019 · 26 comments
Open

Index public repos of gitea instances #7853

sapk opened this issue Aug 14, 2019 · 26 comments
Labels
type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@sapk
Copy link
Member

sapk commented 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.

@lafriks
Copy link
Member

lafriks commented Aug 14, 2019

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

@lunny lunny added the type/proposal The new feature has not been accepted yet but needs to be discussed first. label Aug 14, 2019
@lunny
Copy link
Member

lunny commented 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
Copy link
Member

lunny commented 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
Copy link
Member

lunny commented 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.

@sapk
Copy link
Member Author

sapk commented 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)

@lunny
Copy link
Member

lunny commented Aug 14, 2019

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

@sapk
Copy link
Member Author

sapk commented 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.

@kolaente
Copy link
Member

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

@sapk
Copy link
Member Author

sapk commented 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
Copy link
Member Author

sapk commented Aug 16, 2019

@lunny
Copy link
Member

lunny commented 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.

@strk
Copy link
Member

strk commented Oct 30, 2019

See also go-gitea/website#70

@sapk
Copy link
Member Author

sapk commented 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.

@kolaente
Copy link
Member

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

@sapk
Copy link
Member Author

sapk commented Oct 31, 2019

@kolaente exactly.

@strk
Copy link
Member

strk commented Nov 1, 2019 via email

@lunny
Copy link
Member

lunny commented Nov 2, 2019

@sapk awesome!!!

@theAkito
Copy link

theAkito commented Nov 2, 2019

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

@sapk
Copy link
Member Author

sapk commented 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
Copy link
Member Author

sapk commented Nov 7, 2019

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

@sunjam
Copy link

sunjam commented Aug 23, 2021

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

https://github.com/jhass/nodeinfo

@trymeouteh

This comment was marked as duplicate.

@MoralCode
Copy link

MoralCode commented 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.

@hickford
Copy link
Contributor

hickford commented Sep 27, 2023

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

@milahu
Copy link

milahu commented 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

@manito-manopla
Copy link

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 up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

No branches or pull requests