開始構築#
バックエンド#
heroku#
github プロジェクトのリンクを開き、star をつけてこのプロジェクトを fork します。
heroku の公式サイトを開き、ログイン後に heroku アカウントの api_key を取得する必要があります。画像を参考にクリックしてください
下にスクロールし、画像のように、2 つのボックスに表示されている内容をコピーします
先ほど fork した github プロジェクトに戻り、画像のようにHEROKU_API_KEY
とHEROKU_EMAIL
という名前の Secret を 2 つ追加します。説明は以下の通りです:
HEROKU_API_KEY | 先ほど取得した heroku_api_key |
---|---|
HEROKU_EMAIL | heroku アカウントのメールアドレス |
次に、画像のように.github/workflows/heroku.yml
というファイルを編集し、heroku_app_name
の値を変更します。重複しない名前を付けることをお勧めします。heroku のホームページで新しいプロジェクトを作成し、重複しない名前を取得してから、これにコピーして作成をキャンセルします
4. 画像のように、actions を有効にします。
画像のように action を実行します。
5. 問題がなければ、これで成功を意味します。
同時に、heroku アカウントのホームページにもプロジェクトが追加されます。
6. 以下の URL にアクセスして、インストールが成功したかどうかを確認します。
https://herokuプロジェクトの名前.herokuapp.com/version
このように表示されれば成功です。
koyeb#
このアイコンをクリックし、すべてデフォルトのままで大丈夫です。
同様に、画像の 1 のように待ち、以下のアドレスにアクセスします。
画像の2のアドレス/version
このようであれば成功です。
okteto#
まず、このプロジェクトを fork し、github で okteto にログインします https://cloud.okteto.com
運が必要な場合があり、登録できないことがあります。その場合は別の github アカウントを使用してください。通常、長い間使用している github アカウントは正常に登録できます。
これを選択します
github でデプロイを選択します。
これを選択して「launch」をクリックします。
その後は気にしないでください。
デプロイが完了するまで待ちます。約 2 分ほどです。
running と表示されればデプロイが完了しています。ブラウザでこのリンクを開きます。
ブラウザで開いたときに 504 timeout 503 または他のエラーが表示された場合、
解決策:シークレットウィンドウを開き、ブラウザを変更します。
シークレットウィンドウを開き、上記のリンクの後にsub?
を追加します。下の画像が表示されれば完了です。
これで、okteto を使用して clash サブスクリプション変換バックエンド subconver のデプロイが完了しました。
northflank#
画像のように、画像のアドレスは:https://github.com/jth445600/subconverter-heroku-koyeb-northflankです。http を選択し、チェックを入れることを忘れないでください。
デプロイが完了するのを待ち、画像のボタンをクリックしてアドレスをコピーします。
新しいタブを開き、コピーしたアドレスの後に「/version」を追加します。返された内容が画像のようであれば成功です。
フロントエンド#
フロントエンドは無料の静的ウェブサービスプロバイダーを使用して構築します。ここでは vercel をお勧めしますが、cf pages を使用することもできます。
1.この github プロジェクトを fork します。
2. デフォルトのバックエンドアドレスを変更し、src/views/Subconverter.vue ファイルを編集します。
258 行目の backendOptions で、http://127.0.0.1:25500
を先ほど heroku と koyeb から返されたアドレスに変更します。
注意:後ろの/sub?
は削除しないでください。heroku のアドレスは通常、アプリケーション名1.herokuapp.com
です。
koyeb はここに表示されるアドレスで、okteto も同様です。
northflank はコピーしたアドレスです。
さらに、複数のバックエンドアドレスを以下の形式でカスタマイズすることもできます。
backendOptions: [
{ value: "https://subsc.ednovas.xyz/sub?" },
{ value: "http://api.tsutsu.cc:520/sub?" },
{ value: "https://api2.tsutsu.cc/sub?" },
{ value: "https://api.v1.mk/sub?" },
{ value: "https://subcon.dlj.tf/sub?" },
{ value: "https://api.dler.io/sub?" },
{ value: "https://api.wcc.best/sub?" },
{ value: "https://api.hope140.live/sub?" },
{ value: "https://sub.proxypoolv2.tk/sub?" },
{ value: "https://sub.id9.cc/sub?" },
],
さらに、以下のようなルールもあります。
{
label: "ACL4SSR",
options: [
{
label: "ACL4SSR_Online デフォルト版 グループが比較的多い (Githubと同期)",
value: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini"
},
{
label: "ACL4SSR_Online_AdblockPlus 広告除去が多い (Githubと同期)",
value: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_NoAuto 自動測定なし (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoAuto.ini"
},
{
label: "ACL4SSR_Online_NoReject 広告ブロックルールなし (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoReject.ini"
},
{
label: "ACL4SSR_Online_Mini 簡易版 (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini.ini"
},
{
label: "ACL4SSR_Online_Mini_AdblockPlus.ini 簡易版 広告除去が多い (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_Mini_NoAuto.ini 簡易版 自動測定なし (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_NoAuto.ini"
},
{
label: "ACL4SSR_Online_Mini_Fallback.ini 簡易版 フォールバックあり (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_Fallback.ini"
},
{
label: "ACL4SSR_Online_Mini_MultiMode.ini 簡易版 自動測定、フォールバック、負荷分散 (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_MultiMode.ini"
},
{
label: "ACL4SSR_Online_Full 全グループ 重度ユーザー向け (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full.ini"
},
{
label: "ACL4SSR_Online_Full_NoAuto.ini 全グループ 自動測定なし 重度ユーザー向け (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_NoAuto.ini"
},
{
label: "ACL4SSR_Online_Full_AdblockPlus 全グループ 重度ユーザー向け 広告除去が多い (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_Full_Netflix 全グループ 重度ユーザー向け Netflix全量 (Githubと同期)",
value:"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_Netflix.ini"
},
{
label: "ACL4SSR ローカル デフォルト版 グループが比較的多い",
value: "config/ACL4SSR.ini"
},
{
label: "ACL4SSR_Mini ローカル 簡易版",
value: "config/ACL4SSR_Mini.ini"
},
{
label: "ACL4SSR_Mini_NoAuto.ini ローカル 簡易版+自動測定なし",
value: "config/ACL4SSR_Mini_NoAuto.ini"
},
{
label: "ACL4SSR_Mini_Fallback.ini ローカル 簡易版+フォールバック",
value: "config/ACL4SSR_Mini_Fallback.ini"
},
{
label: "ACL4SSR_BackCN ローカル 中国向け",
value: "config/ACL4SSR_BackCN.ini"
},
{
label: "ACL4SSR_NoApple ローカル Apple分流なし",
value: "config/ACL4SSR_NoApple.ini"
},
{
label: "ACL4SSR_NoAuto ローカル 自動測定なし ",
value: "config/ACL4SSR_NoAuto.ini"
},
{
label: "ACL4SSR_NoAuto_NoApple ローカル 自動測定なし&Apple分流なし",
value: "config/ACL4SSR_NoAuto_NoApple.ini"
},
{
label: "ACL4SSR_NoMicrosoft ローカル Microsoft分流なし",
value: "config/ACL4SSR_NoMicrosoft.ini"
},
{
label: "ACL4SSR_WithGFW ローカル GFWリスト",
value: "config/ACL4SSR_WithGFW.ini"
}
]
},
- heroku の無料アカウントは 1 ヶ月に 550 時間の使用時間しかないため、複数のアカウントが必要です。この記事を参考にしてください。
同様に cf pagers の URL またはカスタマイズした workers のアドレスに置き換えます。
最後に、お好みの静的ウェブサービスプロバイダーにデプロイします。