#proxy #proxy-server #wallet #token #certificate #url #solflare

app sunspot

Solflare 钱包的代理服务器,用于重新启用自定义 RPC 端点

5 个版本

0.1.3 2023 年 9 月 29 日
0.1.2 2023 年 9 月 13 日
0.1.1 2023 年 9 月 13 日
0.1.0 2023 年 9 月 13 日
0.0.0 2023 年 9 月 9 日

#89 in #proxy-server

每月 33 次下载

MIT/Apache

41KB
443

Sunspot 代理

Crates.io Crates.io Crates.io

Sunspot 是一个代理服务器,它为 Solflare Solana 钱包启用自定义 RPC URL 和自定义令牌元数据列表。

安装

cargo install sunspot

设置本地证书颁发机构

生成证书

从仓库根目录

chmod +x generate-cert.sh
./generate-cert.sh

从任何位置

mkdir -p ./certs
openssl genrsa -out ./certs/sunspot.key 2048
openssl req -x509 -new -nodes -key ./certs/sunspot.key -sha256 -days 1825 -out ./certs/sunspot.pem

将 CA 添加到 Chrome

  1. 在您的 Chrome 浏览器中转到 chrome://settings/certificates
  2. 转到 Authorities 选项卡,然后点击 Import
  3. certs 目录中选择 sunspot.pem 文件
  4. 选择 Trust this certificate for identifying websites 并点击 OK

将 CA 添加到 Firefox

  1. 在您的 Firefox 浏览器中转到 about:preferences#privacy 并滚动到 Certificates
  2. 点击 View Certificates,转到 Authorities 选项卡,然后点击 Import
  3. certs 目录中选择 sunspot.pem 文件
  4. 选择 Trust this CA to identify websites. 并点击 OK

设置 SwitchyOmega 代理

  1. Chrome 网上应用店Firefox 扩展程序 安装
  2. 在 SwitchyOmega 选项中,转到导入/导出并点击 Restore from file
  3. switchy-omega-proxy 目录中选择 OmegaOptions.bak 文件
  4. 点击 Apply Changes 并通过扩展图标启用 auto switch 选项

用法

建议使用 Solflare 的 Testnet RPC 选项。这将导致 Solflare 通过 Testnet 节点路由交易,因此如果 API 突然更改,真实交易不会路由到 Mainnet-Beta。Testnet 还禁用了一些功能,这正是我们想要的,因为 Sunspot 还不能支持所有功能(目前还不能)!

sunspot --help
sunspot -k ./certs/sunspot.key -c ./certs/sunspot.pem https://127.0.0.1:8899

使用自定义令牌列表文件

Sunspot 允许您提供一个自定义的 token-list JSON 文件,用于在钱包视图和模拟过程中添加自定义名称、符号和 imageURIs。

{
  "<Token Mint String>": {
    "name": "<Token Name>",
    "symbol": "<Token Symbol>",
    "imageUri": "<Token Image URI>"
  },
  // USD Coin Example
  "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": {
    "name": "USD Coin",
    "symbol": "USDC",
    "imageUri": "https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png?1547042389"
  }
}

您可以使用 --token-list (-t) 标志将此文件传递给 Sunspot。

sunspot -k ./certs/sunspot.key -c ./certs/sunspot.pem -t ./tokens.json https://127.0.0.1:8899

感谢

特别感谢 Hudsucker 库提供的 MITM HTTP/S 代理实现

依赖项

~59–79MB
~1.5M SLoC