使用windows10 64位系統構建自己的ipfs服務器

可以離線,不需翻牆
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

配置文件,"Addresses"中"Gateway"字段,現在是:
"/ip4/127.0.0.1/tcp/8080",
修改為:
"/ip4/0.0.0.0/tcp/8080",

我的win10在路由器中綁定了IP 192.168.0.220。重啓ipfs,即可在同一局域網的所有設備通過http://192.168.0.220:8080/ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB/ 來訪問了。
如果修改時不小心出錯,導致ipfs無法啟動,可以在系統盤\用戶\Admin\.ipfs目錄裡的config文件直接修改回來,就可以讓ipfs正常啟動。
使用win10構建局域網內的ipfs服務器比較可行(其他系統應該也可以)。保持主機(主機選擇一個低功耗的cpu)常開,定時自動pin。那麼局域網內所有設備就都可以享受飛一樣的網速了。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

定期pin(固定)的命令是:
ipfs name resolve --dhtt 200s QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB | sed 's/\/ipfs\///' | ipfs pin add

ipfs是ipfs desktop中go-ipfs提供的命令,sed在linux是系統集成的命令,在windows下需要自己下載安裝。


win10下用sed(使用cmd命令窗口直接使用)
1、安装gitbash,因为gitbash自带sed
下载安装git (windows版)
网址:https://git-scm.com/download/win
点击for windows版本->下载,后安装
2、把sed所在目錄添加到环境变量path中,
sed命令在你的Git安裝目標目錄\usr\bin
3、重新打开命令窗口,输入sed就能直接使用了

因為我們只需要sed命令,下載gitbash便攜版(精簡版)即可,完整版亦可。

把ipfs命令所在的目錄也需添加到環境變量path中。一般是
ipfs desktop安裝目標目錄\resources\app.asar.unpacked\node_modules\go-ipfs-dep\go-ipfs

建立ipfs_pin.bat批處理文件,內容即為
ipfs name resolve --dhtt 200s QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB | sed 's/\/ipfs\///' | ipfs pin add

把ipfs_pin.bat加入到win10計劃任務中定時啟動即可。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

計劃任務可設每小時或者每天啟動。
第一次pin(固定)因為要下載完整的網站大約16MB,用時較長。pin成功後,再次pin,如果站點未更改過,則秒速完成。如果有文件變更,網站hash會改變,這時pin會只下載修改或新增文件,沒有變更的文件會從已固定(已緩存)的文件直接引用。在本地ipfs管理頁面上雖然顯示每個不同的hash對應著16MB,其實物理存儲空間並未佔用很多(增量下載)。過時的hash可解除固定。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

以Tplink路由器為例,開放公網可以訪問。
國內公網ip對80及8080端口是封禁的,不申請備案是不允許連入的。對公網我們可以使用8081端口。
我使用的是tplink app來管理路由,網頁端訪問貌似不太一樣。

在「虛擬服務器」,添加本機的IP(我的win10是192.168.0.220),外部端口8081,內部端口8080,協議選擇ALL(或者TCP)。

現在使用你的公網ip就可以訪問自己的ipfs服務器了。
http://公網ip:8081/ipns/QmSeJ41iXwebzm3KP ... jE4RuY4YB/

tplink提供ddns服務(TPDDNS),可以申請自己的域名。
類似xxxxx⋯.tpddns.cn這樣的,登陸後就可以使用域名來訪問我們的ipfs服務器了。
http://xxxxx⋯.tpddns.cn:8081/ipns/QmSeJ ... jE4RuY4YB/
需要注意的是:斷網再次連接時,公網ip會改變。雖然我們及時登陸自己的域名,但是此域名已經廣播出去,再次廣播改正回來需要很長時間(幾小時至幾十小時),可以多註冊一個備用域名,此時登陸備用域名即可,等下次斷網重連更換公網ip時可以輪換使用我們自己的域名。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

當ipns無法正常使用時,可以使用「ipfs/最新固定的hash」來訪問。
把上述網址中的ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB/,替換為ipfs/最新固定的hash。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

修正:
更改ipfs_pin.bat為以下內容

@ipfs dht get /pk/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB >pk.dat
@ipfs dht get /ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB >ipns.dat
@ipfs dht put /pk/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB <pk.dat >nul
@ipfs dht put /ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB <ipns.dat >nul
@ipfs name resolve --dhtt 200s QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB | sed 's/\/ipfs\///' | ipfs pin add >nul

離線、無網、重啟都可以訪問,建議計劃任務間隔1小時,可以及時獲取最新網站數據。

一個TPLINK路由器只可以註冊一個TPDDNS域名,測試發現當斷網重新獲取新公網IP後,域名解析生效時間約幾十分鐘,可以滿足實際需求。
苏滨
Posts: 144
Joined: 2012-02-14 Tue, 12:21pm
Location: 广州

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 苏滨 »

非常繁瑣,看得兩眼發暈,即便本人是IT行業從業者,也感到十分費力不願勞神。
如此對比,電腦科技與中醫,到底誰是真正的高技術、誰更人性化,一目了然。
兒,蘇當,06年生,孤獨癥患者。12年起用多成中醫,情感表現日漸豐富、活發可愛,始知天倫之樂。

人能常清靜,天地悉皆歸。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

https://github.com/ipfs-shipyard/ipfs-desktop
IPFS-DESKTOP 下載頁面。不需科學上網即可訪問。雖然ipfs.io首頁需要科學上網才可訪問,下載頁並未封鎖。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

配置文件
“Gateway”.“NoFetch”現在是false
如果讓我們的節點只提供本機已經緩存固定的數據,可以把此參數修改為true。即我們的節點僅提供已經pin的多成網站數據。以後數據更新的工作要依靠ipfs_pin.bat,根據計劃任務設定主動獲取。新安裝的節點,可以在安裝完ipfs程序後,手動運行一次ipfs_pin.bat。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

可以自動解固舊hash的ipfs_pin.bat

@echo 正在處理,請稍候..

@ ipfs dht get /pk/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB >pk.dat
@ ipfs dht get /ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB >ipns.dat
@ ipfs dht put /pk/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB <pk.dat >nul
@ ipfs dht put /ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB <ipns.dat >nul

@ipfs name resolve --dhtt 200s QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB | sed 's/\/ipfs\///' | ipfs pin add
@if errorlevel 1 goto end

@ipfs name resolve --dhtt 200s QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB | sed 's/\/ipfs\///' >curhash.txt
@if not exist oldhash.txt goto saveoldhash
@fc oldhash.txt curhash.txt
@if errorlevel 1 goto continue1
@goto end

:continue1
@ipfs pin rm -r <oldhash.txt
@del oldhash.txt

:saveoldhash
@ren curhash.txt oldhash.txt

:end
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

可安装向日葵远程控制软件.企业用户.客户端for windows版,手机可以监控,重启服务器。(https://sunlogin.oray.com/download)
在bios,電源管理設置裡,修改選項,可實現加電即啟動,實現無人值守。
貼子中的各項操作,如有疑惑,可自行搜索網上的操作教程,按圖索驥,照搬使用。(涉及windows操作,路由器設置,主板bios設置⋯)
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

沒有公網IP,可以嘗試一下花生殼免費版,https://hsk.oray.com/download/ ,新建「影射」,應用類型http。也可以做到公網訪問內網的服務器。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

配置文件
"GateWay"中"RootRedirect": "",
修改為 "RootRedirect": "/ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB/",

重新啟動ipfs後,直接輸入ip加端口或者域名加端口,例如“http://127.0.0.1:8080”即可以自動重定向到http://127.0.0.1:8080/ipns/QmSeJ41iXwebzm3KPTixBc3zoetBD61df76BRjE4RuY4YB/多成ipns網址。
刘洪营
Posts: 520
Joined: 2010-08-20 Fri, 11:26am
Location: 山东

Re: 使用windows10 64位系統構建自己的ipfs服務器

Unread post by 刘洪营 »

刘洪营 wrote: 2020-09-12 Sat, 12:11pm 配置文件
“Gateway”.“NoFetch”現在是false
如果讓我們的節點只提供本機已經緩存固定的數據,可以把此參數修改為true。即我們的節點僅提供已經pin的多成網站數據。以後數據更新的工作要依靠ipfs_pin.bat,根據計劃任務設定主動獲取。新安裝的節點,可以在安裝完ipfs程序後,手動運行一次ipfs_pin.bat。
不公開的節點,此參數可不啟用。
Post Reply

Return to “多成去中心化網站 DuoSuccess Decentralization Website”