| LICENSES | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| onion_location.py | ||
| pyproject.toml | ||
| README.rst | ||
| REUSE.toml | ||
Onion-Location
Python library for discovering Onion-Location HTTP headers.
Usage
>>> from onion_location import get_onion_location >>> get_onion_location("https://www.torproject.org/") 'http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/index.html'
Contributing
TL;DR
Behave
like a decent person, install pre-commit, run
pre-commit install in the project root, and take heed of
any errors you get when trying to commit.
General
The project aims to follow best practices for development. Be sure to behave like a decent person in all interactions related to this project.
We follow a number of standards and best-practices to hopefully ease on-boarding of contributors, incl. our future selves. This includes utilising pre-commit to automate checking a bunch of things before code even gets committed to the repository. It is highly recommended that anyone wanting to contribute enables this.
Relevant standards for code style and commit messages are specified in those sections.
REUSE
The REUSE Specification aims to "make licensing easy for humans and machines alike." This is unlikely something you will need to worry about, but in the case where you do wish to add code from elsewhere, be sure to keep this in mind.
Code style
This project generally aims to adhere to official Python project style guidelines, such as PEP8. More specifically, it uses the Black code style as implemented via Ruff.
Commit style
Keep commits atomic and use Conventional Commits with good commit messages.
License
Onion-Location is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Some parts of the repository may be distributed under different terms. This project adheres to the REUSE Specification version 3.2 and any files or code deviating from the general license of the project will be annotated as such.