FreeBSD + nginx + Redis + Monit 前提
- 旧 pub-relay を置き換え
- Mastodon / Misskey の デフォルトハッシュタグ同期用リレー
- 「立てたら基本放置」できる安定構成
| #!/usr/bin/env ruby | |
| require 'date' | |
| require 'pg' | |
| # 設定 | |
| TARGET = 'zroot/postgres' # 対象パーティション | |
| DAYS = 7 # 保管する日数 | |
| DSN = 'postgres://postgres@localhost/mastodon' # PG形式の接続文字列 | |
| def snapshots(target = TARGET) |
| <?php | |
| $client = new Aws\CognitoIdentityProvider\CognitoIdentityProviderClient([ | |
| 'version' => 'latest', | |
| 'region' => REGION, | |
| 'credentials' => [ | |
| 'key' => IAM_ACCESS_KEY, | |
| 'secret' => IAM_SECRET_KEY, | |
| ], | |
| ]); |
| /// @ 0.15.1 | |
| // おみくじぷりせっといじったよ | |
| // ぷいきゅあがんばえーー!! | |
| // 選択肢 | |
| var mioo = [ | |
| "[光の使者、キュアブラック!](https://www.youtube.com/watch?v=maiX-2d4R3w)" | |
| "[光の使者、キュアホワイト!](https://www.youtube.com/watch?v=maiX-2d4R3w)" | |
| "[輝く命、シャイニールミナス! 光の心と光の意志、全てを一つにするために!](https://www.youtube.com/watch?v=sR-dT4UMC-w)" | |
| "[輝く金の花! キュアブルーム!](https://www.youtube.com/watch?v=HcWHcS142Kw)" |
| #!/usr/bin/env ruby | |
| dir = File.expand_path('..', __dir__) | |
| $LOAD_PATH.unshift(File.join(dir, 'app/lib')) | |
| ENV['BUNDLE_GEMFILE'] = File.join(dir, 'Gemfile') | |
| URL = 'https://timetreeapis.com/calendars/__CALENDAR__/upcoming_events?timezone=Asia/Tokyo&days=7&include=attendees' | |
| TOKEN = '__TOKEN__' | |
| require 'tomato_shrieker' | |
| module TomatoShrieker | |
| today = ARGV.first ? Time.parse(ARGV.first).to_date : Date.today |
| #!/usr/bin/env ruby | |
| require 'resolv' | |
| require 'httparty' | |
| require 'timeout' | |
| File.read('./instances.txt').each_line(chomp: true) do |domain| | |
| Timeout.timeout(10) do | |
| Resolv::DNS.new.getaddress(domain) | |
| code = HTTParty.get("https://#{domain}/nodeinfo/2.0.json").code | |
| raise '404' if code == 404 |
読み取り:予定 を含める。| #!/usr/bin/env ruby | |
| dir = File.expand_path('..', __dir__) | |
| $LOAD_PATH.unshift(File.join(dir, 'app/lib')) | |
| ENV['BUNDLE_GEMFILE'] = File.join(dir, 'Gemfile') | |
| require 'mulukhiya' | |
| ROOT_URL = 'https://www.toei-anim.co.jp/tv/delicious-party_precure/'.freeze | |
| SOURCE_URL = 'https://www.toei-anim.co.jp/tv/delicious-party_precure/news/'.freeze | |
| Dir.chdir(dir) |
| #!/usr/bin/env ruby | |
| dir = File.expand_path('..', __dir__) | |
| $LOAD_PATH.unshift(File.join(dir, 'app/lib')) | |
| ENV['BUNDLE_GEMFILE'] = File.join(dir, 'Gemfile') | |
| require 'tomato_shrieker' | |
| module TomatoShrieker | |
| class ::Integer | |
| def to_time | |
| return Time.at(self / 1000) |
| #!/usr/bin/env ruby | |
| dir = File.expand_path('..', __dir__) | |
| $LOAD_PATH.unshift(File.join(dir, 'app/lib')) | |
| ENV['BUNDLE_GEMFILE'] = File.join(dir, 'Gemfile') | |
| require 'tomato_shrieker' | |
| module TomatoShrieker | |
| class ::Integer | |
| def to_time | |
| return Time.at(self / 1000) |