Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

An apt transport for i2p using the built-in HTTP proxy

License

NotificationsYou must be signed in to change notification settings

eyedeekay/apt-transport-i2phttp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a simple transport for downloading debian packages from a repositoryover i2p. It uses the built-in HTTP proxy or one you configure. It's amodified version ofdiocles/apt-tranport-http-golang,a plain HTTP Transport for apt.

Besides that, I think most would agree that it is simpler to use an apttransport to detect when a package should be retrieved from an i2p service.Especially in cases where the user is mixing packages from Tor, I2P, andClearnet sources, this process can become confusing and involve configuringmultiple applications along with apt. Instead, apt-transport-i2phttp works withother apt transports like apt-transport-tor and even apt-transport-i2p(A SAMbased alternate i2p transport), requiring no configuration on the vast majorityof systems.

To install it:

If you're on Ubuntu and want to fetch it from the github release, you can runthese 2 commands.

wget https://github.com/eyedeekay/apt-transport-i2phttp/releases/download/0.4/default.$(lsb_release -s -c)-apt-transport-i2phttp_0.4_amd64.debsudo dpkg -i default.$(lsb_release -s -c)-apt-transport-i2phttp_0.4_amd64.deb

If you're on Debian, you'll need to use this for stable:

wget https://github.com/eyedeekay/apt-transport-i2phttp/releases/download/0.4/default.stable-apt-transport-i2phttp_0.4_amd64.debsudo dpkg -i default.stable-apt-transport-i2phttp_0.4_amd64.deb

this for testing:

wget https://github.com/eyedeekay/apt-transport-i2phttp/releases/download/0.4/default.testing-apt-transport-i2phttp_0.4_amd64.debsudo dpkg -i default.testing-apt-transport-i2phttp_0.4_amd64.deb

and this for sid:

wget https://github.com/eyedeekay/apt-transport-i2phttp/releases/download/0.4/default.unstable-apt-transport-i2phttp_0.4_amd64.debsudo dpkg -i default.unstable-apt-transport-i2phttp_0.4_amd64.deb

Once you've done that, run these 2 commands:

http_proxy=http://127.0.0.1:4444 wget -O - 'http://apt.idk.i2p/key.asc' | sudo apt-key add - echo deb i2p://apt.idk.i2p unstable main | sudo tee /etc/apt/sources.list.d/apt.idk.i2p.list

That will allow you to obtain automatic updates from the in-network apt repository.Note that you will need to visit apt.idk.i2p in an I2P-enabled browser to add thehostname to your address book, otherwise you'll recieveERROR 500: Domain Not Foundwhen fetching the keys.

As long as you have an i2p router installed the http proxy should be enabledby default.

If you want to build for a system I haven't made a binary for, you can just:

    make build && sudo make install

to install ./apt-transport-i2phttp to /usr/lib/apt/methods/i2p, requiring noadditional configuration.

To use it:

There aren't very many apt repositories inside of I2P yet, the 2 that I knowabout are both operated by me. One is an apt-cacher-ng proxy, which is effectivelya means of fetching clearnet debian packages from with I2P. You can use it with anapt line something like this:

deb i2p://ul5nnihwk5v67iutqn6ac3fdy32acmc7socjjncwyshywmbz36ea.b32.i2p/deb.debian.org/debian stable main

In this case, the caching proxy is the host where you fetch packages from, andthe path is the desired Debian package repository.

Alternatively, there may be actual package repositories inside of I2P you wish touse it, like my experimental packages repository, you would just use the repositoryhostname instead, like this:

deb i2p://apt.idk.i2p unstable main

Of course, to install packages from this repository, you'll need to fetch the repokey.

    http_proxy=http://127.0.0.1:4444 wget -O - 'http://apt.idk.i2p/key.asc' | sudo apt-key add -

To build a proper deb of it:

Building a release is done with pbuilder to avoid building a release withpackages not in the appropriate version of Debian or Ubuntu. Usepbuilder create to set up the chroot appropriate to your targetdistribution. Then, in the root of the repository directory, run the commanddebuild -s to generate a .dsc file in the parent directory. Now that youhave the ,dsc file, create a build directory usingmkdir -p deb/targetdistroand runpbuilder build --buildresult ./deb/stable to generate your actualdeb packages. Of course, you'll have to adjust the commands to suit the targetdistribution. And you have to do it for every single distribution you want tobuild for.

Youmust have this line specified in your ~/.pbuilderrc file:

PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-apt

and, if you wish to build for both Debianand Ubuntu, you must not specify amirror in your ~/.pbuilderrc or the mirror specified by the --mirror flag willnot be honored.

I have the release.sh script in the root of this repothat I use to make my life easier. It should also be pretty easy to understand.From the repository directory, run the script like:

    $pathtoscript/release.sh stable

so to build for like a whole bunch of releases(With it installed as release-pdebin /usr/local/bin):

    release-pdeb stable    release-pdeb testing    release-pdeb unstable    release-pdeb bionic    release-pdeb eoan    release-pdeb focal

To Release it:

This software is released in 2 places, an out-of-network source and an in-networksource. The out-of-network source is this github repository's release section.Other mirrors can be made available by others but this is the official one. If youwant to release to your own github mirror, set the USERNAME environment variableand run the commandmake github-release.

About

An apt transport for i2p using the built-in HTTP proxy

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp