我建议反向代理是因为反向代理比较容易建,占用空间也少。镜像当然更好(目前一共924MB),不过我不知道多少人需要。
由于这是非常常规的apt库,所以做镜像是非常容易的,比如可以用apt-mirror。设置文件及生成设置文件的脚本我贴在下面(也可以看这个gist:<https://gist.github.com/zmwangx/f8e4d66d7e7a3f14e6df9f4c9ba15a69>)。不过有新的Node.js主要版本或者新的Debian/Ubuntu版本时需要小更新(频率比较低)。
---
`gen-mirror-list`:
```py
#!/usr/bin/env python3
import bs4
import requests
def gen_mirror_list(node_version):
base_url = 'https://deb.nodesource.com/%s/' % node_version
dists_url = base_url + 'dists/'
soup = bs4.BeautifulSoup(requests.get(dists_url).text, 'html.parser')
for a in soup.find_all('a'):
dist = a.text.rstrip('/')
if dist == '..':
continue
print('deb %s %s main' % (base_url, dist))
print()
print('clean %s' % base_url)
print()
def main():
for node_version in ('node_8.x', 'node_7.x', 'node_6.x', 'node_5.x',
'node_4.x', 'node_0.12', 'node_0.10',
'iojs_3.x', 'iojs_2.x', 'iojs_1.x'):
gen_mirror_list(node_version)
if __name__ == '__main__':
main()
```
---
`mirror.list`:
```ini
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb https://deb.nodesource.com/node_8.x/ artful main
deb https://deb.nodesource.com/node_8.x/ buster main
deb https://deb.nodesource.com/node_8.x/ jessie main
deb https://deb.nodesource.com/node_8.x/ sid main
deb https://deb.nodesource.com/node_8.x/ stretch main
deb https://deb.nodesource.com/node_8.x/ trusty main
deb https://deb.nodesource.com/node_8.x/ xenial main
deb https://deb.nodesource.com/node_8.x/ yakkety main
deb https://deb.nodesource.com/node_8.x/ zesty main
clean https://deb.nodesource.com/node_8.x/
deb https://deb.nodesource.com/node_7.x/ buster main
deb https://deb.nodesource.com/node_7.x/ jessie main
deb https://deb.nodesource.com/node_7.x/ sid main
deb https://deb.nodesource.com/node_7.x/ stretch main
deb https://deb.nodesource.com/node_7.x/ trusty main
deb https://deb.nodesource.com/node_7.x/ xenial main
deb https://deb.nodesource.com/node_7.x/ yakkety main
deb https://deb.nodesource.com/node_7.x/ zesty main
clean https://deb.nodesource.com/node_7.x/
deb https://deb.nodesource.com/node_6.x/ artful main
deb https://deb.nodesource.com/node_6.x/ buster main
deb https://deb.nodesource.com/node_6.x/ jessie main
deb https://deb.nodesource.com/node_6.x/ precise main
deb https://deb.nodesource.com/node_6.x/ sid main
deb https://deb.nodesource.com/node_6.x/ stretch main
deb https://deb.nodesource.com/node_6.x/ trusty main
deb https://deb.nodesource.com/node_6.x/ wheezy main
deb https://deb.nodesource.com/node_6.x/ wily main
deb https://deb.nodesource.com/node_6.x/ xenial main
deb https://deb.nodesource.com/node_6.x/ yakkety main
deb https://deb.nodesource.com/node_6.x/ zesty main
clean https://deb.nodesource.com/node_6.x/
deb https://deb.nodesource.com/node_5.x/ jessie main
deb https://deb.nodesource.com/node_5.x/ precise main
deb https://deb.nodesource.com/node_5.x/ sid main
deb https://deb.nodesource.com/node_5.x/ trusty main
deb https://deb.nodesource.com/node_5.x/ vivid main
deb https://deb.nodesource.com/node_5.x/ wheezy main
deb https://deb.nodesource.com/node_5.x/ wily main
deb https://deb.nodesource.com/node_5.x/ xenial main
clean https://deb.nodesource.com/node_5.x/
deb https://deb.nodesource.com/node_4.x/ buster main
deb https://deb.nodesource.com/node_4.x/ jessie main
deb https://deb.nodesource.com/node_4.x/ precise main
deb https://deb.nodesource.com/node_4.x/ sid main
deb https://deb.nodesource.com/node_4.x/ stretch main
deb https://deb.nodesource.com/node_4.x/ trusty main
deb https://deb.nodesource.com/node_4.x/ vivid main
deb https://deb.nodesource.com/node_4.x/ wheezy main
deb https://deb.nodesource.com/node_4.x/ wily main
deb https://deb.nodesource.com/node_4.x/ xenial main
deb https://deb.nodesource.com/node_4.x/ yakkety main
deb https://deb.nodesource.com/node_4.x/ zesty main
clean https://deb.nodesource.com/node_4.x/
deb https://deb.nodesource.com/node_0.12/ jessie main
deb https://deb.nodesource.com/node_0.12/ precise main
deb https://deb.nodesource.com/node_0.12/ sid main
deb https://deb.nodesource.com/node_0.12/ trusty main
deb https://deb.nodesource.com/node_0.12/ utopic main
deb https://deb.nodesource.com/node_0.12/ vivid main
deb https://deb.nodesource.com/node_0.12/ wheezy main
deb https://deb.nodesource.com/node_0.12/ wily main
deb https://deb.nodesource.com/node_0.12/ xenial main
deb https://deb.nodesource.com/node_0.12/ yakkety main
clean https://deb.nodesource.com/node_0.12/
deb https://deb.nodesource.com/node_0.10/ jessie main
deb https://deb.nodesource.com/node_0.10/ lucid main
deb https://deb.nodesource.com/node_0.10/ precise main
deb https://deb.nodesource.com/node_0.10/ saucy main
deb https://deb.nodesource.com/node_0.10/ sid main
deb https://deb.nodesource.com/node_0.10/ trusty main
deb https://deb.nodesource.com/node_0.10/ utopic main
deb https://deb.nodesource.com/node_0.10/ vivid main
deb https://deb.nodesource.com/node_0.10/ wheezy main
deb https://deb.nodesource.com/node_0.10/ wily main
deb https://deb.nodesource.com/node_0.10/ xenial main
clean https://deb.nodesource.com/node_0.10/
deb https://deb.nodesource.com/iojs_3.x/ jessie main
deb https://deb.nodesource.com/iojs_3.x/ sid main
deb https://deb.nodesource.com/iojs_3.x/ trusty main
deb https://deb.nodesource.com/iojs_3.x/ vivid main
clean https://deb.nodesource.com/iojs_3.x/
deb https://deb.nodesource.com/iojs_2.x/ jessie main
deb https://deb.nodesource.com/iojs_2.x/ sid main
deb https://deb.nodesource.com/iojs_2.x/ trusty main
deb https://deb.nodesource.com/iojs_2.x/ utopic main
deb https://deb.nodesource.com/iojs_2.x/ vivid main
clean https://deb.nodesource.com/iojs_2.x/
deb https://deb.nodesource.com/iojs_1.x/ jessie main
deb https://deb.nodesource.com/iojs_1.x/ sid main
deb https://deb.nodesource.com/iojs_1.x/ trusty main
deb https://deb.nodesource.com/iojs_1.x/ utopic main
deb https://deb.nodesource.com/iojs_1.x/ vivid main
clean https://deb.nodesource.com/iojs_1.x/
```