diff --git a/404.html b/404.html new file mode 100644 index 0000000000..64f96c0a56 --- /dev/null +++ b/404.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +404 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

404 +

+ + + +
+ + + + +
+

这里什么都没有,去主页看看吧😃

+ +
+ + + +
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/cdn/index.html b/about/cdn/index.html new file mode 100644 index 0000000000..4dd65d4cf5 --- /dev/null +++ b/about/cdn/index.html @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +根据访问者IP实现CDN加速站点重定向服务 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +

根据访问者IP实现CDN加速站点重定向服务 +

+ + + +
+ + + + +
+

鉴于目前Jsdelivr在国内访问速度不太稳定,时常出现无法访问的情况,所以我用cdn.ycyc.win做了一个重定向,根据访问者的IP来做判断。如果访问IP为国外地址,则跳转到cdn.jsdelivr.net服务器;如果访问IP为国内地址,目前跳转到了 gcore.jsdelivr.net。如果后续该域名受到污染,会及时修改到其他可用站点。
+所以如果有加速需求的朋友,可以将原有的cdn.jsdelivr.net替换为cdn.ycyc.win,根据访问者IP来判断定向站点。

+ +
+ + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/emoji/index.html b/about/emoji/index.html new file mode 100644 index 0000000000..5677c81f00 --- /dev/null +++ b/about/emoji/index.html @@ -0,0 +1,1912 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MarkDown emoji表情 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +

MarkDown emoji表情 +

+ + + +
+ + + + +
+

People

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:bowtie: :bowtie:😄 :smile:😆 :laughing:
😊 :blush:😃 :smiley:☺️ :relaxed:
😏 :smirk:😍 :heart_eyes:😘 :kissing_heart:
😚 :kissing_closed_eyes:😳 :flushed:😌 :relieved:
😆 :satisfied:😁 :grin:😉 :wink:
😜 :stuck_out_tongue_winking_eye:😝 :stuck_out_tongue_closed_eyes:😀 :grinning:
😗 :kissing:😙 :kissing_smiling_eyes:😛 :stuck_out_tongue:
😴 :sleeping:😟 :worried:😦 :frowning:
😧 :anguished:😮 :open_mouth:😬 :grimacing:
😕 :confused:😯 :hushed:😑 :expressionless:
😒 :unamused:😅 :sweat_smile:😓 :sweat:
😥 :disappointed_relieved:😩 :weary:😔 :pensive:
😞 :disappointed:😖 :confounded:😨 :fearful:
😰 :cold_sweat:😣 :persevere:😢 :cry:
😭 :sob:😂 :joy:😲 :astonished:
😱 :scream::neckbeard: :neckbeard:😫 :tired_face:
😠 :angry:😡 :rage:😤 :triumph:
😪 :sleepy:😋 :yum:😷 :mask:
😎 :sunglasses:😵 :dizzy_face:👿 :imp:
😈 :smiling_imp:😐 :neutral_face:😶 :no_mouth:
😇 :innocent:👽 :alien:💛 :yellow_heart:
💙 :blue_heart:💜 :purple_heart:❤️ :heart:
💚 :green_heart:💔 :broken_heart:💓 :heartbeat:
💗 :heartpulse:💕 :two_hearts:💞 :revolving_hearts:
💘 :cupid:💖 :sparkling_heart::sparkles:
:star:🌟 :star2:💫 :dizzy:
💥 :boom:💥 :collision:💢 :anger:
:exclamation::question::grey_exclamation:
:grey_question:💤 :zzz:💨 :dash:
💦 :sweat_drops:🎶 :notes:🎵 :musical_note:
🔥 :fire:💩 :hankey:💩 :poop:
💩 :shit:👍 :+1:👍 :thumbsup:
👎 :-1:👎 :thumbsdown:👌 :ok_hand:
👊 :punch:👊 :facepunch::fist:
✌️ :v:👋 :wave::hand:
:raised_hand:👐 :open_hands:☝️ :point_up:
👇 :point_down:👈 :point_left:👉 :point_right:
🙌 :raised_hands:🙏 :pray:👆 :point_up_2:
👏 :clap:💪 :muscle:🤘 :metal:
🖕 :fu:🚶 :walking:🏃 :runner:
🏃 :running:👫 :couple:👪 :family:
👬 :two_men_holding_hands:👭 :two_women_holding_hands:💃 :dancer:
👯 :dancers:🙆‍♀️ :ok_woman:🙅 :no_good:
💁 :information_desk_person:🙋 :raising_hand:👰‍♀️ :bride_with_veil:
:person_with_pouting_face: :person_with_pouting_face::person_frowning: :person_frowning:🙇 :bow:
💏 :couplekiss:💑 :couple_with_heart:💆 :massage:
💇 :haircut:💅 :nail_care:👦 :boy:
👧 :girl:👩 :woman:👨 :man:
👶 :baby:👵 :older_woman:👴 :older_man:
:person_with_blond_hair: :person_with_blond_hair:👲 :man_with_gua_pi_mao:👳‍♂️ :man_with_turban:
👷 :construction_worker:👮 :cop:👼 :angel:
👸 :princess:😺 :smiley_cat:😸 :smile_cat:
😻 :heart_eyes_cat:😽 :kissing_cat:😼 :smirk_cat:
🙀 :scream_cat:😿 :crying_cat_face:😹 :joy_cat:
😾 :pouting_cat:👹 :japanese_ogre:👺 :japanese_goblin:
🙈 :see_no_evil:🙉 :hear_no_evil:🙊 :speak_no_evil:
💂‍♂️ :guardsman:💀 :skull:🐾 :feet:
👄 :lips:💋 :kiss:💧 :droplet:
👂 :ear:👀 :eyes:👃 :nose:
👅 :tongue:💌 :love_letter:👤 :bust_in_silhouette:
👥 :busts_in_silhouette:💬 :speech_balloon:💭 :thought_balloon:
:feelsgood: :feelsgood::finnadie: :finnadie::goberserk: :goberserk:
:godmode: :godmode::hurtrealbad: :hurtrealbad::rage1: :rage1:
:rage2: :rage2::rage3: :rage3::rage4: :rage4:
:suspect: :suspect::trollface: :trollface:
+

Nature

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
☀️ :sunny::umbrella:☁️ :cloud:
❄️ :snowflake::snowman::zap:
🌀 :cyclone:🌁 :foggy:🌊 :ocean:
🐱 :cat:🐶 :dog:🐭 :mouse:
🐹 :hamster:🐰 :rabbit:🐺 :wolf:
🐸 :frog:🐯 :tiger:🐨 :koala:
🐻 :bear:🐷 :pig:🐽 :pig_nose:
🐮 :cow:🐗 :boar:🐵 :monkey_face:
🐒 :monkey:🐴 :horse:🐎 :racehorse:
🐫 :camel:🐑 :sheep:🐘 :elephant:
🐼 :panda_face:🐍 :snake:🐦 :bird:
🐤 :baby_chick:🐥 :hatched_chick:🐣 :hatching_chick:
🐔 :chicken:🐧 :penguin:🐢 :turtle:
🐛 :bug:🐝 :honeybee:🐜 :ant:
🪲 :beetle:🐌 :snail:🐙 :octopus:
🐠 :tropical_fish:🐟 :fish:🐳 :whale:
🐋 :whale2:🐬 :dolphin:🐄 :cow2:
🐏 :ram:🐀 :rat:🐃 :water_buffalo:
🐅 :tiger2:🐇 :rabbit2:🐉 :dragon:
🐐 :goat:🐓 :rooster:🐕 :dog2:
🐖 :pig2:🐁 :mouse2:🐂 :ox:
🐲 :dragon_face:🐡 :blowfish:🐊 :crocodile:
🐪 :dromedary_camel:🐆 :leopard:🐈 :cat2:
🐩 :poodle:🐾 :paw_prints:💐 :bouquet:
🌸 :cherry_blossom:🌷 :tulip:🍀 :four_leaf_clover:
🌹 :rose:🌻 :sunflower:🌺 :hibiscus:
🍁 :maple_leaf:🍃 :leaves:🍂 :fallen_leaf:
🌿 :herb:🍄 :mushroom:🌵 :cactus:
🌴 :palm_tree:🌲 :evergreen_tree:🌳 :deciduous_tree:
🌰 :chestnut:🌱 :seedling:🌼 :blossom:
🌾 :ear_of_rice:🐚 :shell:🌐 :globe_with_meridians:
🌞 :sun_with_face:🌝 :full_moon_with_face:🌚 :new_moon_with_face:
🌑 :new_moon:🌒 :waxing_crescent_moon:🌓 :first_quarter_moon:
🌔 :waxing_gibbous_moon:🌕 :full_moon:🌖 :waning_gibbous_moon:
🌗 :last_quarter_moon:🌘 :waning_crescent_moon:🌜 :last_quarter_moon_with_face:
🌛 :first_quarter_moon_with_face:🌔 :moon:🌍 :earth_africa:
🌎 :earth_americas:🌏 :earth_asia:🌋 :volcano:
🌌 :milky_way::partly_sunny::octocat: :octocat:
:squirrel: :squirrel:
+

Objects

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
🎍 :bamboo:💝 :gift_heart:🎎 :dolls:
🎒 :school_satchel:🎓 :mortar_board:🎏 :flags:
🎆 :fireworks:🎇 :sparkler:🎐 :wind_chime:
🎑 :rice_scene:🎃 :jack_o_lantern:👻 :ghost:
🎅 :santa:🎄 :christmas_tree:🎁 :gift:
🔔 :bell:🔕 :no_bell:🎋 :tanabata_tree:
🎉 :tada:🎊 :confetti_ball:🎈 :balloon:
🔮 :crystal_ball:💿 :cd:📀 :dvd:
💾 :floppy_disk:📷 :camera:📹 :video_camera:
🎥 :movie_camera:💻 :computer:📺 :tv:
📱 :iphone:☎️ :phone:☎️ :telephone:
📞 :telephone_receiver:📟 :pager:📠 :fax:
💽 :minidisc:📼 :vhs:🔉 :sound:
🔈 :speaker:🔇 :mute:📢 :loudspeaker:
📣 :mega::hourglass::hourglass_flowing_sand:
:alarm_clock::watch:📻 :radio:
📡 :satellite::loop:🔍 :mag:
🔎 :mag_right:🔓 :unlock:🔒 :lock:
🔏 :lock_with_ink_pen:🔐 :closed_lock_with_key:🔑 :key:
💡 :bulb:🔦 :flashlight:🔆 :high_brightness:
🔅 :low_brightness:🔌 :electric_plug:🔋 :battery:
📲 :calling:📧 :email:📫 :mailbox:
📮 :postbox:🛀 :bath:🛁 :bathtub:
🚿 :shower:🚽 :toilet:🔧 :wrench:
🔩 :nut_and_bolt:🔨 :hammer:💺 :seat:
💰 :moneybag:💴 :yen:💵 :dollar:
💷 :pound:💶 :euro:💳 :credit_card:
💸 :money_with_wings:📧 :e-mail:📥 :inbox_tray:
📤 :outbox_tray:✉️ :envelope:📨 :incoming_envelope:
📯 :postal_horn:📪 :mailbox_closed:📬 :mailbox_with_mail:
📭 :mailbox_with_no_mail:🚪 :door:🚬 :smoking:
💣 :bomb:🔫 :gun:🔪 :hocho:
💊 :pill:💉 :syringe:📄 :page_facing_up:
📃 :page_with_curl:📑 :bookmark_tabs:📊 :bar_chart:
📈 :chart_with_upwards_trend:📉 :chart_with_downwards_trend:📜 :scroll:
📋 :clipboard:📆 :calendar:📅 :date:
📇 :card_index:📁 :file_folder:📂 :open_file_folder:
✂️ :scissors:📌 :pushpin:📎 :paperclip:
✒️ :black_nib:✏️ :pencil2:📏 :straight_ruler:
📐 :triangular_ruler:📕 :closed_book:📗 :green_book:
📘 :blue_book:📙 :orange_book:📓 :notebook:
📔 :notebook_with_decorative_cover:📒 :ledger:📚 :books:
🔖 :bookmark:📛 :name_badge:🔬 :microscope:
🔭 :telescope:📰 :newspaper:🏈 :football:
🏀 :basketball::soccer::baseball:
🎾 :tennis:🎱 :8ball:🏉 :rugby_football:
🎳 :bowling::golf:🚵 :mountain_bicyclist:
🚴 :bicyclist:🏇 :horse_racing:🏂 :snowboarder:
🏊 :swimmer:🏄 :surfer:🎿 :ski:
♠️ :spades:♥️ :hearts:♣️ :clubs:
♦️ :diamonds:💎 :gem:💍 :ring:
🏆 :trophy:🎼 :musical_score:🎹 :musical_keyboard:
🎻 :violin:👾 :space_invader:🎮 :video_game:
🃏 :black_joker:🎴 :flower_playing_cards:🎲 :game_die:
🎯 :dart:🀄 :mahjong:🎬 :clapper:
📝 :memo:📝 :pencil:📖 :book:
🎨 :art:🎤 :microphone:🎧 :headphones:
🎺 :trumpet:🎷 :saxophone:🎸 :guitar:
👞 :shoe:👡 :sandal:👠 :high_heel:
💄 :lipstick:👢 :boot:👕 :shirt:
👕 :tshirt:👔 :necktie:👚 :womans_clothes:
👗 :dress:🎽 :running_shirt_with_sash:👖 :jeans:
👘 :kimono:👙 :bikini:🎀 :ribbon:
🎩 :tophat:👑 :crown:👒 :womans_hat:
👞 :mans_shoe:🌂 :closed_umbrella:💼 :briefcase:
👜 :handbag:👝 :pouch:👛 :purse:
👓 :eyeglasses:🎣 :fishing_pole_and_fish::coffee:
🍵 :tea:🍶 :sake:🍼 :baby_bottle:
🍺 :beer:🍻 :beers:🍸 :cocktail:
🍹 :tropical_drink:🍷 :wine_glass:🍴 :fork_and_knife:
🍕 :pizza:🍔 :hamburger:🍟 :fries:
🍗 :poultry_leg:🍖 :meat_on_bone:🍝 :spaghetti:
🍛 :curry:🍤 :fried_shrimp:🍱 :bento:
🍣 :sushi:🍥 :fish_cake:🍙 :rice_ball:
🍘 :rice_cracker:🍚 :rice:🍜 :ramen:
🍲 :stew:🍢 :oden:🍡 :dango:
🥚 :egg:🍞 :bread:🍩 :doughnut:
🍮 :custard:🍦 :icecream:🍨 :ice_cream:
🍧 :shaved_ice:🎂 :birthday:🍰 :cake:
🍪 :cookie:🍫 :chocolate_bar:🍬 :candy:
🍭 :lollipop:🍯 :honey_pot:🍎 :apple:
🍏 :green_apple:🍊 :tangerine:🍋 :lemon:
🍒 :cherries:🍇 :grapes:🍉 :watermelon:
🍓 :strawberry:🍑 :peach:🍈 :melon:
🍌 :banana:🍐 :pear:🍍 :pineapple:
🍠 :sweet_potato:🍆 :eggplant:🍅 :tomato:
🌽 :corn:
+

Places

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
🏠 :house:🏡 :house_with_garden:🏫 :school:
🏢 :office:🏣 :post_office:🏥 :hospital:
🏦 :bank:🏪 :convenience_store:🏩 :love_hotel:
🏨 :hotel:💒 :wedding::church:
🏬 :department_store:🏤 :european_post_office:🌇 :city_sunrise:
🌆 :city_sunset:🏯 :japanese_castle:🏰 :european_castle:
:tent:🏭 :factory:🗼 :tokyo_tower:
🗾 :japan:🗻 :mount_fuji:🌄 :sunrise_over_mountains:
🌅 :sunrise:🌠 :stars:🗽 :statue_of_liberty:
🌉 :bridge_at_night:🎠 :carousel_horse:🌈 :rainbow:
🎡 :ferris_wheel::fountain:🎢 :roller_coaster:
🚢 :ship:🚤 :speedboat::boat:
:sailboat:🚣 :rowboat::anchor:
🚀 :rocket:✈️ :airplane:🚁 :helicopter:
🚂 :steam_locomotive:🚊 :tram:🚞 :mountain_railway:
🚲 :bike:🚡 :aerial_tramway:🚟 :suspension_railway:
🚠 :mountain_cableway:🚜 :tractor:🚙 :blue_car:
🚘 :oncoming_automobile:🚗 :car:🚗 :red_car:
🚕 :taxi:🚖 :oncoming_taxi:🚛 :articulated_lorry:
🚌 :bus:🚍 :oncoming_bus:🚨 :rotating_light:
🚓 :police_car:🚔 :oncoming_police_car:🚒 :fire_engine:
🚑 :ambulance:🚐 :minibus:🚚 :truck:
🚋 :train:🚉 :station:🚆 :train2:
🚅 :bullettrain_front:🚄 :bullettrain_side:🚈 :light_rail:
🚝 :monorail:🚃 :railway_car:🚎 :trolleybus:
🎫 :ticket::fuelpump:🚦 :vertical_traffic_light:
🚥 :traffic_light:⚠️ :warning:🚧 :construction:
🔰 :beginner:🏧 :atm:🎰 :slot_machine:
🚏 :busstop:💈 :barber:♨️ :hotsprings:
🏁 :checkered_flag:🎌 :crossed_flags:🏮 :izakaya_lantern:
🗿 :moyai:🎪 :circus_tent:🎭 :performing_arts:
📍 :round_pushpin:🚩 :triangular_flag_on_post:🇯🇵 :jp:
🇰🇷 :kr:🇨🇳 :cn:🇺🇸 :us:
🇫🇷 :fr:🇪🇸 :es:🇮🇹 :it:
🇷🇺 :ru:🇬🇧 :gb:🇬🇧 :uk:
🇩🇪 :de:
+

Symbols

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1️⃣ :one:2️⃣ :two:3️⃣ :three:
4️⃣ :four:5️⃣ :five:6️⃣ :six:
7️⃣ :seven:8️⃣ :eight:9️⃣ :nine:
🔟 :keycap_ten:🔢 :1234:0️⃣ :zero:
#️⃣ :hash:🔣 :symbols:◀️ :arrow_backward:
⬇️ :arrow_down:▶️ :arrow_forward:⬅️ :arrow_left:
🔠 :capital_abcd:🔡 :abcd:🔤 :abc:
↙️ :arrow_lower_left:↘️ :arrow_lower_right:➡️ :arrow_right:
⬆️ :arrow_up:↖️ :arrow_upper_left:↗️ :arrow_upper_right:
:arrow_double_down::arrow_double_up:🔽 :arrow_down_small:
⤵️ :arrow_heading_down:⤴️ :arrow_heading_up:↩️ :leftwards_arrow_with_hook:
↪️ :arrow_right_hook:↔️ :left_right_arrow:↕️ :arrow_up_down:
🔼 :arrow_up_small:🔃 :arrows_clockwise:🔄 :arrows_counterclockwise:
:rewind::fast_forward:ℹ️ :information_source:
🆗 :ok:🔀 :twisted_rightwards_arrows:🔁 :repeat:
🔂 :repeat_one:🆕 :new:🔝 :top:
🆙 :up:🆒 :cool:🆓 :free:
🆖 :ng:🎦 :cinema:🈁 :koko:
📶 :signal_strength::u5272: :u5272::u5408: :u5408:
:u55b6: :u55b6::u6307: :u6307::u6708: :u6708:
:u6709: :u6709:🈵 :u6e80::u7121: :u7121:
:u7533: :u7533::u7a7a: :u7a7a::u7981: :u7981:
🈂️ :sa:🚻 :restroom:🚹 :mens:
🚺 :womens:🚼 :baby_symbol:🚭 :no_smoking:
🅿️ :parking::wheelchair:🚇 :metro:
🛄 :baggage_claim:🉑 :accept:🚾 :wc:
🚰 :potable_water:🚮 :put_litter_in_its_place:㊙️ :secret:
㊗️ :congratulations:Ⓜ️ :m:🛂 :passport_control:
🛅 :left_luggage:🛃 :customs:🉐 :ideograph_advantage:
🆑 :cl:🆘 :sos:🆔 :id:
🚫 :no_entry_sign:🔞 :underage:📵 :no_mobile_phones:
🚯 :do_not_litter:🚱 :non-potable_water:🚳 :no_bicycles:
🚷 :no_pedestrians:🚸 :children_crossing::no_entry:
✳️ :eight_spoked_asterisk:✴️ :eight_pointed_black_star:💟 :heart_decoration:
🆚 :vs:📳 :vibration_mode:📴 :mobile_phone_off:
💹 :chart:💱 :currency_exchange::aries:
:taurus::gemini::cancer:
:leo::virgo::libra:
:scorpius::sagittarius::capricorn:
:aquarius::pisces::ophiuchus:
🔯 :six_pointed_star::negative_squared_cross_mark:🅰️ :a:
🅱️ :b:🆎 :ab:🅾️ :o2:
💠 :diamond_shape_with_a_dot_inside:♻️ :recycle:🔚 :end:
🔛 :on:🔜 :soon:🕐 :clock1:
🕜 :clock130:🕙 :clock10:🕥 :clock1030:
🕚 :clock11:🕦 :clock1130:🕛 :clock12:
🕧 :clock1230:🕑 :clock2:🕝 :clock230:
🕒 :clock3:🕞 :clock330:🕓 :clock4:
🕟 :clock430:🕔 :clock5:🕠 :clock530:
🕕 :clock6:🕡 :clock630:🕖 :clock7:
🕢 :clock730:🕗 :clock8:🕣 :clock830:
🕘 :clock9:🕤 :clock930:💲 :heavy_dollar_sign:
©️ :copyright:®️ :registered:™️ :tm:
:x::heavy_exclamation_mark:‼️ :bangbang:
⁉️ :interrobang::o:✖️ :heavy_multiplication_x:
:heavy_plus_sign::heavy_minus_sign::heavy_division_sign:
💮 :white_flower:💯 :100:✔️ :heavy_check_mark:
☑️ :ballot_box_with_check:🔘 :radio_button:🔗 :link:
:curly_loop:〰️ :wavy_dash:〽️ :part_alternation_mark:
🔱 :trident::black_square: :black_square::white_square: :white_square:
:white_check_mark:🔲 :black_square_button:🔳 :white_square_button:
:black_circle::white_circle:🔴 :red_circle:
🔵 :large_blue_circle:🔷 :large_blue_diamond:🔶 :large_orange_diamond:
🔹 :small_blue_diamond:🔸 :small_orange_diamond:🔺 :small_red_triangle:
🔻 :small_red_triangle_down::shipit: :shipit:
+ +
+ + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/img/index.html b/about/img/index.html new file mode 100644 index 0000000000..92a63506df --- /dev/null +++ b/about/img/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +专用图床 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

专用图床 +

+ + + +
+ + + + +
+

该图床托管于Github,并使用Cloudflare进行加速。
+目前仅供个人使用。后续可能会开发使用。
+图床二级域名:
+https://img.ycyc.win
+https://img.miaoyang.win

+ +
+ + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000000..c94c62c6c2 --- /dev/null +++ b/about/index.html @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +关于 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +

关于 +

+ + + +
+ + + + +
+
+

linkedin_banner_image_2

+
+

关于我

+

89年双子座理工男,坐标山西太原。目前已结婚,一儿一女,有压力,但很幸福。
+非计算机专业科班,仅为业余爱好,站点部分内容可能表述不专业,见谅。

+
+

一些经历

+

2000年左右接触互联网;
+打开的第一个网站好像是cctv.com,当时只记得这一个网址;
+第一个QQ号是在小卖铺的公用电话打168申请的,现在已经忘记了;
+第一个邮箱是xxxxxxxx.student@sina.com结尾的,现在已经忘记了,还记得当时死活不会输入@;
+玩的第一个游戏应该是暴力摩托,玩的最长时间的游戏是跑跑卡丁车,现在基本上不玩游戏;
+上的第一个购物网站是卓越网joyo.com,也就是现在的亚马逊;
+第一次建网站好像是在一个名为zjtop.com的网站上建的论坛;
+第一次自己租虚拟空间是在常来网,这个网站已经倒闭很多年了,之后就是自己购买VPS,安装环境,搭建网站;
+自建博客用的第一个系统是pjblog,现在好像已经不更新了;
+之后转战多年WordPress,直到现在HEXO;
+自己买的第一部手机是2007年左右从淘宝买的西门子的S65,曾经很长一段时间里钟爱鼓捣西门子手机还有曾经的西客站和0110;
+2016年左右开始接触HomeAssistant,应该算是国内第一批;
+喜欢的偶像是BEYOND,五月天,孙燕姿;
+喜欢的运动品牌是美津浓;
+喜欢的互联网公司是Google,Apple。

+
+

持有设备

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
笔电移动路由智能其他
Macbook Pro 2019iPhone12HUAWEI AX3 路由器天猫精灵方糖小米手环7
MacBook Pro 2015iPhone11网件WAX206小米多模智能网关2X86架构的黑群晖
ThinkPad X13 gen1iPhone7CMCC RAX3000M小爱AI音箱EPSON L3251
Chromebox3iPad mini2斐讯N1盒子(OpenWRT)小米智能家庭套装AirPods 2
京东AX1800PRO小爱音箱paly增强版
+
+

电报二维码
+telegram

+
+ +
+ + + +
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/link/index.html b/about/link/index.html new file mode 100644 index 0000000000..40a5cba9ed --- /dev/null +++ b/about/link/index.html @@ -0,0 +1,424 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +短链接服务 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +

短链接服务 +

+ + + +
+ + + + +
+

目前可用链接地址为to.ycyc.win/yourlink 。
+站点地址:
+https://to.ycyc.win

+
+

该服务部署于Cloudflare的Worker。
+该服务为免费服务,使用前需遵守中华人民共和国相关法律法规。请勿设置跳转到非法链接,以免服务被封,影响其他用户使用。谢谢合作。

+
+ +
+ + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/node/index.html b/about/node/index.html new file mode 100644 index 0000000000..880691ce14 --- /dev/null +++ b/about/node/index.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +公益节点 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +

公益节点 +

+ + + +
+ + + + +
+

节点订阅链接

+
+

更新时间:2024/11/6

+
+
1
2
3
4
5
6
7
V2Ray/XRay -> https://fs.v2rayse.com/share/20241106/ht0zi73k2z.txt

clash -> https://fs.v2rayse.com/share/20241106/1uk0xhveea.yaml

mihomo(测试内核) -> https://fs.v2rayse.com/share/20241106/og4hxnv0f5.yaml

singbox -> https://fs.v2rayse.com/share/20241106/9safnfcnw9.json
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1. vmess://eyJhZGQiOiAiMTkzLjE2MC4xMzAuMjQ1IiwgImFpZCI6IDAsICJob3N0IjogImJleW9uZGRzei5jZmQiLCAiaWQiOiAiOWI0NTZjMmEtZjJjMS00NWUxLTg3YTktYjc2MjhiMDRiYjI0IiwgIm5ldCI6ICJ3cyIsICJwYXRoIjogIi9saW5rd3MiLCAicG9ydCI6IDQ0MywgInBzIjogIlx1NjMyYVx1NWEwMSBWMkNST1NTLkNPTSIsICJ0bHMiOiAidGxzIiwgInR5cGUiOiAiYXV0byIsICJzZWN1cml0eSI6ICJhdXRvIiwgInNraXAtY2VydC12ZXJpZnkiOiB0cnVlLCAic25pIjogIiJ9
2. vmess://eyJhZGQiOiAiMTcyLjY0LjE5OC4yNDkiLCAidiI6ICIyIiwgInBzIjogIlx1N2Y4ZVx1NTZmZCBDbG91ZEZsYXJlXHU4MjgyXHU3MGI5IiwgInBvcnQiOiAyMDk1LCAiaWQiOiAiMThkOTYxOTAtYzEwZi00NDhmLWE4MmEtMmQzNmRmNWMzY2RlIiwgImFpZCI6ICIwIiwgIm5ldCI6ICJ3cyIsICJ0eXBlIjogIiIsICJob3N0IjogImlwMjAuNjAxNjcyNS54eXoiLCAicGF0aCI6ICIvZ2l0aHViLmNvbS9BbHZpbjk5OTkiLCAidGxzIjogIiJ9
3. vmess://eyJhZGQiOiAiMTA0LjI1LjExMi4xODUiLCAidiI6ICIyIiwgInBzIjogIlx1N2Y4ZVx1NTZmZCBDbG91ZEZsYXJlXHU4MjgyXHU3MGI5IiwgInBvcnQiOiA0NDMsICJpZCI6ICIwOWQ1ODA1Yy03YTIyLTQ3YzEtYjFjMy1mMDkwZGYwYTk4ZWQiLCAiYWlkIjogIjAiLCAibmV0IjogIndzIiwgInR5cGUiOiAiIiwgImhvc3QiOiAicmFjLjY3OTg4OC54eXoiLCAicGF0aCI6ICIvbGZsanZ3cyIsICJ0bHMiOiAidGxzIn0=
4. vmess://eyJhZGQiOiAiMTA0LjE5LjQ1LjMxIiwgInYiOiAiMiIsICJwcyI6ICJcdTdmOGVcdTU2ZmQgQ2xvdWRGbGFyZVx1ODI4Mlx1NzBiOSIsICJwb3J0IjogMjA5NSwgImlkIjogIjE4ZDk2MTkwLWMxMGYtNDQ4Zi1hODJhLTJkMzZkZjVjM2NkZSIsICJhaWQiOiAiMCIsICJuZXQiOiAid3MiLCAidHlwZSI6ICIiLCAiaG9zdCI6ICJpcDIuNjAxNjcyNS54eXoiLCAicGF0aCI6ICJnaXRodWIuY29tL0FsdmluOTk5OSIsICJ0bHMiOiAiIn0=
5. vmess://eyJhZGQiOiAiZ28uYWxpcGF5Lm92aCIsICJ2IjogIjIiLCAicHMiOiAiXHU0ZTM5XHU5ZWE2IFYyQ1JPU1MuQ09NIiwgInBvcnQiOiA4MCwgImlkIjogImE5NDE3MWJlLWIzODctNGYwMi1hNWVmLWExYjRiN2EyNmMwNCIsICJhaWQiOiAiMCIsICJuZXQiOiAid3MiLCAidHlwZSI6ICIiLCAiaG9zdCI6ICJvcGVuLmFsaXBheS5vdmgiLCAicGF0aCI6ICIvYXJpZXM/ZWQ9MjA0OCIsICJ0bHMiOiAiIn0=
6. vmess://eyJ2IjogIjIiLCAicHMiOiAiXHU1ZTdmXHU0ZTFjXHU3NzAxXHU1ZTdmXHU1ZGRlXHU1ZTAyIFx1NzlmYlx1NTJhOCIsICJhZGQiOiAiMTgzLjIzNi41MS4yMyIsICJwb3J0IjogNTY2MDEsICJhaWQiOiA2NCwgInNjeSI6ICJhdXRvIiwgIm5ldCI6ICJ0Y3AiLCAidHlwZSI6ICJub25lIiwgInRscyI6ICIiLCAiaWQiOiAiNDE4MDQ4YWYtYTI5My00Yjk5LTliMGMtOThjYTM1ODBkZDI0In0=
7. vmess://eyJhZGQiOiAiODkuMTY5LjU1LjE1MiIsICJhaWQiOiAiMCIsICJhbHBuIjogIiIsICJmcCI6ICIiLCAiaG9zdCI6ICJzb2NrczV0b2JlZnJlZS55ZG5zLmV1IiwgImlkIjogIjA2MDUzY2JlLWEyOTktNDkzNC1iY2E2LTA3MDdlMTQxNmRjNyIsICJuZXQiOiAid3MiLCAicGF0aCI6ICIvZGFuZ2Vyem9uZSIsICJwb3J0IjogIjMzMDI2IiwgInBzIjogIlx1NGZjNFx1N2Y1N1x1NjVhZiBWMkNST1NTLkNPTSIsICJzY3kiOiAiYXV0byIsICJzbmkiOiAic29ja3M1dG9iZWZyZWUueWRucy5ldSIsICJ0bHMiOiAidGxzIiwgInR5cGUiOiAiIiwgInYiOiAiMiJ9
8. vmess://eyJhZGQiOiAiMTA0LjE5LjEyMy4xMSIsICJ2IjogIjIiLCAicHMiOiAiXHU3ZjhlXHU1NmZkIENsb3VkRmxhcmVcdTgyODJcdTcwYjkiLCAicG9ydCI6IDIwODIsICJpZCI6ICI1ZjNmMDlhZC04OWNiLTRlOTQtYTdhZC1hYTgyMzk5MTM1NTUiLCAiYWlkIjogIjAiLCAibmV0IjogIndzIiwgInR5cGUiOiAiIiwgImhvc3QiOiAiaXAxOS42OTI5MTk4Lnh5eiIsICJwYXRoIjogImdpdGh1Yi5jb20vQWx2aW45OTk5IiwgInRscyI6ICIifQ==
9. ss://YWVzLTI1Ni1nY206ZmFCQW9ENTRrODdVSkc3@142.202.49.119:2375#%E5%8A%A0%E6%8B%BF%E5%A4%A7+V2CROSS.COM
10. vmess://eyJhZGQiOiAiMTcyLjY0LjE1NS4yMDkiLCAidiI6ICIyIiwgInBzIjogIlx1N2Y4ZVx1NTZmZCBDbG91ZEZsYXJlXHU4MjgyXHU3MGI5IiwgInBvcnQiOiA4MCwgImlkIjogImVhNzc0N2Q3LTBmMmItNGJjZS04OWM4LTNiMWM2NTQ1MGJmMiIsICJhaWQiOiAiMCIsICJuZXQiOiAid3MiLCAidHlwZSI6ICIiLCAiaG9zdCI6ICIzOTIzODMxOTMxMDk2NDU0MzkyMDUxOTQ4OTcwMTkwMC5jaHJzamZrbHNkamZrbGpvaWVyZmRqa2xmamxrZWZlb2pzZGxrZmplb2lmanNkbGtmandlb2lmamxzZGNocnMuY3lvdSIsICJwYXRoIjogIi9WMkxJTkUtVEVMRUdSQU0tQ0hBTk5FTC1WTUVTUy1XUyIsICJ0bHMiOiAiIn0=
11. ss://YWVzLTI1Ni1nY206a0RXdlhZWm9UQmNHa0M0@51.77.53.200:8881#%E6%B3%95%E5%9B%BD+OVH
12. ss://YWVzLTEyOC1nY206c2hhZG93c29ja3M=@212.102.47.131:443#%E6%84%8F%E5%A4%A7%E5%88%A9+V2CROSS.COM
13. vmess://eyJhZGQiOiAicDMudjJyYXlicmFzaWwueHl6IiwgInYiOiAiMiIsICJwcyI6ICJcdTdmOGVcdTU2ZmQgQ2xvdWRGbGFyZVx1ODI4Mlx1NzBiOSIsICJwb3J0IjogNDQzLCAiaWQiOiAiZGIwYzBkZjQtYmUyOS00MGVjLTk2MzctZGE0MGY2YTY2Nzc4IiwgImFpZCI6ICIwIiwgIm5ldCI6ICJ3cyIsICJ0eXBlIjogIiIsICJob3N0IjogInRscy5yZWRidWxscGx1cy54eXoiLCAicGF0aCI6ICIveHJheWJyIiwgInRscyI6ICJ0bHMifQ==
14. vmess://eyJhZGQiOiAic3BlZWR0ZXN0Lm5ldCIsICJ2IjogIjIiLCAicHMiOiAiXHU3ZjhlXHU1NmZkIEZhc3RseVx1NTE2OFx1NzQwM0FueWNhc3RcdTgyODJcdTcwYjkiLCAicG9ydCI6IDQ0MywgImlkIjogIjU3NzI3ZDdkLTg4NzMtNDAwMC1iM2Y0LTMzYTkzZmNmZGQ1MSIsICJhaWQiOiAiMCIsICJuZXQiOiAid3MiLCAidHlwZSI6ICIiLCAiaG9zdCI6ICJtZWhyamF2YW4uaXIiLCAicGF0aCI6ICIvbTI4amNvWlpVaGtxZzZwazExIiwgInRscyI6ICJ0bHMifQ==
15. ss://YWVzLTI1Ni1nY206ekROVmVkUkZQUWV4Rzl2@54.37.12.219:6379#%E7%BE%8E%E5%9B%BD+%E6%96%B0%E6%B3%BD%E8%A5%BF%E5%B7%9E%28Merck%E5%85%AC%E5%8F%B8%29
16. vmess://eyJhZGQiOiAiMTcyLjY3LjEyOC4xNzkiLCAidiI6ICIyIiwgInBzIjogIlx1N2Y4ZVx1NTZmZCBDbG91ZEZsYXJlXHU4MjgyXHU3MGI5IiwgInBvcnQiOiA0NDMsICJpZCI6ICIwM2ZjYzYxOC1iOTNkLTY3OTYtNmFlZC04YTM4Yzk3NWQ1ODEiLCAiYWlkIjogIjEiLCAibmV0IjogIndzIiwgInR5cGUiOiAiIiwgImhvc3QiOiAiYi5qYW5uYWguaG9tZXMiLCAicGF0aCI6ICJsaW5rdndzIiwgInRscyI6ICJ0bHMifQ==
17. ss://YWVzLTI1Ni1nY206bEdxczk1UWtGSG8yTlY=@142.202.49.119:5499#%E5%8A%A0%E6%8B%BF%E5%A4%A7+V2CROSS.COM
+
+

Fetching Title#056q
+节点均来自于互联网收集。

+
+

各平台客户端

+

Windows7/8/10-V2ray WinPC电脑客户端程序下载

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
V2rayN下载官网下载
V2rayW下载官网下载
Clash下载官网下载
V2rayS下载官网下载
Mellow下载官网下载
Qv2ray下载官网下载
+

Android/小米MIUI/华为EMUI-V2ray安卓手机客户端Apk程序下载

+ + + + + + + + + + + + + + + + + + + + + + + + + +
V2rayNG下载官网下载
BifrostV下载市场下载
Clash下载官网下载
Kitsunebi下载市场下载
+

MacOS-V2ray 苹果电脑客户端程序下载

+ + + + + + + + + + + + + + + + + + + + + +
V2rayU下载官网下载
V2rayX下载官网下载
ClashX下载官网下载
+

LinuxV2ray Ubuntu/Centos电脑客户端程序下载

+ + + + + + + + + + + + + + + + + + + + + +
Qv2ray下载官网下载
Mellow下载官网下载
V2rayL下载官方安装文档
+

iOS-V2ray苹果手机客户端App程序下载

+

苹果AppStore市场里还没有免费的V2ray iOS客户端,付费的app目前有小火箭Shadowrocket、pepi、i2Ray、Kitsunebi和Quantumult(圈儿,圈叉)可用。

+

ShadowsocksR/SSR客户端下载

+

ShadowsocksR简称SSR,还有酸酸乳、粉色小飞机、纸飞机这些可爱的昵称,使用较为广泛。

+

整理了最新版SSR Windows客户端、SSR安卓客户端、苹果电脑SSR MacOS客户端和苹果手机SSR iOS客户端的下载地址分享给大家。

+

Windows7/8/10-SSR小飞机 WinPC电脑客户端程序下载

+

官网下载

+

****Android/小米MIUI/华为EMUI-SSR小飞机 安卓手机客户端Apk程序下载

+

官网下载

+

****MacOS-SSR小飞机 苹果电脑客户端程序下载

+

官网下载

+

iOS-SSR小飞机 苹果手机客户端App程序下载

+

iPhone或者iPad打开苹果App Store,搜索Mume(暮梅)、Potatso Lite、FastSocks、Shadowrocket(小火箭)。

+

引用

+

优质免费节点每天测速更新2024(6小时更新一次) – v2cross
+长风分享 (cfmem.com)

+ +
+ + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/about/tongji/index.html b/about/tongji/index.html new file mode 100644 index 0000000000..9dbf567460 --- /dev/null +++ b/about/tongji/index.html @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

+

+ + + +
+ + + + +
+ + + + + + + Document + + + 站点访问量 Loading... + 站点访客数 Loading... + 页面访问量 Loading... + + + + +
+ + + +
+ + + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/01/index.html b/archives/2018/01/index.html new file mode 100644 index 0000000000..0d1f31d3c0 --- /dev/null +++ b/archives/2018/01/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/02/index.html b/archives/2018/02/index.html new file mode 100644 index 0000000000..998571828a --- /dev/null +++ b/archives/2018/02/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/04/index.html b/archives/2018/04/index.html new file mode 100644 index 0000000000..58bbd9f29e --- /dev/null +++ b/archives/2018/04/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/04/page/2/index.html b/archives/2018/04/page/2/index.html new file mode 100644 index 0000000000..7c1496613c --- /dev/null +++ b/archives/2018/04/page/2/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/05/index.html b/archives/2018/05/index.html new file mode 100644 index 0000000000..4f69254500 --- /dev/null +++ b/archives/2018/05/index.html @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/06/index.html b/archives/2018/06/index.html new file mode 100644 index 0000000000..8dbbf5b575 --- /dev/null +++ b/archives/2018/06/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/07/index.html b/archives/2018/07/index.html new file mode 100644 index 0000000000..60a8684a20 --- /dev/null +++ b/archives/2018/07/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/08/index.html b/archives/2018/08/index.html new file mode 100644 index 0000000000..f2113184c7 --- /dev/null +++ b/archives/2018/08/index.html @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/10/index.html b/archives/2018/10/index.html new file mode 100644 index 0000000000..34878299e3 --- /dev/null +++ b/archives/2018/10/index.html @@ -0,0 +1,514 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/11/index.html b/archives/2018/11/index.html new file mode 100644 index 0000000000..69d466afa1 --- /dev/null +++ b/archives/2018/11/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/12/index.html b/archives/2018/12/index.html new file mode 100644 index 0000000000..6094365b35 --- /dev/null +++ b/archives/2018/12/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/12/page/2/index.html b/archives/2018/12/page/2/index.html new file mode 100644 index 0000000000..4e9f890e90 --- /dev/null +++ b/archives/2018/12/page/2/index.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/index.html b/archives/2018/index.html new file mode 100644 index 0000000000..b2c3a0e76d --- /dev/null +++ b/archives/2018/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/2/index.html b/archives/2018/page/2/index.html new file mode 100644 index 0000000000..16b9014cbf --- /dev/null +++ b/archives/2018/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/3/index.html b/archives/2018/page/3/index.html new file mode 100644 index 0000000000..d00bed557b --- /dev/null +++ b/archives/2018/page/3/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/4/index.html b/archives/2018/page/4/index.html new file mode 100644 index 0000000000..36574762e4 --- /dev/null +++ b/archives/2018/page/4/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/5/index.html b/archives/2018/page/5/index.html new file mode 100644 index 0000000000..660be48072 --- /dev/null +++ b/archives/2018/page/5/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/6/index.html b/archives/2018/page/6/index.html new file mode 100644 index 0000000000..be6182657e --- /dev/null +++ b/archives/2018/page/6/index.html @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/01/index.html b/archives/2019/01/index.html new file mode 100644 index 0000000000..9e3073bc5d --- /dev/null +++ b/archives/2019/01/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201910 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/03/index.html b/archives/2019/03/index.html new file mode 100644 index 0000000000..23592d1c67 --- /dev/null +++ b/archives/2019/03/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201910 +
+ + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/10/index.html b/archives/2019/10/index.html new file mode 100644 index 0000000000..1c70e4fd61 --- /dev/null +++ b/archives/2019/10/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201910 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/index.html b/archives/2019/index.html new file mode 100644 index 0000000000..c02f05132c --- /dev/null +++ b/archives/2019/index.html @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201910 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2020/01/index.html b/archives/2020/01/index.html new file mode 100644 index 0000000000..9a043b1f9b --- /dev/null +++ b/archives/2020/01/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20201 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2020/index.html b/archives/2020/index.html new file mode 100644 index 0000000000..df861e29ef --- /dev/null +++ b/archives/2020/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20201 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2021/04/index.html b/archives/2021/04/index.html new file mode 100644 index 0000000000..d67289a319 --- /dev/null +++ b/archives/2021/04/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2021/05/index.html b/archives/2021/05/index.html new file mode 100644 index 0000000000..1f9e23d8a4 --- /dev/null +++ b/archives/2021/05/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2021/06/index.html b/archives/2021/06/index.html new file mode 100644 index 0000000000..415941d477 --- /dev/null +++ b/archives/2021/06/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2021/08/index.html b/archives/2021/08/index.html new file mode 100644 index 0000000000..50d4b14918 --- /dev/null +++ b/archives/2021/08/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2021/index.html b/archives/2021/index.html new file mode 100644 index 0000000000..6bedf392a1 --- /dev/null +++ b/archives/2021/index.html @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/04/index.html b/archives/2022/04/index.html new file mode 100644 index 0000000000..d5ebcfe8c2 --- /dev/null +++ b/archives/2022/04/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/05/index.html b/archives/2022/05/index.html new file mode 100644 index 0000000000..ad706bf71e --- /dev/null +++ b/archives/2022/05/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/07/index.html b/archives/2022/07/index.html new file mode 100644 index 0000000000..768f7c5743 --- /dev/null +++ b/archives/2022/07/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/08/index.html b/archives/2022/08/index.html new file mode 100644 index 0000000000..3202a6b050 --- /dev/null +++ b/archives/2022/08/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/09/index.html b/archives/2022/09/index.html new file mode 100644 index 0000000000..a82a155cf1 --- /dev/null +++ b/archives/2022/09/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/index.html b/archives/2022/index.html new file mode 100644 index 0000000000..988bf61b96 --- /dev/null +++ b/archives/2022/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2022/page/2/index.html b/archives/2022/page/2/index.html new file mode 100644 index 0000000000..cad2c0de9b --- /dev/null +++ b/archives/2022/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html new file mode 100644 index 0000000000..a25a9eaa54 --- /dev/null +++ b/archives/2023/02/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2023/03/index.html b/archives/2023/03/index.html new file mode 100644 index 0000000000..02b1d22167 --- /dev/null +++ b/archives/2023/03/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2023/09/index.html b/archives/2023/09/index.html new file mode 100644 index 0000000000..dd98082496 --- /dev/null +++ b/archives/2023/09/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2023/10/index.html b/archives/2023/10/index.html new file mode 100644 index 0000000000..9a5c8c4c8b --- /dev/null +++ b/archives/2023/10/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 0000000000..c8e57afa1a --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/01/index.html b/archives/2024/01/index.html new file mode 100644 index 0000000000..de506efde2 --- /dev/null +++ b/archives/2024/01/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/02/index.html b/archives/2024/02/index.html new file mode 100644 index 0000000000..1013a04e92 --- /dev/null +++ b/archives/2024/02/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/03/index.html b/archives/2024/03/index.html new file mode 100644 index 0000000000..493ac89a02 --- /dev/null +++ b/archives/2024/03/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/04/index.html b/archives/2024/04/index.html new file mode 100644 index 0000000000..ea748793b8 --- /dev/null +++ b/archives/2024/04/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/06/index.html b/archives/2024/06/index.html new file mode 100644 index 0000000000..92c83c651a --- /dev/null +++ b/archives/2024/06/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/07/index.html b/archives/2024/07/index.html new file mode 100644 index 0000000000..e5481da123 --- /dev/null +++ b/archives/2024/07/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/09/index.html b/archives/2024/09/index.html new file mode 100644 index 0000000000..4f9ff8e8cc --- /dev/null +++ b/archives/2024/09/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/09/page/2/index.html b/archives/2024/09/page/2/index.html new file mode 100644 index 0000000000..5c5d960aff --- /dev/null +++ b/archives/2024/09/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/10/index.html b/archives/2024/10/index.html new file mode 100644 index 0000000000..5c289317b0 --- /dev/null +++ b/archives/2024/10/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/10/page/2/index.html b/archives/2024/10/page/2/index.html new file mode 100644 index 0000000000..0c9c14cd5b --- /dev/null +++ b/archives/2024/10/page/2/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/11/index.html b/archives/2024/11/index.html new file mode 100644 index 0000000000..75b9536362 --- /dev/null +++ b/archives/2024/11/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + +
+
+ + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 0000000000..1d7a58472d --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/page/2/index.html b/archives/2024/page/2/index.html new file mode 100644 index 0000000000..2ff2c9d9c4 --- /dev/null +++ b/archives/2024/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/page/3/index.html b/archives/2024/page/3/index.html new file mode 100644 index 0000000000..67c77f6d6f --- /dev/null +++ b/archives/2024/page/3/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/page/4/index.html b/archives/2024/page/4/index.html new file mode 100644 index 0000000000..bc15084eb8 --- /dev/null +++ b/archives/2024/page/4/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2024/page/5/index.html b/archives/2024/page/5/index.html new file mode 100644 index 0000000000..f258adc9e6 --- /dev/null +++ b/archives/2024/page/5/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000000..950816bcaa --- /dev/null +++ b/archives/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/10/index.html b/archives/page/10/index.html new file mode 100644 index 0000000000..8bd0425b84 --- /dev/null +++ b/archives/page/10/index.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201910 +
+ + + + + + +
+ 201856 +
+ + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/11/index.html b/archives/page/11/index.html new file mode 100644 index 0000000000..cb3cd74ba9 --- /dev/null +++ b/archives/page/11/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/12/index.html b/archives/page/12/index.html new file mode 100644 index 0000000000..f6b6fac8f0 --- /dev/null +++ b/archives/page/12/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/13/index.html b/archives/page/13/index.html new file mode 100644 index 0000000000..a489e4423f --- /dev/null +++ b/archives/page/13/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/14/index.html b/archives/page/14/index.html new file mode 100644 index 0000000000..d3b4b2d8c1 --- /dev/null +++ b/archives/page/14/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/15/index.html b/archives/page/15/index.html new file mode 100644 index 0000000000..1a6cbd425e --- /dev/null +++ b/archives/page/15/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 201856 +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 0000000000..1ee25c56d1 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 0000000000..8f595007c9 --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/4/index.html b/archives/page/4/index.html new file mode 100644 index 0000000000..d76e3da294 --- /dev/null +++ b/archives/page/4/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/5/index.html b/archives/page/5/index.html new file mode 100644 index 0000000000..fa5d206312 --- /dev/null +++ b/archives/page/5/index.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202449 +
+ + + + + + + + + + + + + + + + + + +
+ 20238 +
+ + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/6/index.html b/archives/page/6/index.html new file mode 100644 index 0000000000..5f083d8bf1 --- /dev/null +++ b/archives/page/6/index.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20238 +
+ + + + + + + + + + + + + + +
+ 202220 +
+ + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/7/index.html b/archives/page/7/index.html new file mode 100644 index 0000000000..235e22e29d --- /dev/null +++ b/archives/page/7/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/8/index.html b/archives/page/8/index.html new file mode 100644 index 0000000000..4cd2c8a992 --- /dev/null +++ b/archives/page/8/index.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 202220 +
+ + + + + + + + + + + + + + +
+ 20215 +
+ + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/9/index.html b/archives/page/9/index.html new file mode 100644 index 0000000000..913dbf4763 --- /dev/null +++ b/archives/page/9/index.html @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +归档 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+ + 非常好! 目前共计 149 篇日志。 继续努力。 +
+ + +
+ 20215 +
+ + + + +
+ 20201 +
+ + +
+ 201910 +
+ + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000000..6077cac04a --- /dev/null +++ b/atom.xml @@ -0,0 +1,612 @@ + + + 渊澄 + + 川流不息,渊澄取映<YCYC.WIN> + + + + 2024-11-04T08:14:00.000Z + https://ycyc.win/ + + + 苗洋 + + + + Hexo + + + HomeAssistant升级到了2024.10.4 + + https://ycyc.win/posts/63727.html + 2024-11-04T07:58:00.000Z + 2024-11-04T08:14:00.000Z + + 没错,2024年11月4日,我将家里HomeAssistant的版本升级到了2024.10.4-截止到目前的最新版本。
目前在用的是2024.9.1的版本,使用了近两个月的时间,很稳定,很少重启。时隔一个月才升级到新版本,主要还是觉得智能家居系统这一块,稳定是最重要的,如果没有特别大的功能改动或异常BUG,我现在是不会在第一时间升级到新版本的。
我的HA是在docker环境下运行的,跑在刷了iStoreOS的N1盒子上,由于盒子是arm架构的,所以拉取镜像的时候需要选择homeassistant/aarch64-homeassistant这个镜像,而这个镜像的latest有问题,所以每次拉取镜像的时候需要手动加上版本号,例如homeassistant/aarch64-homeassistant:2024.10.4。
该版本具体更新了哪些可以参与HA官网文档2024.10: Heading in the right direction - Home Assistant

简单说一下我的更新步骤:
1.拉取新版本docker镜像;
2.复制旧版本容器,然后选择新版本的docker镜像,创建新容器,其他设置保持不变;
image.png
3.停止旧版本容器,启动新版本容器。
image.png
4.确认新容器启动正常无报错。
通常我会保留旧版容器3-5天,确认新版本一切正常之后再手动删除。如果期间新容器有异常,还可以随时退回到旧版本。

]]>
+ + + + + <p>没错,2024年11月4日,我将家里HomeAssistant的版本升级到了2024.10.4-截止到目前的最新版本。<br> +目前在用的是2024.9.1的版本,使用了近两个月的时间,很稳定,很少重启。时隔一个月才升级到新版本,主要还是觉得智能家居系统这一块,稳定是最重要 + + + + + + + + + +
+ + + 导入WordPress备份的历史文章 + + https://ycyc.win/posts/56316.html + 2024-11-02T02:33:00.000Z + 2024-11-02T05:24:00.000Z + + 今天终于把我尘封多年的之前在WordPress写的日志导入到了Hexo。由于之前在WP导出的是xml,而hexo使用的是markdown格式,在往上搜了几个转化的工具都是一堆报错。最后按照下列文章的指引成功将wordpress备份出来的xml转换成了单个md文件。但是文章引用的图片和其他附件就没了。之后我翻一下NAS里面看有没有备份,有的话修复一下。(好在文章数量不是很多,目前大部分能找到备份的引用图片已经重新上传修复)。大部分是18年到20年左右写的,主要是一些关于HomeAssistant早期的文章,现在大部分都已经可以界面可视化操作了,还有一些提到的教程或脚本或许已经失效了,仅供参考。
有wordpress转换markdown需求的朋友可以 参阅以下链接教程。实际测试后基本可用,只是wordpress不像Markdown要求那么严格,如果标题中有特殊符号,部署Hexo的时候可能会报错,需要手动修改剔除,还有一些WordPress专有的格式和布局需要重新设置。

引用

小白-使用wordpress-to-markdown的方法 – 听水观沙

]]>
+ + + + + <p>今天终于把我尘封多年的之前在WordPress写的日志导入到了Hexo。由于之前在WP导出的是xml,而hexo使用的是markdown格式,在往上搜了几个转化的工具都是一堆报错。最后按照下列文章的指引成功将wordpress备份出来的xml转换成了单个md文件。<s>但是 + + + + + + + + + + + + + +
+ + + 收到版权投诉,决定停止视频站点运营 + + https://ycyc.win/posts/9909.html + 2024-11-01T08:27:00.000Z + 2024-11-01T08:37:00.000Z + + 刚才收到Cloudflare的邮件,渊澄视频有个页面被TVB投诉侵权。所以决定从即日起永久关掉站点访问。希望大家支持正版。
image.png

]]>
+ + + + + <p>刚才收到Cloudflare的邮件,渊澄视频有个页面被TVB投诉侵权。所以决定从即日起永久关掉站点访问。希望大家支持正版。<br> +<img src="https://img.ycyc.win/img/202411011636711.png" alt="image.png" + + + + + + + +
+ + + 更新Cloudflare SSL TLS策略规则,部署免费CA + + https://ycyc.win/posts/21296.html + 2024-11-01T05:44:00.000Z + 2024-11-02T03:11:00.000Z + + 之前在部署站点的时候因为浏览器提示不安全,所以将停靠在Cloudflare的域名选择的SSL/TLS策略是【灵活】模式,Cloudflare给出的说明是“仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立”,意思就是访问者到Cloudflare之间使用的是HTTPS,而Cloudflare到源服务器之间使用的是HTTP协议。这样设置之后虽然浏览器没有安全警告了,但是由于源服务器没有部署SSL证书,使用的是HTTP协议,从Clouflare到源服务器之间还是容易被黑客监听造成信息泄露隐患。
所以今天我将Cloudflare的证书策略调整为了【完全(严格)】模式,此模式的意思是“启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书”。而如果你要选择更为高级的【严格】模式,则需要升级账户为企业账户才能设置。

image.png

但是由于我的源服务器还没有部署证书,所以现在访问会提示证书错误,如下图所示。
image.png接下来就需要在你的源服务器部署证书了,当然你也可以使用Cloudflare免费的CA证书,有效期为15年。
按下图进入源服务器界面,按照提示生成证书和密钥,然后上传到源服务器就可以了。

image.png
证书部署完成后就可以正常使用https访问站点了,而且目前全链路都是https。

]]>
+ + + <p>之前在部署站点的时候因为浏览器提示不安全,所以将停靠在Cloudflare的域名选择的SSL/TLS策略是【灵活】模式,Cloudflare给出的说明是“仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立”,意思就是访问者到Cloudflare之间使用的是HTTPS,而Cloudflare到源服务器之间使用的是HTTP协议。这样设置之后虽然浏览器没有安全警告了,但是由于源服务器没有部署SSL证书,使用的是HTTP协议,从Clouflare到源服务器之间还是容易被黑客监听造成信息泄露隐患。<br> +所以今天我将Cloudflare的证书策略调整为了【完全(严格)】模式,此模式的意思是“启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书”。而如果你要选择更为高级的【严格】模式,则需要升级账户为企业账户才能设置。</p> +<p><img src="https://img.ycyc.win/img/202411011346503.png" alt="image.png"></p> + + + + + + + + + + +
+ + + Mac加量不加价-全线产品16+256起步,维持原价 + + https://ycyc.win/posts/64365.html + 2024-10-31T08:22:00.000Z + 2024-10-31T08:33:00.000Z + + image.png

随着昨晚新款Macbook Pro的发布,苹果已经调整了全系Mac系列内存的起步容量,由原先的最低8GB起步升级为16GB起步,包括在售搭载M2和M3处理器的Macbook Air和Pro,最低配置已经升级到了16GB+256GB的配置,而且售价还维持原来的不变。官网也大方暗示,内存升级到16GB起步是为即将到来的苹果AI智能做准备。
image.png
最近有购买Mac需求的小伙伴可以入手了,旧款Macbook的性价比瞬间拉满。😊

]]>
+ + + + + <p><img src="https://img.ycyc.win/img/202410311631243.png" alt="image.png"></p> +<p>随着昨晚新款Macbook Pro的发布,苹果已经调整了全系Mac系列内存的起步容量,由原先的最低8GB起步升级为 + + + + + + + + + + + + + +
+ + + 地表最快四门量产车来了-小米SU7 Ultra发布 + + https://ycyc.win/posts/49729.html + 2024-10-30T01:56:00.000Z + 2024-10-30T05:08:00.000Z + + 昨晚科技圈有点热闹,苹果和小米都发布了各自的新品,苹果最近一段时间新品频发,iPad mini 7,M4芯片的新款iMac,还有昨晚发布的更小尺寸的基于M4芯片的Mac mini,其中除了Mac mini外观和尺寸有明显变化外,其他升级都只能算是挤牙膏式的常规升级,苹果估计也觉得没必要单独开发布会的必要了。
image.png

转到小米这边,昨晚一口气发布了澎湃OS2操作系统、小米15系列手机以及小米SU7 Ultra高性能四门超跑汽车。当然其中最引人关注的还是小米SU7 Ultra,官方给出的数据百米加速2秒内,号称是地表最快的四门量产车。小米SU7 Ultra预售价格为81.49万元,明年3月份正式开售。虽然咱们普通人看上去80W很贵,但是看了参数及外观图片之后,还是觉得小米SU7 Ultra性价比是很高的。然后早上翻看小米官网介绍的时候发现,小米居然在车身配备了40W的外置扬声器,内置三种音效,可模拟超跑加速音浪。👍看来小米还是最懂年轻人的。不知道小米会不会在后续的OTA升级中加入更多的音效呢?😛
image.png

详细的参数及精美图片视频移步SU7官网查看小米汽车
那如果你有80W预算买车,会选择小米SU7 Ultra吗?🤑
另外忘了说了,两个厂家昨天还有一次隔空互动😍。新的澎拜OS2支持小米手机在苹果的Mac OS上投屏,并支持操控,就像小米笔记本那样,也支持与iPhone间共享图片和文件,实现这些功能的前提是需要在Mac或是iPhone上安装名为小米互联服务的APP。
image.png

]]>
+ + + + + <p>昨晚科技圈有点热闹,苹果和小米都发布了各自的新品,苹果最近一段时间新品频发,iPad mini 7,M4芯片的新款iMac,还有昨晚发布的更小尺寸的基于M4芯片的Mac mini,其中除了Mac mini外观和尺寸有明显变化外,其他升级都只能算是挤牙膏式的常规升级,苹果估计 + + + + + + + + + + + + + + + +
+ + + 在Follow订阅渊澄最新动态 + + https://ycyc.win/posts/49200.html + 2024-10-28T03:13:00.000Z + 2024-10-29T02:38:00.000Z + + Follow是最近很热门的一款RSS订阅器,虽说是热门,但也仅限于所谓的极客圈吧。目前RSS已经被人忘却很多年了,新兴一代好像都不清楚RSS是什么东西。似乎只有在十几年前写博客的元老们才了解RSS为何物。还记得最后一次使用的RSS订阅器还是Google Reader那时还是上高中或大学的时候,06-10年左右吧。可惜谷歌早已放弃了这个项目,之后随着微博等自媒体的兴起,也就没有再用其他RSS订阅器的机会了,虽然也有一些类RSS订阅器做的还不错,比如flipboard,但终究RSS已经成了一个小众领域。
image.png

Follow官网Follow

目前处于公测阶段,有web版和电脑客户端两个版本,暂时还没有移动端应用。注册无需邀请码,可关联Github或是Google账户登录,但一些功能还是需要邀请码才能使用的,比如内置的自动化功能。因为没有邀请码,无法测试这个自动化究竟是个什么功能。还有目前没有邀请码的用户最多只能订阅5个更新源。
image.png

Follow除了支持传统的RSS文章订阅之外,还支持B站、油管、电报、小红书等账号的订阅,而这些功能是基于Follow作者之前名为RSShub的项目。该项目可以将三方自媒体平台更新数据转化为可供RSS订阅的地址,通过一个客户端就可以关注到你在不同平台上所关注的用户的更新动态了,而这个客户端就类似于现在提到的Follow。只是Follow对所关注的内容做了细化分类,分为普通文章、社交媒体,图片、视频、音频及通知,可根据平台的类型划分到不同的分类下面,以获取更好的阅读体验。比如可以把普通的博客划分到文章,B站和油管的更新划分到视频,微博或是X划分到社交媒体,Instagram的更新划分到图片,而类似于什么值得买之类的更新可划分到通知类。
image.png
目前有一点需要吐槽一下,如果我想要在Follow关注我在三方平台关注的用户,只能一个一个手动搜索然后添加关注,很是不便。如果Folllow能够一键读取我三方平台内关注的用户并同步过来,应该会极大的改善用户的体验,但这需要Follow和各平台进行数据对接,而平台应该是会反对了,因为通过Follow浏览更新之后,几乎没有平台什么事了。

Follow的另一个亮点是支持打赏功能,你可以给你喜欢的文章进行打赏,当然前提是这个文章所有者进行了Follow认证,打赏的金额才能进入到他的账户中去。Follow使用的打赏货币名为power,是一种区块链货币,按照官方的说法会根据在Follow上的活跃度和贡献值来获取power。而目前似乎没有更为详细的获取规则。
image.png

以下是Follow认证信息。

1
This message is used to verify that this feed (feedId:73561881581939712) belongs to me (userId:73561590031793152). Join me in enjoying the next generation information browser https://follow.is.

目前渊澄站点已经过认证,在搜索框中直接输入【渊澄】可直接订阅我们的更新动态。或者直接填入渊澄的RSS地址也是可以的 atom.xml
image.png
如果你有需要认证的RSS源,可以参照指引将认证信息填入更新文章内,Follow读取到包含认证信息的更新后就成功了。站点右上角就会出现认证图标。
更多的其他功能估计要等到正式版发布才能体验到。
最后还是希望Follow能把RSS再次带回到大众视野,虽然RSS已经注定了是个小众领域了,但至少可以让当下的年轻人知道还有一种跨平台订阅更新的方式叫做RSS。

]]>
+ + + <p>Follow是最近很热门的一款RSS订阅器,虽说是热门,但也仅限于所谓的极客圈吧。目前RSS已经被人忘却很多年了,新兴一代好像都不清楚RSS是什么东西。似乎只有在十几年前写博客的元老们才了解RSS为何物。还记得最后一次使用的RSS订阅器还是Google Reader那时还是上高中或大学的时候,06-10年左右吧。可惜谷歌早已放弃了这个项目,之后随着微博等自媒体的兴起,也就没有再用其他RSS订阅器的机会了,虽然也有一些类RSS订阅器做的还不错,比如flipboard,但终究RSS已经成了一个小众领域。<br> +<img src="https://img.ycyc.win/img/202410281249483.png" alt="image.png"></p> +<p>Follow官网<a href="https://follow.is/">Follow</a></p> + + + + + + + + + + +
+ + + 靠谱的serv00保活办法-利用青龙定时启动PM2 + + https://ycyc.win/posts/1316.html + 2024-10-19T01:28:00.000Z + 2024-10-19T02:12:00.000Z + + 经过一个星期的测试,利用青龙面板定时执行pm2 resurrect 能持续保持任务运行。

serv00上面的设置

首先你需要在serv00上面安装PM2命令,具体方法可以参考我的上一篇文章(serv00安装PM2守护程序及应用保活测试 | 渊澄
然后将你所有需要后台保持的应用使用pm2命令启动。
使用pm2 list查看所有任务是否已启动,确认无误之后使用pm2 save保存当前进度。

青龙面板相关设置

请确保青龙面板已搭建成功并正常运行。
首先需要安装Linux sshpass依赖。
image.png

接着创建一个任务脚本,将下面命令复制并命名为 serv00.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

HOST="你的服务器地址"

USERNAME=serv00用户名

PASSWORD=serv00密码

sshpass -p ${PASSWORD} ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt ${USERNAME}@${HOST} << EOF

pm2 resurrect

exit

EOF

echo "finished"

将脚本中的服务器地址、用户名和密码修改成你的信息。
image.png

最后创建一个定时任务就可以了。

1
task serv00/serv00.sh

定时规则可以根据自己情况做修改,下图所示为一个小时执行一次。详细的crontab规则可参考(crontab 定时任务规则收藏 | 渊澄
image.png

试运行

点击运行脚本查看日志,如果出现下图所示日志,则说明任务正常运行了。否则根据日志排查错误。
image.png

]]>
+ + + <p>经过一个星期的测试,利用青龙面板定时执行pm2 resurrect 能持续保持任务运行。</p> +<h2 id="serv00上面的设置"><a class="header-anchor" href="#serv00上面的设置">¶</a>serv00上面的设置</h2> +<p>首先你需要在serv00上面安装PM2命令,具体方法可以参考我的上一篇文章(<a href="https://ycyc.win/posts/7811">serv00安装PM2守护程序及应用保活测试 | 渊澄</a>)<br> +然后将你所有需要后台保持的应用使用pm2命令启动。<br> +使用pm2 list查看所有任务是否已启动,确认无误之后使用pm2 save保存当前进度。</p> +<h2 id="青龙面板相关设置"><a class="header-anchor" href="#青龙面板相关设置">¶</a>青龙面板相关设置</h2> +<p>请确保青龙面板已搭建成功并正常运行。<br> +首先需要安装Linux sshpass依赖。<br> +<img src="https://img.ycyc.win/img/202410190934923.png" alt="image.png"></p> + + + + + + + + + + + + + + +
+ + + 渊澄视频开放公测 + + https://ycyc.win/posts/30251.html + 2024-10-18T03:32:00.000Z + 2024-10-18T03:40:00.000Z + + image.png

最近几天抽空建了一个视频网站,用的是苹果cmsV10搭建的。视频数据主要采集各资源平台的m3u8格式。
目前基本功能都已经测试完毕,正式开放公测。
公测期间注册会员可观看全部视频资源。游客会限制部分分类的观看。
公测时间截止到2024年12月31日。bug反馈或是片源需求可在站内留言板中留言。
站点地址: https://v.ycyc.win

]]>
+ + + + + <p><img src="https://img.ycyc.win/img/202410181139510.png" alt="image.png"></p> +<p>最近几天抽空建了一个视频网站,用的是苹果cmsV10搭建的。视频数据主要采集各资源平台的m3u8格式。<br> +目 + + + + + + + + + +
+ + + 丢掉端口,使用cloudflare tunnel 实现免端口访问内网服务 + + https://ycyc.win/posts/5954.html + 2024-10-14T03:32:00.000Z + 2024-10-15T00:35:00.000Z + + 楔子

何为内网穿透,简单来说就是在公网可以直接访问到你在内网搭建的各种服务。
起初是我前两天在serv00搭建了alist,并且把原本在openwrt上面搭建的数据都迁移了过去。今天发现上面挂载的国内网盘(百度、阿里云及115)都加载不出来,全部显示timeout超时,cloudflare的R2存储可以正常打开。而我之前挂载在openwrt上面的却能正常访问,想想可能是serv00对访问国内网盘的api有做限制或是国内网盘限制从serv00服务器登录?所以我还是想着把挂在openwrt上的Alist开放出来做存储站点附件的网盘用,因为在serv00上的alist地址不带端口,所以就想到了做内网穿透。

传统DDNS设置

对于普通家用宽带用户来说,一般需要做DDNS域名+端口的形式来访问内网服务,当然这个前提是你家宽带获取到了公网IP。这个方法也是我目前常用的方法,一般的操作步骤如下:
1.在主路由添加并设置DDNS服务,常用的DDNS服务商是花生壳。首先你需要先去花生壳注册一个账户,还要注册一个壳域名。然后在路由器相关界面输入账号和域名信息。目前国内主流的路由器基本上都内置了oray花生壳的ddns服务。
image.png

2.在主路由添加NAT端口映射服务,设置外部访问端口,这里内部端口和外部端口可以不一致。内部端口是你内网环境下该服务使用的端口,而外部端口是你希望在外网环境下访问该服务使用的端口。目前国内运营商基本上都封禁了类似于80、443、21、22等常用的端口,所以我们如果需要外网访问这些端口服务的话,就需要将这些端口映射成其他不同的端口。
image.png

这样设置完之后就可以通过ddns域名+外部访问端口来访问对应的服务了。

如果你家宽带没有公网IP,那这个办法就行不通了,而且这种方法访问的时候需要加端口号,形式上不太美观,更重要的是会直接暴露你家的公网IP地址。
这个时候就需要用到内网穿透技术了,常用的内网穿透技术还有frps,但这个需要搭建一个单独的服务器,门槛比较高。今天介绍的是使用cloudflare的tunnel服务来实现内网穿透,只需要一个可以运行docker的环境即可。因为我家里还有一个刷了openwrt的旁路由,可以运行docker容器,所以我就在这台openwrt上跑cloudflare tunnel服务了。

cloudflare tunnel设置

登录到cloudflare网站,进入站点,左侧菜单找到Access。进入Zero Trust。

image.png
进入Network,找到Tunnel,新增一条tunnel记录。

tunnel01.png

给tunnel起一个名字。

tunnel02.png

环境选择Docker,并复制下面的运行命令。

tunnel03.png

接着输入你想要设置的二级域名,并且输入内网主机地址及端口,Type选择HTTP。完成之后会自带https。

tunnel04.png

接着使用复制出来的命令在旁路由上新建容器,确保容器正常运行即可。

等待几分钟在Tunnels中看到状态为healthy,就可以用我们设置好的二级域名直接访问内网服务了。
image.png

如果你后续还需要穿透更多的服务,直接编辑现有的tunnel就可以增加了,无需再次部署docker。
image.png

image.png

如果我们回到这个域名的解析列表中查看,可以看到刚刚设置的二级域名被CNAME解析到了cfargotunnel.com结尾的站点,并且开启了黄色小云朵。无论你在这个tunnels下创建了多少个hostname,这个地址都是相同的。
image.png

访问速度

基于国内的网络状况,相较于传统的ddns,cloudflare tunnels在国内的访问速度比较一般,主要表现在第一次打开时比较慢。

]]>
+ + + <h2 id="楔子"><a class="header-anchor" href="#楔子">¶</a>楔子</h2> +<p>何为内网穿透,简单来说就是在公网可以直接访问到你在内网搭建的各种服务。<br> +起初是我前两天在serv00搭建了alist,并且把原本在openwrt上面搭建的数据都迁移了过去。今天发现上面挂载的国内网盘(百度、阿里云及115)都加载不出来,全部显示timeout超时,cloudflare的R2存储可以正常打开。而我之前挂载在openwrt上面的却能正常访问,想想可能是serv00对访问国内网盘的api有做限制或是国内网盘限制从serv00服务器登录?所以我还是想着把挂在openwrt上的Alist开放出来做存储站点附件的网盘用,因为在serv00上的alist地址不带端口,所以就想到了做内网穿透。</p> +<h2 id="传统DDNS设置"><a class="header-anchor" href="#传统DDNS设置">¶</a>传统DDNS设置</h2> +<p>对于普通家用宽带用户来说,一般需要做DDNS域名+端口的形式来访问内网服务,当然这个前提是你家宽带获取到了公网IP。这个方法也是我目前常用的方法,一般的操作步骤如下:<br> +1.在主路由添加并设置DDNS服务,常用的DDNS服务商是花生壳。首先你需要先去花生壳注册一个账户,还要注册一个壳域名。然后在路由器相关界面输入账号和域名信息。目前国内主流的路由器基本上都内置了oray花生壳的ddns服务。<br> +<img src="https://img.ycyc.win/img/202410141138710.png" alt="image.png"></p> +<p>2.在主路由添加NAT端口映射服务,设置外部访问端口,这里内部端口和外部端口可以不一致。内部端口是你内网环境下该服务使用的端口,而外部端口是你希望在外网环境下访问该服务使用的端口。目前国内运营商基本上都封禁了类似于80、443、21、22等常用的端口,所以我们如果需要外网访问这些端口服务的话,就需要将这些端口映射成其他不同的端口。<br> +<img src="https://img.ycyc.win/img/202410141139654.png" alt="image.png"></p> +<p>这样设置完之后就可以通过ddns域名+外部访问端口来访问对应的服务了。</p> + + + + + + + + + + + + +
+ + + 影视飓风被下架视频《清晰度不如4年前!视频变糊是你的错觉吗?》 + + https://ycyc.win/posts/33470.html + 2024-10-13T07:39:00.000Z + 2024-10-15T00:37:00.000Z + + 最近全网知名千万级up主影视飓风上架了一部关于视频清晰度的视频,随后却被全网集体下架。视频中详细分析了各视频平台如何利用最新的编码算法欺骗用户的眼睛,标称4k、8k分辨率的视频清晰度甚至不如几年前的1080p。有些平台甚至根据播放量调整视频编码方式,节约带宽流量。随着视频的下架以及在海外平台的转载,网友评论出奇一致,解决不了问题,就解决提出问题的人。

该视频分享自油管,如果打不开请挂梯子。

]]>
+ + + <p>最近全网知名千万级up主影视飓风上架了一部关于视频清晰度的视频,随后却被全网集体下架。视频中详细分析了各视频平台如何利用最新的编码算法欺骗用户的眼睛,标称4k、8k分辨率的视频清晰度甚至不如几年前的1080p。有些平台甚至根据播放量调整视频编码方式,节约带宽流量。随着视频的下架以及在海外平台的转载,网友评论出奇一致,解决不了问题,就解决提出问题的人。</p> +<blockquote> +<p>该视频分享自油管,如果打不开请挂梯子。</p> +</blockquote> + + + + + + + + + + + + +
+ + + serv00安装PM2守护程序及应用保活测试 + + https://ycyc.win/posts/7811.html + 2024-10-12T06:33:00.000Z + 2024-10-13T12:16:00.000Z + + 楔子

之前在serv00上部署了Alist服务,当时使用的是screen来后台运行alist进程。
经过两天使用发现,前一天服务正常,到第二天早上的时候服务就被停止了,而且也找不到screen进程,就算是在管理面板添加了cron jobs也不起作用。除非再次手动执行启动命令,任务才会启动。
网上搜到有人使用PM2来守护进程,今天我也试着安装了,具体效果怎么样,还需要一段时间来检验。

一键安装脚本

1
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)

Alist任务运行脚本

1
cd /home/ycycwin/domains/pan.ycyc.win/alist && pm2 start ./alist -- server ~/domains/pan.ycyc.win/alist

注意替换脚本内相关用户名和域名。

最后将上面的运行脚本添加到面板中的cron jobs中,等到明天看下效果如何。

当然你要是只用serv00来做简单的网页服务器,不搞这些奇怪应用的话,还是很稳定的。😅

次日更新

今天早上应用进程还是没启动,难道是serv00连自己的cron job也不执行?可惜无法看到重启后脚本是否执行了。
换了一个启动方法试一下,将现有pm2进程保存,然后再恢复。

1
2
pm2 save
pm2 resurrect

corn jobs 里面直接运行pm2 resurrect ,设置频率为每小时运行。明天再观察下效果如何。
image.png

再次更新

又失败了,给我的感觉好像是这个cron job根本没有执行。
于是我写了一个脚本,准备使用青龙面板来定时登录ssh,然后执行 pm2 resurrect,每小时执行一次。目前看上去脚本执行是没问题的。具体效果再观察看下。

image.png

]]>
+ + + + + <h2 id="楔子"><a class="header-anchor" href="#楔子">¶</a>楔子</h2> +<p>之前在serv00上部署了Alist服务,当时使用的是screen来后台运行alist进程。<br> +经过两天使用发现,前一天服务正常,到第二天早上的时 + + + + + + + + + + + + + +
+ + + TESLA,WE ROBOT! + + https://ycyc.win/posts/55722.html + 2024-10-12T02:53:00.000Z + 2024-10-12T04:54:00.000Z + + image.png

北京时间10月11日,埃隆马斯克用一场名为“WE,ROBOT”的发布会,向世人展示了基于特斯拉最新全自动驾驶(FSD)的Robotaxi,客货两用车Robovan。另外还有人形机器人Tesla Bot。

Robotaxi

微信截图_20241012105529.png

据马斯克透露,Robotaxi预计2026年在美国上市。没有传统意义上的方向盘及刹车油门踏板,妥妥的L5。不再使用传统的充电插头,而是通过感应充电垫进行无线充电。

Robovan

微信截图_20241012110310.png

Robovan 既能作为客运车辆承载 20 名乘客,也可转换为货运车辆满足不同运输需求,同样没有方向盘及踏板。整体造型就像从科幻片中出来一样。这种高灵活性的设计为城市交通和物流运输提供了新的解决方案,提高了车辆的使用效率和经济性。

Tesla Bot

微信截图_20241012105540.png

Tesla Bot人形机器人可以实现如照顾孩子、遛狗、修剪草坪、去超市买东西、端咖啡等各种日常事务,具有高度的灵活性和实用性,为未来的家庭服务和个人助理机器人发展提供了新的可能性。未来按规模生产的机器人成本将在 2 万 - 3 万美元之间,相比之前的机器人技术,成本大幅降低,使得人形机器人更有可能走进普通家庭,具有广泛的市场应用前景。

引用

图片引用自tesla官网。

]]>
+ + + <p><img src="https://img.ycyc.win/img/202410121053665.png" alt="image.png"></p> +<p>北京时间10月11日,埃隆马斯克用一场名为“WE,ROBOT”的发布会,向世人展示了基于特斯拉最新全自动驾驶(FSD)的Robotaxi,客货两用车Robovan。另外还有人形机器人Tesla Bot。</p> +<h2 id="Robotaxi"><a class="header-anchor" href="#Robotaxi">¶</a>Robotaxi</h2> +<p><img src="https://img.ycyc.win/img/202410121101826.png" alt="微信截图_20241012105529.png"></p> +<p>据马斯克透露,Robotaxi预计2026年在美国上市。没有传统意义上的方向盘及刹车油门踏板,妥妥的L5。不再使用传统的充电插头,而是通过感应充电垫进行无线充电。</p> + + + + + + + + + + + + + + +
+ + + serv00搭建Alist记录 + + https://ycyc.win/posts/36597.html + 2024-10-10T02:30:00.000Z + 2024-10-11T01:45:00.000Z + + 楔子

昨天撸了一个免费的serv00虚拟空间,并且成功搭建了WordPress站点。在搜索serv00相关信息期间看到有大神写了用serv00搭建Alist的教程。自己的Alist之前是搭建在家里的openwrt上面的,于是决定将其迁移到serv00上面来,以下记录在serv00搭建Alist以及数据迁移的过程,供有需求的朋友参考。

Alist数据备份导出

如下图所示登录原Alist管理后台将数据备份并导出到本地。
image.png

serv00开放端口

登录到serv00管理后台,找到Port reservation,然后添加一个开放端口,由于常用一些端口都被占用了,所以我们直接点击Random随机生成一个端口。
image.png

生成之后在Port list就能看到该端口了,记录下改端口号。
image.png

serv00创建站点

如下图所示,输入站点域名,这里以yun.ycyc.win为例,类型选择proxy,端口选择刚才开放的端口号。这样,我们就可以直接使用域名而无需加端口号来访问站点了。
image.png

serv00开放应用运行

如下图所示进入Additional services,打开运用运行。
image.png

解析域名并设置证书

此步骤请参阅我的上一篇文章相关章节,这里不再赘述。
0成本serv00搭建wordpress | 渊澄

serv00创建MySQL数据库

此步骤同样请参阅上篇文章相关章节。
0成本serv00搭建wordpress | 渊澄

安装应用

进入File manager模块,进入到站点文件夹,新建一个名为alist的文件夹,并将alist文件上传到新建的alist文件夹内。

文件下载地址:渊澄网盘
然后登录SSH执行以下命令进行安装:

1
2
3
cd /usr/home/ycycwin/domains/yun.ycyc.win/alist
chmod +x alist
alist./alist server

命令运行完成后出现下图所示的提示说明安装完成。
image.png

修改配置文件

进入到站点目录,找到data/config.json 将数据库字段替换为创建的MySQL数据库相关信息,并将端口替换为之前放开的端口号。
image.png

运行程序

运行下面的命令启动alist程序,首次运行会生成默认密码,需要及时记录下来。

1
./alist server

image.png

登录管理

如果一切顺利的话,现在就可以在浏览器中访问 https://ycyc.win 了。使用默认的用户名admin以及上一步生成的默认密码就可以登录Alist后台进行操作了。
image.png

导入Alist备份

进入Alist后台之后将第一步导出的备份文件导入系统,等待全部还原完成即可。

程序后台运行

现在的Alist只能在当前SSH界面中运行,如果关闭SSH或退出当前命令,Alist就会结束运行。
现在需要使用screen命令保存当前进程并增加开机自动运行。

1
screen -S alist /home/ycycwin/domains/yun.ycyc.win/alist/alist server

执行后会新建一个screen会话运行alist

可以在当前会话按下 Ctrl + A,然后按D,这会让你从当前 screen 会话中脱离,但 alist 程序仍会在后台运行。

如果你需要重新连接到这个 screen 会话,可以使用以下命令:

1
screen -r alist

添加计划任务

在网页管理面板进入Cron jobs菜单,点击Add cron job,新建一个脚本,然后在Command框中输入

1
cd /home/ycycwin/domains/yun.ycyc.win/alist && screen ./alist server

然后点击Add,这样,当服务器重启的时候就会执行操作自动启动alist应用了
image.png

总结

搭建的过程虽然步骤比较多,但操作起来还是比较顺利的。有几个重点需要再次说明一下,第一个就是一定要开启站点应用程序执行权限,第二个是screen命令的运行,最后就是cron job的添加,以防服务器重启导致alist服务未启动。
还有就是文内命令中的相关用户名及域名路径要换成你自己的。
搭建过程中遇到问题可以在下方评论区与我讨论。

引用

serv00部署alist详细记录 - Wenbin’s blog
玩转serv00虚拟主机(三):零成本搭建alist个人网盘_网络存储_什么值得买

]]>
+ + + <h2 id="楔子"><a class="header-anchor" href="#楔子">¶</a>楔子</h2> +<p>昨天撸了一个免费的serv00虚拟空间,并且成功搭建了WordPress站点。在搜索serv00相关信息期间看到有大神写了用serv00搭建Alist的教程。自己的Alist之前是搭建在家里的openwrt上面的,于是决定将其迁移到serv00上面来,以下记录在serv00搭建Alist以及数据迁移的过程,供有需求的朋友参考。</p> +<h2 id="Alist数据备份导出"><a class="header-anchor" href="#Alist数据备份导出">¶</a>Alist数据备份导出</h2> +<p>如下图所示登录原Alist管理后台将数据备份并导出到本地。<br> +<img src="https://img.ycyc.win/img/202410101043611.png" alt="image.png"></p> + + + + + + + + + + + + +
+ + + 0成本serv00搭建wordpress + + https://ycyc.win/posts/52893.html + 2024-10-09T08:33:00.000Z + 2024-10-10T00:30:00.000Z + + 楔子

serv00是一家提供免费虚拟主机空间的厂商,除了免费空间外,还提供免费的数据库和企业邮箱等服务。并且提供的虚拟空间基于freeBSD操作系统,3GB存储,512MB内存,支持SSH登录,支持PHP多版本切换,支持多种数据库类型。关键的关键是这一切都是免费的,只需要你每隔三个月至少登录一次主机SSH或是管理面板,否则账户将被注销。
image.png

目标

0成本使用serv00提供的虚拟空间服务搭建基于wordpress的站点,并且使用cloudflare加速站点国内访问速度,支持https。
image.png

前提准备

1.一个挂靠在Cloudflare的域名,下文以miaoyang.win演示,搭建站点的二级域名为wp.miaoyang.win。
2.serv00账号(注册地址:Serv00.com » Create an account)提交注册信息时如出现报错,需更换代理IP或注册邮箱地址尝试。
3.科学上网环境(以下全部操作默认在科学环境下操作)。

开干

创建站点

serv00注册成功后邮箱会收到一封邮件,里面包含serv00的用户名、密码、panel登录地址等信息。根据邮件提供的信息登录控制面板,按照下图所示新建一个站点,输入站点域名。然后点击Add。
image.png
创建成功之后会在Website list选项卡看到新建的站点信息,在File manager中可以看到站点文件夹。
image.png

上传wordpress文件

前往WordPress网站下载压缩包到本地(下载 – WordPress.org China 简体中文)。
image.png

默认的站点文件夹为/domains/wp.miaoyang.win/public_html,我们需要先将文件夹内的index.html文件手动删除,然后wordpress的全部文件上传到此目录。
上传可以通过网页端的File manager上传,也可以使用winSCP等支持FTP和SFTP的客户端上传。我这边实际测试了速度都不太理想,推荐使用SSH 命令直接从wordpress下载。
使用SSH登录之后

1
2
cd /domains/wp.miaoyang.win/public_html
wget https://cn.wordpress.org/latest-zh_CN.zip

然后通过File manager将压缩包内的wordpress文件夹解压到public_html文件夹。
image.png
最终的文件架构如下图所示。
image.png

域名解析

进入DNS zones,然后找到之前添加的域名点击Edit。进来之后找到域名的A记录目标IP记录下来。
image.png

前往Cloudflare的DNS界面,创建一个A记录将wp.miaoyang.win 解析到上面的IP地址,并开启代理云朵。
image.png
这时候要是访问域名的话会提示证书错误,我们还需要去设置一下域名的证书。

证书设置

如下图所示进入Cloudflare的自定义主机名,添加wp.miaoyang.win。
image.png

然后根据提示新建txt记录验证域名所有权,直到证书状态和主机状态都为绿色有效。
image.png

现在就可以通过 https://wp.miaoyang.win 来访问站点了。

创建MySQL数据库

安装WordPress需要MySQL数据库。如下图所示新建一个数据库,记录下数据库名、数据库用户名、密码,以及数据库地址。
image.png

安装WordPress

访问https://my.miaoyang.win 根据提示进行安装,期间需要输入数据库相关信息。需要注意的是在数据库主机那里,将默认的localhost删除,填入上一步记录下来的数据库地址。
image.png
设置完站点基础信息以及用户名和密码之后就完成了WordPress的安装。

站点访问

现在我们就可以使用 https://wp.miaoyang.win 来访问wordpress了!
image.png

因为我们在Cloudflare设置了cdn代理加速,所以现在停掉科学代理,也可以访问到站点了,而且速度也不错。
image.png

那如果直接使用serv00默认的ip访问站点的话,可以看到国内是全部被墙的。
image.png

类似的我们可以使用serv00的免费空间来搭建更多的基于PHP+MySQL的站点。

另外需要注意的是serv00需要至少每隔三个月登录一次SSH或是管理面板,否则账户会被删除!

引用

玩转serv00虚拟主机(一):零成本搭建wordpress个人博客&入门_服务器_什么值得买

]]>
+ + + <h2 id="楔子"><a class="header-anchor" href="#楔子">¶</a>楔子</h2> +<p>serv00是一家提供免费虚拟主机空间的厂商,除了免费空间外,还提供免费的数据库和企业邮箱等服务。并且提供的虚拟空间基于freeBSD操作系统,3GB存储,512MB内存,支持SSH登录,支持PHP多版本切换,支持多种数据库类型。关键的关键是这一切都是免费的,只需要你每隔三个月至少登录一次主机SSH或是管理面板,否则账户将被注销。<br> +<img src="https://img.ycyc.win/img/202410100830523.png" alt="image.png"></p> +<h2 id="目标"><a class="header-anchor" href="#目标">¶</a>目标</h2> +<p>0成本使用serv00提供的虚拟空间服务搭建基于wordpress的站点,并且使用cloudflare加速站点国内访问速度,支持https。<br> +<img src="https://img.ycyc.win/img/202410091747007.png" alt="image.png"></p> + + + + + + + + + + + + +
+ + + 曲线救国,使用Alist挂载CloudflareR2存储桶 + + https://ycyc.win/posts/36618.html + 2024-10-09T02:49:00.000Z + 2024-10-09T09:58:00.000Z + + 前言

之前一直在用RaiDrive这款软件在windows端挂载WEBDAV网盘,RaiDrive除了支持WEBDAV协议之外,还支持其他主流的网盘服务,比如OneDrive,Google Drive等等,这些都是支持读写操作的。然后RaiDrive也支持比如亚马逊AWS S3和CloudflareR2等等对象存储的接入,但是RaiDrive的免费计划仅支持这些存储的读取,不支持写入,想要写入的话还需要至少每月4.84美元以上的付费计划。
RaiDrive付费权益计划

除了使用付费RaiDrive套餐之后,还可以选择我们之前提到的Alist来挂载CloudflareR2(当然也包括AWS S3,R2是兼容S3协议的)。

操作

添加之前我们需要先创建一个R2令牌。
获取R2令牌
创建令牌的时候需要按需选择密钥权限。在使用过程中发现权限不足的话,也可以再次进入该页面进行编辑,赋予更高的权限。
R2令牌权限类型

获取到访问密钥ID,机密访问密钥以及终结点地址三个信息。
R2密钥获取

然后在Alist后台添加存储,类型选择“对象存储”,根据下图所示将获取到的R2相关密钥填入相应参数即可完成添加。

Alist添加R2对象存储
添加完成之后就可以在Alist首页看到我们添加的R2存储文件夹了,并且支持读写操作。这样再通过WebDav协议利用RaiDrive挂载到windows本地就可以读写操作了。
如果你需要添加更多类似的对象存储,可访问文章结尾的Alist官网文档。

引用

对象存储 | AList文档

]]>
+ + + <h2 id="前言"><a class="header-anchor" href="#前言">¶</a>前言</h2> +<p>之前一直在用RaiDrive这款软件在windows端挂载WEBDAV网盘,RaiDrive除了支持WEBDAV协议之外,还支持其他主流的网盘服务,比如OneDrive,Google Drive等等,这些都是支持读写操作的。然后RaiDrive也支持比如亚马逊AWS S3和CloudflareR2等等对象存储的接入,但是RaiDrive的免费计划仅支持这些存储的读取,不支持写入,想要写入的话还需要至少每月4.84美元以上的付费计划。<br> +<img src="https://img.ycyc.win/img/202410091757081.png" alt="RaiDrive付费权益计划"></p> +<p>除了使用付费RaiDrive套餐之后,还可以选择我们之前提到的Alist来挂载CloudflareR2(当然也包括AWS S3,R2是兼容S3协议的)。</p> + + + + + + + + + + + + + + + + + + +
+ + + 渊澄短链接服务上线了! + + https://ycyc.win/posts/37049.html + 2024-10-02T04:33:00.000Z + 2024-10-02T09:33:00.000Z + + 利用国庆假期搭建了一个短链接生成服务,使用任意长链接可以生成类似于https://to.ycyc.win/yourlink 的短链接,虽然也不是很短😜,但有胜于无。
站点地址 https://to.ycyc.win
使用方法很简单,在输入框输入你需要生成短链接的长链接,点击生成按钮即可。
然后你也可以使用备用站点 https://2.ycyc.win 来生成(2和to同音,而且又少了一个字符👏)。两个站点地址数据共享,后缀可通用。

image.png

重要声明:免费服务,使用前需遵守中华人民共和国相关法律法规,切勿用于非法用途,以免服务被封,影响其他人的使用!

]]>
+ + + + + <p>利用国庆假期搭建了一个短链接生成服务,使用任意长链接可以生成类似于<a href="https://to.ycyc.win/yourlink">https://to.ycyc.win/yourlink</a> 的短链接,虽然也不是很短😜,但有胜于无。<br> +站点地址 < + + + + + + + + + + + +
+ + + 拒绝QQ绿钻,让小爱音箱随意播放音乐 + + https://ycyc.win/posts/30452.html + 2024-10-02T01:35:00.000Z + 2024-10-10T07:23:00.000Z + + 引言

现在的各种智能音箱,想要好好听音乐,都需要开通各种音乐VIP服务才行,而且有些歌曲因为版权原因,在特定的平台才会有,所以办一个平台的会员有时候还不够。要是不办会员,只能试听十几秒,或者是听一些不知名的翻唱版本。那有没有一种方法,让音箱调用本地NAS里面储存的音乐来播放呢?这样就不用办各种音乐会员了。

xiaomusic是用来让小米音箱播放音乐的docker项目 https://github.com/hanxi/xiaomusic 其原理应该是用特定唤醒语劫持小爱音箱网络请求,使用yt-dlp这个项目前往油管下载同名的视频音源到本地,咨询了作者之后得知如果网络不支持访问油管,会转到B站下载,然后进行播放(目前默认是从B站下载资源,除非在设置界面指定从油管下载)。

安装命令

运行以下命令安装docker容器:

1
2
3
4
docker run -p 8090:8090 \
-v /mnt/usb/xiaomusic/music:/app/music \
-v /mnt/usb/xiaomusic/conf:/app/conf \
hanxi/xiaomusic

将命令中的/mnt/usb/xiaomusic字段替换为你本地容器配置的文件夹。
另外本地曲库需放到music文件夹内才会被识别。

容器创建完成之后访问宿主机ip:8090端口进入容器设置页面。
image.png

进入设置页面,登录小米账号后会读取到账号内所有支持的小米音箱设备,可以选择不同的设备进行控制,也可以为不同设备创建同一个分组进行控制。设置页面可以设置指定的唤醒词来调用本地播放功能。另外一些本地曲库的相关设置也在该页面。
这里有个模糊匹配阈值和目录深度设置需要注意一下,如果你本地音乐命名不规范,可以适当把这个值调小一些。
image.png
设置完成之后可以在主页看到本地曲库的目录。识别到的歌曲不仅可以推送到小爱音箱播放,也可以在网页端用浏览器播放。
image.png

目前作者已经更新到了0.3.37。修复了之前的一些bug。另外本地曲库播放功能也比之前体验好了不少。
另外作者也有微信交流群,有问题可以去群里反馈,如果觉得这个项目不错,也可以给作者打赏。更多使用指引可参阅官方文档。

引用

hanxi/xiaomusic: 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 (github.com)

]]>
+ + + <h2 id="引言"><a class="header-anchor" href="#引言">¶</a>引言</h2> +<p>现在的各种智能音箱,想要好好听音乐,都需要开通各种音乐VIP服务才行,而且有些歌曲因为版权原因,在特定的平台才会有,所以办一个平台的会员有时候还不够。要是不办会员,只能试听十几秒,或者是听一些不知名的翻唱版本。那有没有一种方法,让音箱调用本地NAS里面储存的音乐来播放呢?这样就不用办各种音乐会员了。</p> +<p>xiaomusic是用来让小米音箱播放音乐的docker项目 <a href="https://github.com/hanxi/xiaomusic">https://github.com/hanxi/xiaomusic</a> 其原理应该是用特定唤醒语劫持小爱音箱网络请求,使用yt-dlp这个项目前往油管下载同名的视频音源到本地,咨询了作者之后得知如果网络不支持访问油管,会转到B站下载,然后进行播放(目前默认是从B站下载资源,除非在设置界面指定从油管下载)。</p> +<h2 id="安装命令"><a class="header-anchor" href="#安装命令">¶</a>安装命令</h2> +<p>运行以下命令安装docker容器:</p> +<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">docker run -p 8090:8090 \</span><br><span class="line"> -v /mnt/usb/xiaomusic/music:/app/music \</span><br><span class="line"> -v /mnt/usb/xiaomusic/conf:/app/conf \</span><br><span class="line"> hanxi/xiaomusic</span><br></pre></td></tr></table></figure> +<blockquote> +<p>将命令中的/mnt/usb/xiaomusic字段替换为你本地容器配置的文件夹。<br> +另外本地曲库需放到music文件夹内才会被识别。</p> +</blockquote> +<p>容器创建完成之后访问宿主机ip:8090端口进入容器设置页面。<br> +<img src="https://img.ycyc.win/img/202410021835074.png" alt="image.png"></p> + + + + + + + + + + + + + + + + +
+ + + Obsidian格式化插件-Linter + + https://ycyc.win/posts/13016.html + 2024-09-26T06:54:00.000Z + 2024-09-26T07:41:00.000Z + + 今天介绍一款Obsidian神级插件-Linter。
项目主页platers/obsidian-linter: An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility. (github.com)
Linter是一款可以让你的Obsidian文件更加整齐统一美观的插件,而我得知到它的途径是我想要实现如何在Obsidian的文章中可以自动更新文章的修改时间。
Hexo日志的Front-matter有date和updated两个参数,date是文章的创建时间,updated是最后修改时间。之前用vscode通过github action部署之后这两个时间默认是一样的,都是项目最后部署的时间,除非你手动在每篇文章都指定这两个字段。
转到Obsidian之后,我用templater插件创建了Front-matter模板,虽然可以简化手动输入的操作,但是updated字段在你首次插入模板之后就固定下来了,不会随着你修改的时间而变化,除非你手动去修正。
然后就是一通搜索,看看有没有办法能获取到每次文章真正修改的时间,并写入到文章的Front-matter中去。
然后就是有人推荐一款名为Linter的插件。看上去设置比较繁琐,但实际安装调整完之后感觉还好。只要设置正确,都能按照你的预期来执行。

如何搜索安装就不说了。着重写一下我目前实现的功能和相关的设置。还有就是如果设置得当的话,完全可以弃用templater来导入front-matter模板了。

自动将文件名设置为title并写入front-matter。

在插件的YAML选项卡找到下图所示的选项设置保存。

image.png

自动将标签和分类字段添加到front-matter

在插件的YAML选项卡找到下图所示的选项设置保存。
image.png

如果你还希望插入其他字段,可以一并在这里输入

自动将创建时间和最后修改时间写入front-matter

在YAML选项卡找到YAML时间戳。
image.png

image.png

日期格式按照图中所示填写。

设置完成之后在基础选项卡参照下图按需设置

image.png

测试

一切就绪之后可以新建一篇文章进行测试。
手动保存之后会自动添加front-matter内容,并且会更新当前时间修改updated字段的时间。
目前发现一个问题,如果我打开之前的文章,没有做任何修改,直接保存后,updated时间会更新到当前时间。
image.png

]]>
+ + + <p>今天介绍一款Obsidian神级插件-Linter。<br> +项目主页<a href="https://github.com/platers/obsidian-linter">platers/obsidian-linter: An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility. (github.com)</a><br> +Linter是一款可以让你的Obsidian文件更加整齐统一美观的插件,而我得知到它的途径是我想要实现如何在Obsidian的文章中可以自动更新文章的修改时间。<br> +Hexo日志的Front-matter有date和updated两个参数,date是文章的创建时间,updated是最后修改时间。之前用vscode通过github action部署之后这两个时间默认是一样的,都是项目最后部署的时间,除非你手动在每篇文章都指定这两个字段。<br> +转到Obsidian之后,我用templater插件创建了Front-matter模板,虽然可以简化手动输入的操作,但是updated字段在你首次插入模板之后就固定下来了,不会随着你修改的时间而变化,除非你手动去修正。<br> +然后就是一通搜索,看看有没有办法能获取到每次文章真正修改的时间,并写入到文章的Front-matter中去。<br> +然后就是有人推荐一款名为Linter的插件。看上去设置比较繁琐,但实际安装调整完之后感觉还好。只要设置正确,都能按照你的预期来执行。</p> + + + + + + + + + + + + + + +
+ + + 让HEXO“动起来”-体验Qexo静态博客管理面板 + + https://ycyc.win/posts/23533.html + 2024-09-25T02:24:00.000Z + 2024-09-29T18:45:18.634Z + + 前言

对于习惯了使用WordPress等传统CMS程序的用户来说,使用纯静态的hexo更新网站或多或少还是有些不太适应。缺少了管理后台,无法直观的管理站点的日志和页面,只能通过一个个静态文件来更新。并且想要发布还需要去向github提交更改。

介绍

qexo01.png

Github上有个开源项目名为Qexo,这是一个为静态站点而生的项目,官方介绍为“Qexo 是一个快速、强大、美观的在线 静态博客编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署, 为您的静态博客添加动态的元素”。程序方面目前支持Hexo、Hugo和Valaxy。如果你正在使用这些程序,可以尝试一下。这个项目支持在Vercel平台一键部署,免去了额外的花销。而且官方也有较为详细的配置文档,新手也很容易上手。Qexo 文档 (oplog.cn)
部署前需要确认你的hexo已经通过github action设置了自动化部署,如何设置github action可以参阅我之前的文章使用GitHub Action实现HEXO的自动编译和发布 | 渊澄|YCYC.WIN
还需要注意的是如果你是在vercel部署的,需要在项目设置那里将node.js版本降级为18.x。这一点文档里面也着重强调了。

部署完成之后就可以进入站点页面进行配置了。(当然你也可以在vercel设置自定义域名,只需将域名cname解析到vercel即可)。根据页面提示和文档获取相关的github和vercel密钥,然后创建管理员账户之后就可以登录了。
qexo00.png

Qexo同样支持图床的配置,但是我配置完Github图床之后有系统报错,看报错代码像是仓库中有同名文件,picgo422错误代码 | 渊澄|YCYC.WIN,但已排除。不知何故,已经在项目issues提问了。

经过排查,问题为设置界面的“保存路径”输入有误,需要按照Qexo的格式来填写,和其他图床插件不一样。Qexo 文档 (oplog.cn)

https://img.ycyc.win/Qexo/24/9/image_547c7788639701b124967757991368f9.png

界面上的日志新增、编辑、删除都会push到Github仓库。
虽然面板上还无法像wordpress那样对种主题和插件进行可视化设置,但是可以从配置选项卡直接编辑对应的配置文件,也算是弥补了一些遗憾。
image.png

另外Qexo还提供了一个说说和友情链接的模块可供选用,部署也简单,只需新建相关页面,然后插入代码对应即可。另外说说的编辑是不会产生仓库push的。实际测试该模块在国内的网络环境下好像加载不出来,可能与Qexo部署在vercel有关。
image.png

后记

整体体验下来还算可以,界面设计和布局都比较容易上手。只是响应速度有点慢,可能与vercel访问速度慢有关。还有一个问题我发现站点实际的文章总数与Qexo界面显示的文章总数不一致,可能是我新发的两篇文章是在安装了Qexo之后用Obsidian发布的,没有统计进去。(这个问题在界面刷新界面清除缓存或者设置webhook可解决)。常见问题 | Qexo 文档 (oplog.cn)

https://img.ycyc.win/Qexo/24/9/image_636f76ab9a82fe2264b49d3f2e4a0d66.png

另外我目前已经习惯了在Obsidian编写hexo,大部分情况可能不会去用Qexo编写,但是如果在移动端等其他不方便部署环境的地方,会选择用Qexo来进行站点的更新。可以作为一个备选方案。

f5c3d9a5b0a822be70c754af795b6c7.jpg

引用

Qexo 文档 (oplog.cn)
Qexo/Qexo: A fast, powerful and beautiful online manager for all static blog frameworks. (github.com)

]]>
+ + + <h2 id="前言"><a class="header-anchor" href="#前言">¶</a>前言</h2> +<p>对于习惯了使用WordPress等传统CMS程序的用户来说,使用纯静态的hexo更新网站或多或少还是有些不太适应。缺少了管理后台,无法直观的管理站点的日志和页面,只能通过一个个静态文件来更新。并且想要发布还需要去向github提交更改。</p> +<h2 id="介绍"><a class="header-anchor" href="#介绍">¶</a>介绍</h2> +<p><img src="https://img.ycyc.win/img/202409251349501.png" alt="qexo01.png"></p> +<p>Github上有个开源项目名为Qexo,这是一个为静态站点而生的项目,官方介绍为“Qexo 是一个快速、强大、美观的在线 静态博客编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署, 为您的静态博客添加动态的元素”。程序方面目前支持Hexo、Hugo和Valaxy。如果你正在使用这些程序,可以尝试一下。这个项目支持在Vercel平台一键部署,免去了额外的花销。而且官方也有较为详细的配置文档,新手也很容易上手。<a href="https://www.oplog.cn/qexo/start.html">Qexo 文档 (oplog.cn)</a><br> +部署前需要确认你的hexo已经通过github action设置了自动化部署,如何设置github action可以参阅我之前的文章<a href="https://ycyc.win/posts/42824">使用GitHub Action实现HEXO的自动编译和发布 | 渊澄|YCYC.WIN</a><br> +还需要注意的是如果你是在vercel部署的,需要在项目设置那里将node.js版本降级为18.x。这一点文档里面也着重强调了。</p> + + + + + + + + + + + + +
+ +
diff --git a/categories/HEXO/index.html b/categories/HEXO/index.html new file mode 100644 index 0000000000..59a678b830 --- /dev/null +++ b/categories/HEXO/index.html @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: HEXO | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

HEXO + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + + + +
+ 2023 +
+ + +
+ 2022 +
+ + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/HEXO/page/2/index.html b/categories/HEXO/page/2/index.html new file mode 100644 index 0000000000..78c7dd4703 --- /dev/null +++ b/categories/HEXO/page/2/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: HEXO | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

HEXO + 分类 +

+
+ + +
+ 2022 +
+ + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/HomeAssistant/index.html b/categories/HomeAssistant/index.html new file mode 100644 index 0000000000..fdfd181697 --- /dev/null +++ b/categories/HomeAssistant/index.html @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

HomeAssistant + 分类 +

+
+ + +
+ 2023 +
+ + + + + + + + +
+ 2022 +
+ + +
+ 2019 +
+ + + + + + +
+ 2018 +
+ + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/HomeAssistant/page/2/index.html b/categories/HomeAssistant/page/2/index.html new file mode 100644 index 0000000000..1bb578fe05 --- /dev/null +++ b/categories/HomeAssistant/page/2/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

HomeAssistant + 分类 +

+
+ + +
+ 2018 +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/HomeAssistant/page/3/index.html b/categories/HomeAssistant/page/3/index.html new file mode 100644 index 0000000000..5508a88f1b --- /dev/null +++ b/categories/HomeAssistant/page/3/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

HomeAssistant + 分类 +

+
+ + +
+ 2018 +
+ + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000000..c61b9080f6 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +文章分类 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

文章分类 +

+ + + +
+ + + + +
+
+ 目前共计 6 个分类 +
+ +
+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\217\250\345\217\250/index.html" "b/categories/\345\217\250\345\217\250/index.html" new file mode 100644 index 0000000000..6e9fabc6db --- /dev/null +++ "b/categories/\345\217\250\345\217\250/index.html" @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 叨叨 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

叨叨 + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + + + + + + + + + + + +
+ 2021 +
+ + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\217\250\345\217\250/page/2/index.html" "b/categories/\345\217\250\345\217\250/page/2/index.html" new file mode 100644 index 0000000000..0cb3be6da0 --- /dev/null +++ "b/categories/\345\217\250\345\217\250/page/2/index.html" @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 叨叨 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

叨叨 + 分类 +

+
+ + +
+ 2019 +
+ + + + +
+ 2018 +
+ + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\272\224\347\224\250/index.html" "b/categories/\345\272\224\347\224\250/index.html" new file mode 100644 index 0000000000..4d7b310626 --- /dev/null +++ "b/categories/\345\272\224\347\224\250/index.html" @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 应用 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

应用 + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\272\224\347\224\250/page/2/index.html" "b/categories/\345\272\224\347\224\250/page/2/index.html" new file mode 100644 index 0000000000..9add436b44 --- /dev/null +++ "b/categories/\345\272\224\347\224\250/page/2/index.html" @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 应用 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

应用 + 分类 +

+
+ + +
+ 2024 +
+ + + + +
+ 2023 +
+ + +
+ 2022 +
+ + + + + + + + +
+ 2021 +
+ + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\272\224\347\224\250/page/3/index.html" "b/categories/\345\272\224\347\224\250/page/3/index.html" new file mode 100644 index 0000000000..37c0e6e6fe --- /dev/null +++ "b/categories/\345\272\224\347\224\250/page/3/index.html" @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 应用 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

应用 + 分类 +

+
+ + +
+ 2020 +
+ + +
+ 2019 +
+ + + + +
+ 2018 +
+ + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\272\224\347\224\250/page/4/index.html" "b/categories/\345\272\224\347\224\250/page/4/index.html" new file mode 100644 index 0000000000..df09060d78 --- /dev/null +++ "b/categories/\345\272\224\347\224\250/page/4/index.html" @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 应用 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

应用 + 分类 +

+
+ + +
+ 2018 +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\272\224\347\224\250/page/5/index.html" "b/categories/\345\272\224\347\224\250/page/5/index.html" new file mode 100644 index 0000000000..69be9272a4 --- /dev/null +++ "b/categories/\345\272\224\347\224\250/page/5/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 应用 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

应用 + 分类 +

+
+ + +
+ 2018 +
+ + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\275\261\351\237\263/index.html" "b/categories/\345\275\261\351\237\263/index.html" new file mode 100644 index 0000000000..0d7ffa7af0 --- /dev/null +++ "b/categories/\345\275\261\351\237\263/index.html" @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 影音 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

影音 + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + + + + + + + + + + + +
+ 2022 +
+ + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\345\275\261\351\237\263/page/2/index.html" "b/categories/\345\275\261\351\237\263/page/2/index.html" new file mode 100644 index 0000000000..b58e42bdfe --- /dev/null +++ "b/categories/\345\275\261\351\237\263/page/2/index.html" @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 影音 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

影音 + 分类 +

+
+ + +
+ 2022 +
+ + + + + + +
+ 2018 +
+ + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\347\275\221\347\273\234/index.html" "b/categories/\347\275\221\347\273\234/index.html" new file mode 100644 index 0000000000..a059d71784 --- /dev/null +++ "b/categories/\347\275\221\347\273\234/index.html" @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 网络 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

网络 + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\347\275\221\347\273\234/page/2/index.html" "b/categories/\347\275\221\347\273\234/page/2/index.html" new file mode 100644 index 0000000000..c2891dbdb4 --- /dev/null +++ "b/categories/\347\275\221\347\273\234/page/2/index.html" @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 网络 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

网络 + 分类 +

+
+ + +
+ 2024 +
+ + + + + + + + +
+ 2023 +
+ + + + +
+ 2022 +
+ + + + + + +
+ 2021 +
+ + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\347\275\221\347\273\234/page/3/index.html" "b/categories/\347\275\221\347\273\234/page/3/index.html" new file mode 100644 index 0000000000..501044103e --- /dev/null +++ "b/categories/\347\275\221\347\273\234/page/3/index.html" @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 网络 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

网络 + 分类 +

+
+ + +
+ 2019 +
+ + + + + + +
+ 2018 +
+ + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/categories/\347\275\221\347\273\234/page/4/index.html" "b/categories/\347\275\221\347\273\234/page/4/index.html" new file mode 100644 index 0000000000..71e33c8e9b --- /dev/null +++ "b/categories/\347\275\221\347\273\234/page/4/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分类: 网络 | 渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+
+
+

网络 + 分类 +

+
+ + +
+ 2018 +
+ + + + + +
+
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000000..c5e9789084 --- /dev/null +++ b/css/main.css @@ -0,0 +1,3061 @@ +:root { + --body-bg-color: #fff; + --content-bg-color: #f5f5f5; + --card-bg-color: #f5f5f5; + --text-color: #555; + --selection-bg: #262a30; + --selection-color: #eee; + --blockquote-color: #666; + --link-color: #555; + --link-hover-color: #222; + --brand-color: #222; + --brand-hover-color: #222; + --table-row-odd-bg-color: #f9f9f9; + --table-row-hover-bg-color: #f5f5f5; + --menu-item-bg-color: #ddd; + --theme-color: #222; + --btn-default-bg: transparent; + --btn-default-color: var(--link-color); + --btn-default-border-color: var(--link-color); + --btn-default-hover-bg: transparent; + --btn-default-hover-color: var(--link-hover-color); + --btn-default-hover-border-color: var(--link-hover-color); + --highlight-background: #f3f3f3; + --highlight-foreground: #444; + --highlight-gutter-background: #e1e1e1; + --highlight-gutter-foreground: #555; + color-scheme: light; +} +@media (prefers-color-scheme: dark) { + :root { + --body-bg-color: #282828; + --content-bg-color: #333; + --card-bg-color: #555; + --text-color: #ccc; + --selection-bg: #bbb; + --selection-color: #333; + --blockquote-color: #bbb; + --link-color: #ccc; + --link-hover-color: #eee; + --brand-color: #ddd; + --brand-hover-color: #ddd; + --table-row-odd-bg-color: #282828; + --table-row-hover-bg-color: #363636; + --menu-item-bg-color: #555; + --theme-color: #222; + --btn-default-bg: #222; + --btn-default-color: #ccc; + --btn-default-border-color: #555; + --btn-default-hover-bg: #666; + --btn-default-hover-color: #ccc; + --btn-default-hover-border-color: #666; + --highlight-background: #1c1b1b; + --highlight-foreground: #fff; + --highlight-gutter-background: #323131; + --highlight-gutter-foreground: #e8e8e8; + color-scheme: dark; + } + img { + opacity: 0.75; + } + img:hover { + opacity: 0.9; + } + iframe { + color-scheme: light; + } +} +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} +body { + margin: 0; +} +main { + display: block; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +a { + background: transparent; +} +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} +b, +strong { + font-weight: bolder; +} +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +img { + border-style: none; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} +button, +input { +/* 1 */ + overflow: visible; +} +button, +select { +/* 1 */ + text-transform: none; +} +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + border-style: none; + padding: 0; +} +button:-moz-focusring, +[type='button']:-moz-focusring, +[type='reset']:-moz-focusring, +[type='submit']:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} +progress { + vertical-align: baseline; +} +textarea { + overflow: auto; +} +[type='checkbox'], +[type='radio'] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; /* 2 */ + -webkit-appearance: textfield; /* 1 */ +} +[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + font: inherit; /* 2 */ + -webkit-appearance: button; /* 1 */ +} +details { + display: block; +} +summary { + display: list-item; +} +template { + display: none; +} +[hidden] { + display: none; +} +::selection { + background: var(--selection-bg); + color: var(--selection-color); +} +html, +body { + height: 100%; +} +body { + background: var(--body-bg-color); + box-sizing: border-box; + color: var(--text-color); + font-family: Lato, 'PingFang SC', 'Microsoft YaHei', sans-serif; + font-size: 1em; + line-height: 2; + min-height: 100%; + position: relative; + transition: padding 0.2s ease-in-out; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Lato, 'PingFang SC', 'Microsoft YaHei', sans-serif; + font-weight: bold; + line-height: 1.5; + margin: 30px 0 15px; +} +h1 { + font-size: 1.5em; +} +h2 { + font-size: 1.375em; +} +h3 { + font-size: 1.25em; +} +h4 { + font-size: 1.125em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.875em; +} +p { + margin: 0 0 20px; +} +a { + border-bottom: 1px solid #ccc; + color: var(--link-color); + cursor: pointer; + outline: 0; + text-decoration: none; + overflow-wrap: break-word; +} +a:hover { + border-bottom-color: var(--link-hover-color); + color: var(--link-hover-color); +} +iframe, +img, +video, +embed { + display: block; + margin-left: auto; + margin-right: auto; + max-width: 100%; +} +hr { + background-image: repeating-linear-gradient(-45deg, #ddd, #ddd 4px, transparent 4px, transparent 8px); + border: 0; + height: 3px; + margin: 40px 0; +} +blockquote { + border-left: 4px solid #ddd; + color: var(--blockquote-color); + margin: 0; + padding: 0 15px; +} +blockquote cite::before { + content: '-'; + padding: 0 5px; +} +dt { + font-weight: bold; +} +dd { + margin: 0; + padding: 0; +} +.table-container { + overflow: auto; +} +table { + border-collapse: collapse; + border-spacing: 0; + font-size: 0.875em; + margin: 0 0 20px; + width: 100%; +} +tbody tr:nth-of-type(odd) { + background: var(--table-row-odd-bg-color); +} +tbody tr:hover { + background: var(--table-row-hover-bg-color); +} +caption, +th, +td { + padding: 8px; +} +th, +td { + border: 1px solid #ddd; + border-bottom: 3px solid #ddd; +} +th { + font-weight: 700; + padding-bottom: 10px; +} +td { + border-bottom-width: 1px; +} +.btn { + background: var(--btn-default-bg); + border: 2px solid var(--btn-default-border-color); + border-radius: 0; + color: var(--btn-default-color); + display: inline-block; + font-size: 0.875em; + line-height: 2; + padding: 0 20px; + transition: background-color 0.2s ease-in-out; +} +.btn:hover { + background: var(--btn-default-hover-bg); + border-color: var(--btn-default-hover-border-color); + color: var(--btn-default-hover-color); +} +.btn + .btn { + margin: 0 0 8px 8px; +} +.btn .fa-fw { + text-align: left; + width: 1.285714285714286em; +} +.toggle { + line-height: 0; +} +.toggle .toggle-line { + background: #fff; + display: block; + height: 2px; + left: 0; + position: relative; + top: 0; + transition: 0.4s; + transition-property: left, opacity, top, transform, width; + width: 100%; +} +.toggle .toggle-line:first-child { + margin-top: 1px; +} +.toggle .toggle-line:not(:first-child) { + margin-top: 4px; +} +.toggle.toggle-arrow :first-child { + top: 2px; + transform: rotate(-45deg); + width: 50%; +} +.toggle.toggle-arrow :last-child { + top: -2px; + transform: rotate(45deg); + width: 50%; +} +.toggle.toggle-close :nth-child(2) { + opacity: 0; +} +.toggle.toggle-close :first-child { + top: 6px; + transform: rotate(-45deg); +} +.toggle.toggle-close :last-child { + top: -6px; + transform: rotate(45deg); +} +pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em +} +code.hljs { + padding: 3px 5px +} +/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/ +/* +This is left on purpose making default.css the single file that can be lifted +as-is from the repository directly without the need for a build step + +Typically this "required" baseline CSS is added by `makestuff.js` during build. +*/ +pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em +} +code.hljs { + padding: 3px 5px +} +/* end baseline CSS */ +.hljs { + background: #F3F3F3; + color: #444 +} +/* Base color: saturation 0; */ +.hljs-subst { + /* default */ + +} +/* purposely ignored */ +.hljs-formula, +.hljs-attr, +.hljs-property, +.hljs-params { + +} +.hljs-comment { + color: #697070 +} +.hljs-tag, +.hljs-punctuation { + color: #444a +} +.hljs-tag .hljs-name, +.hljs-tag .hljs-attr { + color: #444 +} +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta .hljs-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold +} +/* User color: hue: 0 */ +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000 +} +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold +} +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-operator, +.hljs-selector-pseudo { + color: #ab5656 +} +/* Language color: hue: 90; */ +.hljs-literal { + color: #695 +} +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300 +} +/* Meta color: hue: 200 */ +.hljs-meta { + color: #1f7199 +} +.hljs-meta .hljs-string { + color: #38a +} +/* Misc effects */ +.hljs-emphasis { + font-style: italic +} +.hljs-strong { + font-weight: bold +} +@media (prefers-color-scheme: dark) { +pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em +} +code.hljs { + padding: 3px 5px +} +/*! + Theme: StackOverflow Dark + Description: Dark theme as used on stackoverflow.com + Author: stackoverflow.com + Maintainer: @Hirse + Website: https://github.com/StackExchange/Stacks + License: MIT + Updated: 2021-05-15 + + Updated for @stackoverflow/stacks v0.64.0 + Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less + Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less +*/ +.hljs { + /* var(--highlight-color) */ + color: #ffffff; + /* var(--highlight-bg) */ + background: #1c1b1b +} +.hljs-subst { + /* var(--highlight-color) */ + color: #ffffff +} +.hljs-comment { + /* var(--highlight-comment) */ + color: #999999 +} +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta .hljs-keyword, +.hljs-doctag, +.hljs-section { + /* var(--highlight-keyword) */ + color: #88aece +} +.hljs-attr { + /* var(--highlight-attribute); */ + color: #88aece +} +.hljs-attribute { + /* var(--highlight-symbol) */ + color: #c59bc1 +} +.hljs-name, +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-quote, +.hljs-template-tag { + /* var(--highlight-namespace) */ + color: #f08d49 +} +.hljs-selector-class { + /* var(--highlight-keyword) */ + color: #88aece +} +.hljs-string, +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr { + /* var(--highlight-variable) */ + color: #b5bd68 +} +.hljs-meta, +.hljs-selector-pseudo { + /* var(--highlight-keyword) */ + color: #88aece +} +.hljs-built_in, +.hljs-title, +.hljs-literal { + /* var(--highlight-literal) */ + color: #f08d49 +} +.hljs-bullet, +.hljs-code { + /* var(--highlight-punctuation) */ + color: #cccccc +} +.hljs-meta .hljs-string { + /* var(--highlight-variable) */ + color: #b5bd68 +} +.hljs-deletion { + /* var(--highlight-deletion) */ + color: #de7176 +} +.hljs-addition { + /* var(--highlight-addition) */ + color: #76c490 +} +.hljs-emphasis { + font-style: italic +} +.hljs-strong { + font-weight: bold +} +.hljs-formula, +.hljs-operator, +.hljs-params, +.hljs-property, +.hljs-punctuation, +.hljs-tag { + /* purposely ignored */ + +} +} +.highlight:hover .copy-btn, +.code-container:hover .copy-btn { + opacity: 1; +} +.code-container { + position: relative; +} +.copy-btn { + color: #333; + cursor: pointer; + line-height: 1.6; + opacity: 0; + padding: 2px 6px; + position: absolute; + transition: opacity 0.2s ease-in-out; + background-color: #eee; + background-image: linear-gradient(#fcfcfc, #eee); + border: 1px solid #d5d5d5; + border-radius: 3px; + font-size: 0.8125em; + right: 4px; + top: 8px; +} +.expand-btn { + bottom: 0; + color: var(--highlight-foreground); + cursor: pointer; + display: none; + left: 0; + right: 0; + position: absolute; + text-align: center; +} +.fold-cover { + background-image: linear-gradient(to top, var(--highlight-background) 0, rgba(0,0,0,0) 100%); + bottom: 0; + display: none; + height: 50px; + left: 0; + right: 0; + position: absolute; +} +.highlight-fold { + max-height: 500px; + overflow-y: hidden !important; +} +.highlight-fold .expand-btn, +.highlight-fold .fold-cover { + display: block; +} +code, +kbd, +figure.highlight, +pre { + background: var(--highlight-background); + color: var(--highlight-foreground); +} +figure.highlight, +pre { + line-height: 1.6; + margin: 0 auto 20px; +} +figure.highlight figcaption, +pre .caption, +pre figcaption { + background: var(--highlight-gutter-background); + color: var(--highlight-foreground); + display: flow-root; + font-size: 0.875em; + line-height: 1.2; + padding: 0.5em; +} +figure.highlight figcaption a, +pre .caption a, +pre figcaption a { + color: var(--highlight-foreground); + float: right; +} +figure.highlight figcaption a:hover, +pre .caption a:hover, +pre figcaption a:hover { + border-bottom-color: var(--highlight-foreground); +} +pre, +code { + font-family: consolas, Menlo, monospace, 'PingFang SC', 'Microsoft YaHei'; +} +code { + border-radius: 3px; + font-size: 0.875em; + padding: 2px 4px; + overflow-wrap: break-word; +} +kbd { + border: 2px solid #ccc; + border-radius: 0.2em; + box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1); + font-family: inherit; + padding: 0.1em 0.3em; + white-space: nowrap; +} +figure.highlight { + overflow: auto; + position: relative; +} +figure.highlight pre { + border: 0; + margin: 0; + padding: 10px 0; +} +figure.highlight table { + border: 0; + margin: 0; + width: auto; +} +figure.highlight td { + border: 0; + padding: 0; +} +figure.highlight .gutter { + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; +} +figure.highlight .gutter pre { + background: var(--highlight-gutter-background); + color: var(--highlight-gutter-foreground); + padding-left: 10px; + padding-right: 10px; + text-align: right; +} +figure.highlight .code pre { + padding-left: 10px; + width: 100%; +} +figure.highlight .marked { + background: rgba(0,0,0,0.3); +} +pre .caption, +pre figcaption { + margin-bottom: 10px; +} +.gist table { + width: auto; +} +.gist table td { + border: 0; +} +pre { + overflow: auto; + padding: 10px; +} +pre code { + background: none; + padding: 0; + text-shadow: none; +} +.blockquote-center { + border-left: 0; + margin: 40px 0; + padding: 0; + position: relative; + text-align: center; +} +.blockquote-center::before, +.blockquote-center::after { + left: 0; + line-height: 1; + opacity: 0.6; + position: absolute; + width: 100%; +} +.blockquote-center::before { + border-top: 1px solid #ccc; + text-align: left; + top: -20px; + content: '\f10d'; + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} +.blockquote-center::after { + border-bottom: 1px solid #ccc; + bottom: -20px; + text-align: right; + content: '\f10e'; + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} +.blockquote-center p, +.blockquote-center div { + text-align: center; +} +.group-picture { + margin-bottom: 20px; +} +.group-picture .group-picture-row { + display: flex; + gap: 3px; + margin-bottom: 3px; +} +.group-picture .group-picture-column { + flex: 1; +} +.group-picture .group-picture-column img { + height: 100%; + margin: 0; + object-fit: cover; + width: 100%; +} +.post-body .label { + color: #555; + padding: 0 2px; +} +.post-body .label.default { + background: #f0f0f0; +} +.post-body .label.primary { + background: #efe6f7; +} +.post-body .label.info { + background: #e5f2f8; +} +.post-body .label.success { + background: #e7f4e9; +} +.post-body .label.warning { + background: #fcf6e1; +} +.post-body .label.danger { + background: #fae8eb; +} +.post-body .link-grid { + display: grid; + grid-gap: 1.5rem; + gap: 1.5rem; + grid-template-columns: 1fr 1fr; + margin-bottom: 20px; + padding: 1rem; +} +@media (max-width: 767px) { + .post-body .link-grid { + grid-template-columns: 1fr; + } +} +.post-body .link-grid .link-grid-container { + border: solid #ddd; + box-shadow: 1rem 1rem 0.5rem rgba(0,0,0,0.5); + min-height: 5rem; + min-width: 0; + padding: 0.5rem; + position: relative; + transition: background 0.3s; +} +.post-body .link-grid .link-grid-container:hover { + animation: next-shake 0.5s; + background: var(--card-bg-color); +} +.post-body .link-grid .link-grid-container:active { + box-shadow: 0.5rem 0.5rem 0.25rem rgba(0,0,0,0.5); + transform: translate(0.2rem, 0.2rem); +} +.post-body .link-grid .link-grid-container .link-grid-image { + border: 1px solid #ddd; + border-radius: 50%; + box-sizing: border-box; + height: 5rem; + padding: 3px; + position: absolute; + width: 5rem; +} +.post-body .link-grid .link-grid-container p { + margin: 0 1rem 0 6rem; +} +.post-body .link-grid .link-grid-container p:first-of-type { + font-size: 1.2em; +} +.post-body .link-grid .link-grid-container p:last-of-type { + font-size: 0.8em; + line-height: 1.3rem; + opacity: 0.7; +} +.post-body .link-grid .link-grid-container a { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +@keyframes next-shake { + 0% { + transform: translate(1pt, 1pt) rotate(0deg); + } + 10% { + transform: translate(-1pt, -2pt) rotate(-1deg); + } + 20% { + transform: translate(-3pt, 0pt) rotate(1deg); + } + 30% { + transform: translate(3pt, 2pt) rotate(0deg); + } + 40% { + transform: translate(1pt, -1pt) rotate(1deg); + } + 50% { + transform: translate(-1pt, 2pt) rotate(-1deg); + } + 60% { + transform: translate(-3pt, 1pt) rotate(0deg); + } + 70% { + transform: translate(3pt, 1pt) rotate(-1deg); + } + 80% { + transform: translate(-1pt, -1pt) rotate(1deg); + } + 90% { + transform: translate(1pt, 2pt) rotate(0deg); + } + 100% { + transform: translate(1pt, -2pt) rotate(-1deg); + } +} +.post-body .note { + border-radius: 3px; + margin-bottom: 20px; + padding: 1em; + position: relative; + border: 1px solid #eee; + border-left-width: 5px; +} +.post-body .note summary { + cursor: pointer; + outline: 0; +} +.post-body .note summary p { + display: inline; +} +.post-body .note h2, +.post-body .note h3, +.post-body .note h4, +.post-body .note h5, +.post-body .note h6 { + border-bottom: initial; + margin: 0; + padding-top: 0; +} +.post-body .note :first-child { + margin-top: 0; +} +.post-body .note :last-child { + margin-bottom: 0; +} +.post-body .note.default { + border-left-color: #777; +} +.post-body .note.default h2, +.post-body .note.default h3, +.post-body .note.default h4, +.post-body .note.default h5, +.post-body .note.default h6 { + color: #777; +} +.post-body .note.primary { + border-left-color: #6f42c1; +} +.post-body .note.primary h2, +.post-body .note.primary h3, +.post-body .note.primary h4, +.post-body .note.primary h5, +.post-body .note.primary h6 { + color: #6f42c1; +} +.post-body .note.info { + border-left-color: #428bca; +} +.post-body .note.info h2, +.post-body .note.info h3, +.post-body .note.info h4, +.post-body .note.info h5, +.post-body .note.info h6 { + color: #428bca; +} +.post-body .note.success { + border-left-color: #5cb85c; +} +.post-body .note.success h2, +.post-body .note.success h3, +.post-body .note.success h4, +.post-body .note.success h5, +.post-body .note.success h6 { + color: #5cb85c; +} +.post-body .note.warning { + border-left-color: #f0ad4e; +} +.post-body .note.warning h2, +.post-body .note.warning h3, +.post-body .note.warning h4, +.post-body .note.warning h5, +.post-body .note.warning h6 { + color: #f0ad4e; +} +.post-body .note.danger { + border-left-color: #d9534f; +} +.post-body .note.danger h2, +.post-body .note.danger h3, +.post-body .note.danger h4, +.post-body .note.danger h5, +.post-body .note.danger h6 { + color: #d9534f; +} +.post-body .tabs { + margin-bottom: 20px; +} +.post-body .tabs, +.tabs-comment { + padding-top: 10px; +} +.post-body .tabs ul.nav-tabs, +.tabs-comment ul.nav-tabs { + background: var(--body-bg-color); + display: flex; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + padding: 0; + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 5; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs, + .tabs-comment ul.nav-tabs { + display: block; + margin-bottom: 5px; + } +} +.post-body .tabs ul.nav-tabs li.tab, +.tabs-comment ul.nav-tabs li.tab { + border-bottom: 1px solid #ddd; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-radius: 0 0 0 0; + border-top: 3px solid transparent; + flex-grow: 1; + list-style-type: none; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab, + .tabs-comment ul.nav-tabs li.tab { + border-bottom: 1px solid transparent; + border-left: 3px solid transparent; + border-right: 1px solid transparent; + border-top: 1px solid transparent; + } +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab, + .tabs-comment ul.nav-tabs li.tab { + border-radius: 0; + } +} +.post-body .tabs ul.nav-tabs li.tab a, +.tabs-comment ul.nav-tabs li.tab a { + border-bottom: initial; + display: block; + line-height: 1.8; + padding: 0.25em 0.75em; + text-align: center; + transition: all 0.2s ease-out; +} +.post-body .tabs ul.nav-tabs li.tab a i[class^='fa'], +.tabs-comment ul.nav-tabs li.tab a i[class^='fa'] { + width: 1.285714285714286em; +} +.post-body .tabs ul.nav-tabs li.tab.active, +.tabs-comment ul.nav-tabs li.tab.active { + border-bottom-color: transparent; + border-left-color: #ddd; + border-right-color: #ddd; + border-top-color: #fc6423; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab.active, + .tabs-comment ul.nav-tabs li.tab.active { + border-bottom-color: #ddd; + border-left-color: #fc6423; + border-right-color: #ddd; + border-top-color: #ddd; + } +} +.post-body .tabs ul.nav-tabs li.tab.active a, +.tabs-comment ul.nav-tabs li.tab.active a { + cursor: default; +} +.post-body .tabs .tab-content, +.tabs-comment .tab-content { + border: 1px solid #ddd; + border-radius: 0 0 0 0; + border-top-color: transparent; +} +@media (max-width: 413px) { + .post-body .tabs .tab-content, + .tabs-comment .tab-content { + border-radius: 0; + border-top-color: #ddd; + } +} +.post-body .tabs .tab-content .tab-pane, +.tabs-comment .tab-content .tab-pane { + padding: 20px 20px 0; +} +.post-body .tabs .tab-content .tab-pane:not(.active), +.tabs-comment .tab-content .tab-pane:not(.active) { + display: none; +} +.pagination .prev, +.pagination .next, +.pagination .page-number, +.pagination .space { + display: inline-block; + margin: -1px 10px 0; + padding: 0 10px; +} +@media (max-width: 767px) { + .pagination .prev, + .pagination .next, + .pagination .page-number, + .pagination .space { + margin: 0 5px; + } +} +.pagination .page-number.current { + background: #ccc; + border-color: #ccc; + color: var(--content-bg-color); +} +.pagination { + border-top: 1px solid #eee; + margin: 120px 0 0; + text-align: left; +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + border-bottom: 0; + border-top: 1px solid #eee; + transition: border-color 0.2s ease-in-out; +} +.pagination .prev:hover, +.pagination .next:hover, +.pagination .page-number:hover { + border-top-color: var(--link-hover-color); +} +@media (max-width: 767px) { + .pagination { + border-top: 0; + } + .pagination .prev, + .pagination .next, + .pagination .page-number { + border-bottom: 1px solid #eee; + border-top: 0; + } + .pagination .prev:hover, + .pagination .next:hover, + .pagination .page-number:hover { + border-bottom-color: var(--link-hover-color); + } +} +.pagination .space { + margin: 0; + padding: 0; +} +.comments { + margin-top: 60px; + overflow: hidden; +} +.comment-button-group { + display: flex; + display: flex; + flex-wrap: wrap; + justify-content: center; + justify-content: center; + margin: 1em 0; +} +.comment-button-group .comment-button { + margin: 0.1em 0.2em; +} +.comment-button-group .comment-button.active { + background: var(--btn-default-hover-bg); + border-color: var(--btn-default-hover-border-color); + color: var(--btn-default-hover-color); +} +.comment-position { + display: none; +} +.comment-position.active { + display: block; +} +.tabs-comment { + margin-top: 4em; + padding-top: 0; +} +.tabs-comment .comments { + margin-top: 0; + padding-top: 0; +} +.headband { + background: var(--theme-color); + height: 3px; +} +@media (max-width: 991px) { + .headband { + display: none; + } +} +.site-brand-container { + display: flex; + flex-shrink: 0; + padding: 0 10px; +} +.use-motion .column, +.use-motion .site-brand-container .toggle { + opacity: 0; +} +.site-meta { + flex-grow: 1; + text-align: center; +} +@media (max-width: 767px) { + .site-meta { + text-align: center; + } +} +.custom-logo-image { + margin-top: 20px; +} +@media (max-width: 991px) { + .custom-logo-image { + display: none; + } +} +.brand { + border-bottom: 0; + color: var(--brand-color); + display: inline-block; + padding: 2px 1px; +} +.brand:hover { + color: var(--brand-hover-color); +} +.site-title { + font-family: Lato, 'PingFang SC', 'Microsoft YaHei', sans-serif; + font-size: 1.375em; + font-weight: normal; + line-height: 1.5; + margin: 0; +} +.site-subtitle { + color: #999; + font-size: 0.8125em; + margin: 10px 0; +} +.use-motion .site-title, +.use-motion .site-subtitle, +.use-motion .custom-logo-image { + opacity: 0; + position: relative; + top: -10px; +} +.site-nav-toggle, +.site-nav-right { + display: none; +} +@media (max-width: 767px) { + .site-nav-toggle, + .site-nav-right { + display: flex; + flex-direction: column; + justify-content: center; + } +} +.site-nav-toggle .toggle, +.site-nav-right .toggle { + color: var(--text-color); + padding: 10px; + width: 22px; +} +.site-nav-toggle .toggle .toggle-line, +.site-nav-right .toggle .toggle-line { + background: var(--text-color); + border-radius: 1px; +} +@media (max-width: 767px) { + .site-nav { + --scroll-height: 0; + height: 0; + overflow: hidden; + transition: 0.2s ease-in-out; + transition-property: height, visibility; + visibility: hidden; + } + body:not(.site-nav-on) .site-nav .animated { + animation: none; + } + body.site-nav-on .site-nav { + height: var(--scroll-height); + visibility: unset; + } +} +.menu { + margin: 0; + padding: 1em 0; + text-align: center; +} +.menu-item { + display: inline-block; + list-style: none; + margin: 0 10px; +} +@media (max-width: 767px) { + .menu-item { + display: block; + margin-top: 10px; + } + .menu-item.menu-item-search { + display: none; + } +} +.menu-item a { + border-bottom: 0; + display: block; + font-size: 0.8125em; + transition: border-color 0.2s ease-in-out; +} +.menu-item a:hover, +.menu-item a.menu-item-active { + background: var(--menu-item-bg-color); +} +.menu-item i[class^='fa'] { + margin-right: 8px; +} +.menu-item .badge { + background: #fff; + border-radius: 10px; + color: #555; + font-weight: bold; + line-height: 1; + margin-left: 0.35em; + padding: 1px 4px; + text-shadow: 1px 1px 0 rgba(0,0,0,0.1); +} +.use-motion .menu-item { + visibility: hidden; +} +.sidebar { + right: -320px; +} +.sidebar-active .sidebar { + right: 0; +} +.sidebar { + background: #222; + bottom: 0; + max-height: 100vh; + overflow-y: auto; + position: fixed; + top: 0; + transition: 0.2s ease-out; + transition-property: left, right; + width: 320px; + z-index: 20; +} +.sidebar a { + border-bottom-color: #555; + color: #999; +} +.sidebar a:hover { + border-bottom-color: #eee; + color: #eee; +} +.links-of-author:not(:first-child) { + margin-top: 15px; +} +.links-of-author a { + border-bottom-color: #555; + display: inline-block; + margin-bottom: 10px; + margin-right: 10px; + vertical-align: middle; +} +.links-of-author a::before { + background: #74e4e4; + display: inline-block; + margin-right: 3px; + transform: translateY(-2px); + border-radius: 50%; + content: ' '; + height: 4px; + width: 4px; +} +.links-of-blogroll-item { + display: inline-block; + padding: 2px 10px; +} +.links-of-blogroll-item a { + box-sizing: border-box; + display: inline-block; + max-width: 280px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.popular-posts .popular-posts-item .popular-posts-link:hover { + background: none; +} +.sidebar-dimmer { + background: #000; + height: 100%; + left: 0; + opacity: 0; + position: fixed; + top: 0; + transition: visibility 0.4s, opacity 0.4s; + visibility: hidden; + width: 100%; + z-index: 10; +} +.sidebar-active .sidebar-dimmer { + opacity: 0.7; + visibility: visible; +} +.sidebar-inner { + color: #999; + padding: 18px 10px; + text-align: center; + display: flex; + flex-direction: column; + justify-content: center; +} +.cc-license .cc-opacity { + border-bottom: 0; + opacity: 0.7; +} +.cc-license .cc-opacity:hover { + opacity: 0.9; +} +.cc-license img { + display: inline-block; +} +.site-author-image { + border: 2px solid #333; + max-width: 96px; + padding: 2px; +} +.site-author-name { + color: #f5f5f5; + font-weight: normal; + margin: 5px 0 0; +} +.site-description { + color: #999; + font-size: 1em; + margin-top: 5px; +} +.links-of-author a { + font-size: 0.8125em; +} +.sidebar .sidebar-button:not(:first-child) { + margin-top: 15px; +} +.sidebar .sidebar-button button { + background: transparent; + color: #fc6423; + cursor: pointer; + line-height: 2; + padding: 0 15px; + border: 1px solid #fc6423; + border-radius: 4px; +} +.sidebar .sidebar-button button:hover { + background: #fc6423; + color: #fff; +} +.sidebar .sidebar-button button i[class^='fa'] { + margin-right: 5px; +} +.links-of-blogroll { + font-size: 0.8125em; +} +.links-of-blogroll-title { + font-size: 0.875em; + font-weight: 600; +} +.links-of-blogroll-list { + list-style: none; + margin: 0; + padding: 0; +} +.sidebar-nav { + font-size: 0.875em; + height: 0; + margin: 0; + overflow: hidden; + padding-left: 0; + pointer-events: none; + transition: 0.2s ease-in-out; + transition-property: height, visibility; + visibility: hidden; +} +.sidebar-nav-active .sidebar-nav { + height: calc(2em + 1px); + pointer-events: unset; + visibility: unset; +} +.sidebar-nav li { + border-bottom: 1px solid transparent; + color: #666; + cursor: pointer; + display: inline-block; + transition: 0.2s ease-in-out; + transition-property: border-bottom-color, color; +} +.sidebar-nav li.sidebar-nav-overview { + margin-left: 10px; +} +.sidebar-nav li:hover { + color: #f5f5f5; +} +.sidebar-toc-active .sidebar-nav-toc, +.sidebar-overview-active .sidebar-nav-overview { + border-bottom-color: #87daff; + color: #87daff; + transition-delay: 0.2s; +} +.sidebar-toc-active .sidebar-nav-toc:hover, +.sidebar-overview-active .sidebar-nav-overview:hover { + color: #87daff; +} +.sidebar-panel-container { + align-items: start; + display: grid; + flex: 1; + overflow-x: hidden; + overflow-y: auto; + padding-top: 0; + transition: padding-top 0.2s ease-in-out; +} +.sidebar-nav-active .sidebar-panel-container { + padding-top: 20px; +} +.sidebar-panel { + animation: deactivate-sidebar-panel 0.2s ease-in-out; + grid-area: 1/1; + height: 0; + opacity: 0; + overflow: hidden; + pointer-events: none; + transform: translateY(0); + transition: 0.2s ease-in-out; + transition-delay: 0s; + transition-property: opacity, transform, visibility; + visibility: hidden; +} +.sidebar-nav-active .sidebar-panel, +.sidebar-overview-active .sidebar-panel.post-toc-wrap { + transform: translateY(-20px); +} +.sidebar-overview-active:not(.sidebar-nav-active) .sidebar-panel.post-toc-wrap { + transition-delay: 0s, 0.2s, 0s; +} +.sidebar-overview-active .sidebar-panel.site-overview-wrap, +.sidebar-toc-active .sidebar-panel.post-toc-wrap { + animation-name: activate-sidebar-panel; + height: auto; + opacity: 1; + pointer-events: unset; + transform: translateY(0); + transition-delay: 0.2s, 0.2s, 0s; + visibility: unset; +} +.sidebar-panel.site-overview-wrap { + display: flex; + flex-direction: column; + justify-content: center; + gap: 10px; + justify-content: flex-start; +} +@keyframes deactivate-sidebar-panel { + from { + height: var(--inactive-panel-height, 0); + } + to { + height: var(--active-panel-height, 0); + } +} +@keyframes activate-sidebar-panel { + from { + height: var(--inactive-panel-height, auto); + } + to { + height: var(--active-panel-height, auto); + } +} +.sidebar-toggle { + bottom: 61px; + height: 16px; + padding: 5px; + width: 16px; + background: #222; + cursor: pointer; + opacity: 0.8; + position: fixed; + z-index: 30; + right: 30px; +} +@media (max-width: 991px) { + .sidebar-toggle { + right: 20px; + } +} +.sidebar-toggle:hover { + opacity: 1; +} +@media (max-width: 991px) { + .sidebar-toggle { + opacity: 1; + } +} +.sidebar-toggle:hover .toggle-line { + background: #87daff; +} +@media (any-hover: hover) { + body:not(.sidebar-active) .sidebar-toggle:hover :first-child { + top: 2px; + transform: rotate(-45deg); + width: 50%; + } + body:not(.sidebar-active) .sidebar-toggle:hover :last-child { + top: -2px; + transform: rotate(45deg); + width: 50%; + } +} +.sidebar-active .sidebar-toggle :nth-child(2) { + opacity: 0; +} +.sidebar-active .sidebar-toggle :first-child { + top: 6px; + transform: rotate(-45deg); +} +.sidebar-active .sidebar-toggle :last-child { + top: -6px; + transform: rotate(45deg); +} +.post-toc { + font-size: 0.875em; +} +.post-toc ol { + list-style: none; + margin: 0; + padding: 0 2px 0 10px; + text-align: left; +} +.post-toc ol > :last-child { + margin-bottom: 5px; +} +.post-toc ol > ol { + padding-left: 0; +} +.post-toc ol a { + transition: all 0.2s ease-in-out; +} +.post-toc .nav-item { + line-height: 1.8; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.post-toc .nav .nav-child { + --height: 0; + height: 0; + opacity: 0; + overflow: hidden; + transition-property: height, opacity, visibility; + transition: 0.2s ease-in-out; + visibility: hidden; +} +.post-toc .nav .active > .nav-child { + height: var(--height, auto); + opacity: 1; + visibility: unset; +} +.post-toc .nav .active > a { + border-bottom-color: #87daff; + color: #87daff; +} +.post-toc .nav .active-current > a { + color: #87daff; +} +.post-toc .nav .active-current > a:hover { + color: #87daff; +} +.site-state { + display: flex; + flex-wrap: wrap; + justify-content: center; + line-height: 1.4; +} +.site-state-item { + padding: 0 15px; +} +.site-state-item a { + border-bottom: 0; + display: block; +} +.site-state-item-count { + display: block; + font-size: 1.25em; + font-weight: 600; +} +.site-state-item-name { + color: inherit; + font-size: 0.875em; +} +.sidebar-post-related { + font-size: 0.8125em; + padding: 18px 0 0 0; +} +.popular-posts { + margin: 0; + padding: 1em 0; + text-align: left; +} +.popular-posts .popular-posts-item { + display: block; +} +.popular-posts .popular-posts-item .popular-posts-link { + border-bottom: 0; + display: block; + padding: 5px 20px; + transition: background 0.2s ease-in-out; +} +.popular-posts .popular-posts-item .popular-posts-link:hover { + background: var(--menu-item-bg-color); +} +.popular-posts .popular-posts-item .popular-posts-time { + color: inherit; +} +.footer { + color: #999; + font-size: 0.875em; + padding: 20px 0; + transition: 0.2s ease-in-out; + transition-property: left, right; +} +.footer.footer-fixed { + bottom: 0; + left: 0; + position: absolute; + right: 0; +} +.footer-inner { + box-sizing: border-box; + text-align: left; + display: flex; + flex-direction: column; + justify-content: center; + margin: 0 auto; + width: 700px; +} +@media (max-width: 767px) { + .footer-inner { + width: auto; + } +} +@media (min-width: 1200px) { + .footer-inner { + width: 800px; + } +} +@media (min-width: 1600px) { + .footer-inner { + width: 900px; + } +} +.use-motion .footer { + opacity: 0; +} +.languages { + display: inline-block; + font-size: 1.125em; + position: relative; +} +.languages .lang-select-label span { + margin: 0 0.5em; +} +.languages .lang-select { + height: 100%; + left: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; +} +.with-love { + color: #f00; + display: inline-block; + margin: 0 5px; + animation: icon-animate 1.33s ease-in-out infinite; +} +.busuanzi-count #busuanzi_container_site_uv { + display: none; +} +.busuanzi-count #busuanzi_container_site_pv { + display: none; +} +@keyframes icon-animate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +.back-to-top { + font-size: 12px; + margin: 8px -10px -20px; + opacity: 0; + transition: opacity 0.2s ease-in-out; +} +.back-to-top span { + margin-right: 8px; +} +.back-to-top .fa { + text-align: center; + width: 26px; +} +.back-to-top.back-to-top-on { + cursor: pointer; + opacity: 0.8; +} +.back-to-top.back-to-top-on:hover { + opacity: 1; +} +.reading-progress-bar { + --progress: 0; + background: #37c6c0; + height: 3px; + position: fixed; + z-index: 50; + width: var(--progress); + left: 0; + bottom: 0; +} +.rtl.post-body p, +.rtl.post-body a, +.rtl.post-body h1, +.rtl.post-body h2, +.rtl.post-body h3, +.rtl.post-body h4, +.rtl.post-body h5, +.rtl.post-body h6, +.rtl.post-body li, +.rtl.post-body ul, +.rtl.post-body ol { + direction: rtl; + font-family: UKIJ Ekran; +} +.rtl.post-title { + font-family: UKIJ Ekran; +} +.post-button { + margin-top: 40px; + text-align: left; +} +.use-motion .post-block, +.use-motion .pagination, +.use-motion .comments { + visibility: hidden; +} +.use-motion .post-header { + visibility: hidden; +} +.use-motion .post-body { + visibility: hidden; +} +.use-motion .collection-header { + visibility: hidden; +} +.posts-collapse .post-content { + margin-bottom: 35px; + margin-left: 35px; + position: relative; +} +@media (max-width: 767px) { + .posts-collapse .post-content { + margin-left: 0; + margin-right: 0; + } +} +.posts-collapse .post-content .collection-title { + font-size: 1.125em; + position: relative; +} +.posts-collapse .post-content .collection-title::before { + background: #999; + border: 1px solid #fff; + margin-left: -6px; + margin-top: -4px; + position: absolute; + top: 50%; + border-radius: 50%; + content: ' '; + height: 10px; + width: 10px; +} +.posts-collapse .post-content .collection-year { + font-size: 1.5em; + font-weight: bold; + margin: 60px 0; + position: relative; +} +.posts-collapse .post-content .collection-year .collection-year-count { + font-size: 0.75em; + background: #fff; + border-radius: 10px; + color: #555; + font-weight: bold; + line-height: 1; + margin-left: 0.35em; + padding: 1px 4px; + text-shadow: 1px 1px 0 rgba(0,0,0,0.1); +} +.posts-collapse .post-content .collection-year::before { + background: #bbb; + margin-left: -4px; + margin-top: -4px; + position: absolute; + top: 50%; + border-radius: 50%; + content: ' '; + height: 8px; + width: 8px; +} +.posts-collapse .post-content .collection-header { + display: block; + margin-left: 20px; +} +.posts-collapse .post-content .collection-header small { + color: #bbb; + margin-left: 5px; +} +.posts-collapse .post-content .post-header { + border-bottom: 1px dashed #ccc; + margin: 30px 2px 0; + padding-left: 15px; + position: relative; + transition: border 0.2s ease-in-out; +} +.posts-collapse .post-content .post-header::before { + background: #bbb; + border: 1px solid #fff; + left: -6px; + position: absolute; + top: 0.75em; + transition: background 0.2s ease-in-out; + border-radius: 50%; + content: ' '; + height: 6px; + width: 6px; +} +.posts-collapse .post-content .post-header:hover { + border-bottom-color: #666; +} +.posts-collapse .post-content .post-header:hover::before { + background: #222; +} +.posts-collapse .post-content .post-meta-container { + display: inline; + font-size: 0.75em; + margin-right: 10px; +} +.posts-collapse .post-content .post-title { + display: inline; +} +.posts-collapse .post-content .post-title a { + border-bottom: 0; + color: var(--link-color); +} +.posts-collapse .post-content .post-title .fa { + font-size: 0.875em; + margin-left: 5px; +} +.posts-collapse .post-content::before { + background: #f5f5f5; + content: ' '; + height: 100%; + margin-left: -2px; + position: absolute; + top: 1.25em; + width: 4px; +} +.post-body { + font-family: Lato, 'PingFang SC', 'Microsoft YaHei', sans-serif; + overflow-wrap: break-word; +} +@media (min-width: 1200px) { + .post-body { + font-size: 1.125em; + } +} +@media (min-width: 992px) { + .post-body { + text-align: justify; + } +} +@media (max-width: 991px) { + .post-body { + text-align: justify; + } +} +.post-body h1 .header-anchor, +.post-body h2 .header-anchor, +.post-body h3 .header-anchor, +.post-body h4 .header-anchor, +.post-body h5 .header-anchor, +.post-body h6 .header-anchor, +.post-body h1 .headerlink, +.post-body h2 .headerlink, +.post-body h3 .headerlink, +.post-body h4 .headerlink, +.post-body h5 .headerlink, +.post-body h6 .headerlink { + border-bottom-style: none; + color: inherit; + float: right; + font-size: 0.875em; + margin-left: 10px; + opacity: 0; +} +.post-body h1 .header-anchor::before, +.post-body h2 .header-anchor::before, +.post-body h3 .header-anchor::before, +.post-body h4 .header-anchor::before, +.post-body h5 .header-anchor::before, +.post-body h6 .header-anchor::before, +.post-body h1 .headerlink::before, +.post-body h2 .headerlink::before, +.post-body h3 .headerlink::before, +.post-body h4 .headerlink::before, +.post-body h5 .headerlink::before, +.post-body h6 .headerlink::before { + content: '\f0c1'; + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} +.post-body h1:hover .header-anchor, +.post-body h2:hover .header-anchor, +.post-body h3:hover .header-anchor, +.post-body h4:hover .header-anchor, +.post-body h5:hover .header-anchor, +.post-body h6:hover .header-anchor, +.post-body h1:hover .headerlink, +.post-body h2:hover .headerlink, +.post-body h3:hover .headerlink, +.post-body h4:hover .headerlink, +.post-body h5:hover .headerlink, +.post-body h6:hover .headerlink { + opacity: 0.5; +} +.post-body h1:hover .header-anchor:hover, +.post-body h2:hover .header-anchor:hover, +.post-body h3:hover .header-anchor:hover, +.post-body h4:hover .header-anchor:hover, +.post-body h5:hover .header-anchor:hover, +.post-body h6:hover .header-anchor:hover, +.post-body h1:hover .headerlink:hover, +.post-body h2:hover .headerlink:hover, +.post-body h3:hover .headerlink:hover, +.post-body h4:hover .headerlink:hover, +.post-body h5:hover .headerlink:hover, +.post-body h6:hover .headerlink:hover { + opacity: 1; +} +.post-body .exturl .fa { + font-size: 0.875em; + margin-left: 4px; +} +.post-body img + figcaption, +.post-body .fancybox + figcaption { + color: #999; + font-size: 0.875em; + font-weight: bold; + line-height: 1; + margin: -15px auto 15px; + text-align: center; +} +.post-body iframe, +.post-body img, +.post-body video, +.post-body embed { + margin-bottom: 20px; +} +.post-body .video-container { + height: 0; + margin-bottom: 20px; + overflow: hidden; + padding-top: 75%; + position: relative; + width: 100%; +} +.post-body .video-container iframe, +.post-body .video-container object, +.post-body .video-container embed { + height: 100%; + left: 0; + margin: 0; + position: absolute; + top: 0; + width: 100%; +} +.post-gallery { + display: flex; + min-height: 200px; +} +.post-gallery .post-gallery-image { + flex: 1; +} +.post-gallery .post-gallery-image:not(:first-child) { + clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%); + margin-left: -20px; +} +.post-gallery .post-gallery-image:not(:last-child) { + margin-right: -20px; +} +.post-gallery .post-gallery-image img { + height: 100%; + object-fit: cover; + opacity: 1; + width: 100%; +} +.posts-expand .post-gallery { + margin-bottom: 60px; +} +.posts-collapse .post-gallery { + margin: 15px 0; +} +.posts-expand .post-header { + font-size: 1.125em; + margin-bottom: 60px; + text-align: center; +} +.posts-expand .post-title { + font-size: 1.5em; + font-weight: normal; + margin: initial; + overflow-wrap: break-word; +} +.posts-expand .post-title-link { + border-bottom: 0; + color: var(--link-color); + display: inline-block; + position: relative; +} +.posts-expand .post-title-link::before { + background: var(--link-color); + bottom: 0; + content: ''; + height: 2px; + left: 0; + position: absolute; + transform: scaleX(0); + transition: transform 0.2s ease-in-out; + width: 100%; +} +.posts-expand .post-title-link:hover::before { + transform: scaleX(1); +} +.posts-expand .post-title-link .fa { + font-size: 0.875em; + margin-left: 5px; +} +.post-sticky-flag { + display: inline-block; + margin-right: 8px; + transform: rotate(30deg); +} +.posts-expand .post-meta-container { + color: #999; + font-family: Lato, 'PingFang SC', 'Microsoft YaHei', sans-serif; + font-size: 0.75em; + margin-top: 3px; +} +.posts-expand .post-meta-container .post-description { + font-size: 0.875em; + margin-top: 2px; +} +.posts-expand .post-meta-container time { + border-bottom: 1px dashed #999; +} +.post-meta { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +:not(.post-meta-break) + .post-meta-item::before { + content: '|'; + margin: 0 0.5em; +} +.post-meta-item-icon { + margin-right: 3px; +} +@media (max-width: 991px) { + .post-meta-item-text { + display: none; + } +} +.post-meta-break { + flex-basis: 100%; + height: 0; +} +#busuanzi_container_page_pv { + display: none; +} +.post-nav { + border-top: 1px solid #eee; + display: flex; + gap: 30px; + justify-content: space-between; + margin-top: 1em; + padding: 10px 5px 0; +} +.post-nav-item { + flex: 1; +} +.post-nav-item a { + border-bottom: 0; + display: block; + font-size: 0.875em; + line-height: 1.6; +} +.post-nav-item a:active { + top: 2px; +} +.post-nav-item .fa { + font-size: 0.75em; +} +.post-nav-item:first-child .fa { + margin-right: 5px; +} +.post-nav-item:last-child { + text-align: right; +} +.post-nav-item:last-child .fa { + margin-left: 5px; +} +.post-footer { + display: flex; + flex-direction: column; + justify-content: center; +} +.post-eof { + background: #ccc; + height: 1px; + margin: 80px auto 60px; + width: 8%; +} +.post-block:last-of-type .post-eof { + display: none; +} +.post-copyright ul { + list-style: none; + overflow: hidden; + padding: 0.5em 1em; + position: relative; + background: var(--card-bg-color); + border-left: 3px solid #ff2a2a; + margin: 1em 0 0; +} +.post-copyright ul::after { + content: '\f25e'; + font-family: 'Font Awesome 6 Brands'; + font-size: 200px; + opacity: 0.1; + position: absolute; + right: -50px; + top: -150px; +} +.post-tags { + margin-top: 40px; + text-align: left; +} +.post-tags a { + display: inline-block; + font-size: 0.8125em; +} +.post-tags a:not(:last-child) { + margin-right: 10px; +} +.social-like { + border-top: 1px solid #eee; + font-size: 0.875em; + margin-top: 1em; + padding-top: 1em; + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.social-like a { + border-bottom: none; +} +.reward-container { + margin: 1em 0 0; + padding: 1em 0; + text-align: center; +} +.reward-container button { + background: transparent; + color: #87daff; + cursor: pointer; + line-height: 2; + padding: 0 15px; + border: 2px solid #87daff; + border-radius: 2px; + outline: 0; + vertical-align: text-top; +} +.reward-container button:hover { + background: #87daff; + color: #fff; +} +.post-reward { + display: none; + padding-top: 20px; +} +.post-reward.active { + display: block; +} +.post-reward div { + display: inline-block; +} +.post-reward div span { + display: block; +} +.post-reward img { + display: inline-block; + margin: 0.8em 2em 0; + max-width: 100%; + width: 180px; +} +@keyframes next-roll { + from { + transform: rotateZ(30deg); + } + to { + transform: rotateZ(-30deg); + } +} +.followme { + color: #bbb; + padding: 1em 1.5em; + text-align: center; + background: var(--card-bg-color); + border-left: 3px solid #ff2a2a; + margin: 1em 0 0; +} +.followme .social-list { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.followme .social-list .social-item { + margin: 0.5em 2em; + position: relative; +} +@media (max-width: 991px) { + .followme .social-list .social-item { + margin: 0.5em 0.75em; + } +} +.followme .social-list .social-link { + border: 0; + display: block; +} +.followme .social-list .social-link .icon { + font-size: 1.75em; +} +.followme .social-list .social-link .label { + display: block; + font-size: 14px; +} +.followme .social-list .social-link:hover + .social-item-img { + display: block; +} +.followme .social-list span.social-link { + color: var(--link-color); +} +.followme .social-list span.social-link:hover { + color: var(--link-hover-color); +} +.followme .social-list .social-item-img { + display: none; + left: 50%; + max-width: 180px; + position: absolute; + transform: translate(-50%, 20px); +} +.category-all-page .category-all-title { + text-align: center; +} +.category-all-page .category-all { + margin-top: 20px; +} +.category-all-page .category-list { + list-style: none; + margin: 0; + padding: 0; +} +.category-all-page .category-list-item { + margin: 5px 10px; +} +.category-all-page .category-list-count { + font-size: 0.75em; + background: #fff; + border-radius: 10px; + color: #555; + font-weight: bold; + line-height: 1; + margin-left: 0.35em; + padding: 1px 4px; + text-shadow: 1px 1px 0 rgba(0,0,0,0.1); +} +.category-all-page .category-list-child { + padding-left: 10px; +} +.event-list hr { + background: #222; + margin: 20px 0 45px; +} +.event-list hr::after { + background: #222; + color: #fff; + content: 'NOW'; + display: inline-block; + font-weight: bold; + padding: 0 5px; +} +.event-list .event { + --event-background: #222; + --event-foreground: #bbb; + --event-title: #fff; + background: var(--event-background); + padding: 15px; +} +.event-list .event .event-summary { + border-bottom: 0; + color: var(--event-title); + margin: 0; + padding: 0 0 0 35px; + position: relative; +} +.event-list .event .event-summary::before { + animation: dot-flash 1s alternate infinite ease-in-out; + background: var(--event-title); + left: 0; + margin-top: -6px; + position: absolute; + top: 50%; + border-radius: 50%; + content: ' '; + height: 12px; + width: 12px; +} +.event-list .event:nth-of-type(odd) .event-summary::before { + animation-delay: 0.5s; +} +.event-list .event:not(:last-child) { + margin-bottom: 20px; +} +.event-list .event .event-relative-time { + color: var(--event-foreground); + display: inline-block; + font-size: 12px; + font-weight: normal; + padding-left: 12px; +} +.event-list .event .event-details { + color: var(--event-foreground); + display: block; + line-height: 18px; + padding: 6px 0 6px 35px; +} +.event-list .event .event-details::before { + color: var(--event-foreground); + display: inline-block; + margin-right: 9px; + width: 14px; + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} +.event-list .event .event-details.event-location::before { + content: '\f041'; +} +.event-list .event .event-details.event-duration::before { + content: '\f017'; +} +.event-list .event .event-details.event-description::before { + content: '\f024'; +} +.event-list .event-past { + --event-background: #f5f5f5; + --event-foreground: #999; + --event-title: #222; +} +@keyframes dot-flash { + from { + opacity: 1; + transform: scale(1); + } + to { + opacity: 0; + transform: scale(0.8); + } +} +ul.breadcrumb { + font-size: 0.75em; + list-style: none; + margin: 1em 0; + padding: 0 2em; + text-align: center; +} +ul.breadcrumb li { + display: inline; +} +ul.breadcrumb li:not(:first-child)::before { + content: '/\00a0'; + font-weight: normal; + padding: 0.5em; +} +ul.breadcrumb li:last-child { + font-weight: bold; +} +.tag-cloud { + text-align: center; +} +.tag-cloud a { + display: inline-block; + margin: 10px; +} +.tag-cloud-0 { + border-bottom-color: #aaa; + color: #aaa; +} +.tag-cloud-1 { + border-bottom-color: #9a9a9a; + color: #9a9a9a; +} +.tag-cloud-2 { + border-bottom-color: #8b8b8b; + color: #8b8b8b; +} +.tag-cloud-3 { + border-bottom-color: #7c7c7c; + color: #7c7c7c; +} +.tag-cloud-4 { + border-bottom-color: #6c6c6c; + color: #6c6c6c; +} +.tag-cloud-5 { + border-bottom-color: #5d5d5d; + color: #5d5d5d; +} +.tag-cloud-6 { + border-bottom-color: #4e4e4e; + color: #4e4e4e; +} +.tag-cloud-7 { + border-bottom-color: #3e3e3e; + color: #3e3e3e; +} +.tag-cloud-8 { + border-bottom-color: #2f2f2f; + color: #2f2f2f; +} +.tag-cloud-9 { + border-bottom-color: #202020; + color: #202020; +} +.tag-cloud-10 { + border-bottom-color: #111; + color: #111; +} +@media (prefers-color-scheme: dark) { + .tag-cloud-0 { + border-bottom-color: #555; + color: #555; + } + .tag-cloud-1 { + border-bottom-color: #646464; + color: #646464; + } + .tag-cloud-2 { + border-bottom-color: #737373; + color: #737373; + } + .tag-cloud-3 { + border-bottom-color: #828282; + color: #828282; + } + .tag-cloud-4 { + border-bottom-color: #929292; + color: #929292; + } + .tag-cloud-5 { + border-bottom-color: #a1a1a1; + color: #a1a1a1; + } + .tag-cloud-6 { + border-bottom-color: #b0b0b0; + color: #b0b0b0; + } + .tag-cloud-7 { + border-bottom-color: #c0c0c0; + color: #c0c0c0; + } + .tag-cloud-8 { + border-bottom-color: #cfcfcf; + color: #cfcfcf; + } + .tag-cloud-9 { + border-bottom-color: #dedede; + color: #dedede; + } + .tag-cloud-10 { + border-bottom-color: #eee; + color: #eee; + } +} +.gt-header a, +.gt-comments a, +.gt-popup a { + border-bottom: 0; +} +.gt-container .gt-popup .gt-action.is--active::before { + top: 0.7em; +} +@media (prefers-color-scheme: dark) { + .gt-container .gt-header-textarea { + background-color: var(--card-bg-color) !important; + } +} +.search-active { + overflow: hidden; +} +.search-pop-overlay { + background: rgba(0,0,0,0); + display: flex; + height: 100%; + left: 0; + position: fixed; + top: 0; + transition: visibility 0.4s, background 0.4s; + visibility: hidden; + width: 100%; + z-index: 40; +} +.search-active .search-pop-overlay { + background: rgba(0,0,0,0.3); + visibility: visible; +} +.search-popup { + background: var(--card-bg-color); + border-radius: 5px; + height: 80%; + margin: auto; + transform: scale(0); + transition: transform 0.4s; + width: 700px; +} +.search-active .search-popup { + transform: scale(1); +} +@media (max-width: 767px) { + .search-popup { + border-radius: 0; + height: 100%; + width: 100%; + } +} +.search-popup .search-icon, +.search-popup .popup-btn-close { + color: #999; + font-size: 18px; + padding: 0 10px; +} +.search-popup .popup-btn-close { + cursor: pointer; +} +.search-popup .popup-btn-close:hover .fa { + color: #222; +} +.search-popup .search-header { + background: #eee; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + display: flex; + padding: 5px; +} +@media (prefers-color-scheme: dark) { + .search-popup .search-header { + background: #666; + } +} +.search-popup input.search-input { + background: transparent; + border: 0; + outline: 0; + width: 100%; +} +.search-popup input.search-input::-webkit-search-cancel-button { + display: none; +} +.search-popup .search-result-container { + display: flex; + flex-direction: column; + height: calc(100% - 55px); + overflow: auto; + padding: 5px 25px; +} +.search-popup .search-result-container hr { + flex-shrink: 0; + margin: 5px 0 10px; +} +.search-popup .search-result-container hr:first-child { + display: none; +} +.search-popup .search-result-list { + margin: 0 5px; + padding: 0; +} +.search-popup a.search-result-title { + font-weight: bold; +} +.search-popup p.search-result { + border-bottom: 1px dashed #ccc; + padding: 5px 0; +} +.search-popup .search-input-container { + flex-grow: 1; + padding: 2px; +} +.search-popup .search-result-icon { + color: #ccc; + margin: auto; +} +mark.search-keyword { + background: transparent; + border-bottom: 1px dashed #ff2a2a; + color: #ff2a2a; + font-weight: bold; +} +.use-motion .animated { + animation-fill-mode: none; + visibility: inherit; +} +.use-motion .sidebar .animated { + animation-fill-mode: both; +} +hr { + height: 2px; + margin: 20px 0; +} +.btn { + padding: 0 10px; +} +.headband { + display: none; +} +@media (max-width: 767px) { + .pagination { + margin: 80px 0 0; + text-align: center; + } +} +.footer { + background: var(--content-bg-color); + color: var(--text-color); + padding: 10px 0; +} +@media (max-width: 767px) { + .footer-inner { + text-align: center; + } +} +.column { + background: var(--content-bg-color); +} +header.header { + align-items: center; + display: flex; + padding: 20px 0; +} +@media (max-width: 767px) { + header.header { + display: block; + padding: 10px 0; + } +} +.site-meta { + line-height: normal; +} +@media (max-width: 767px) { + .site-meta .brand { + display: block; + } +} +.site-meta .site-title { + font-weight: bolder; +} +.logo-line { + background: var(--brand-color); + display: block; + height: 2px; + margin: 0 auto; + width: 75%; +} +@media (max-width: 767px) { + .logo-line { + display: none; + } +} +.use-motion .logo-line:first-of-type { + transform: scaleX(0); + transform-origin: left; +} +.use-motion .logo-line:last-of-type { + transform: scaleX(0); + transform-origin: right; +} +.site-subtitle { + display: none; +} +.site-nav { + flex-grow: 1; +} +@media (max-width: 767px) { + .site-nav { + padding: 0 10px 0; + } +} +@media (max-width: 767px) { + .main-menu { + padding-top: 10px; + } +} +.menu { + padding: 0; +} +.menu .menu-item { + margin: 0; +} +@media (max-width: 767px) { + .menu .menu-item { + margin-top: 5px; + } +} +.menu .menu-item a { + border-radius: 2px; + padding: 0 10px; + transition-property: background; +} +@media (max-width: 767px) { + .menu .menu-item a { + text-align: left; + display: flex; + align-items: center; + } + .menu .menu-item a .badge { + margin-left: auto; + } +} +.posts-expand.index .post-header { + text-align: left; +} +@media (max-width: 767px) { + .posts-expand.index .post-header { + text-align: center; + } +} +.posts-expand.index .post-meta-container { + margin-top: 5px; +} +.posts-expand.index .post-meta { + justify-content: flex-start; +} +@media (max-width: 767px) { + .posts-expand.index .post-meta { + justify-content: center; + } +} +.posts-expand .post-eof { + display: none; +} +.posts-expand .post-block:not(:first-of-type) { + margin-top: 120px; +} +.posts-expand .post-header { + margin-bottom: 20px; +} +.posts-expand .post-tags a { + background: var(--content-bg-color); + border-bottom: 0; + padding: 1px 5px; +} +.posts-expand .post-tags a:hover { + background: var(--menu-item-bg-color); +} +.posts-expand .post-nav { + margin-top: 40px; +} +.post-button { + margin-top: 20px; +} +.post-button .btn { + background: none; + border: 0; + border-bottom: 2px solid var(--btn-default-border-color); + padding: 0; + transition-property: border; +} +.post-button .btn:hover { + border-bottom-color: var(--btn-default-hover-border-color); +} +header.header { + margin: 0 auto; + width: 700px; +} +@media (max-width: 767px) { + header.header { + width: auto; + } +} +@media (min-width: 1200px) { + header.header { + width: 800px; + } +} +@media (min-width: 1600px) { + header.header { + width: 900px; + } +} +.main-inner { + margin: 0 auto; + width: 700px; + padding-bottom: 80px; +} +@media (max-width: 767px) { + .main-inner { + width: auto; + } +} +@media (min-width: 1200px) { + .main-inner { + width: 800px; + } +} +@media (min-width: 1600px) { + .main-inner { + width: 900px; + } +} +@media (max-width: 767px) { + .main-inner { + padding-left: 20px; + padding-right: 20px; + } +} +.post-block:first-of-type { + padding-top: 80px; +} +@media (max-width: 767px) { + .post-block:first-of-type { + padding-top: 60px; + } +} +@media (min-width: 1200px) { + .sidebar-dimmer { + display: none; + } + .sidebar-active { + padding-right: 320px; + } + .sidebar-active .footer-fixed { + right: 320px; + } +} +.sub-menu { + margin: 10px 0; +} +.sub-menu .menu-item { + display: inline-block; +} diff --git a/css/noscript.css b/css/noscript.css new file mode 100644 index 0000000000..6418c57d49 --- /dev/null +++ b/css/noscript.css @@ -0,0 +1,48 @@ +body { + margin-top: 2rem; +} +.use-motion .menu-item, +.use-motion .sidebar, +.use-motion .sidebar-inner, +.use-motion .post-block, +.use-motion .pagination, +.use-motion .comments, +.use-motion .post-header, +.use-motion .post-body, +.use-motion .collection-header { + visibility: visible; +} +.use-motion .column, +.use-motion .site-brand-container .toggle, +.use-motion .footer { + opacity: initial; +} +.use-motion .site-title, +.use-motion .site-subtitle, +.use-motion .custom-logo-image { + opacity: initial; + top: initial; +} +.use-motion .logo-line { + transform: scaleX(1); +} +.search-pop-overlay, +.sidebar-nav { + display: none; +} +.sidebar-panel { + display: block; +} +.noscript-warning { + background-color: #f55; + color: #fff; + font-family: sans-serif; + font-size: 1rem; + font-weight: bold; + left: 0; + position: fixed; + text-align: center; + top: 0; + width: 100%; + z-index: 50; +} diff --git "a/drafts/Discord\351\202\200\350\257\267\351\223\276\346\216\245.html" "b/drafts/Discord\351\202\200\350\257\267\351\223\276\346\216\245.html" new file mode 100644 index 0000000000..72d9bf78f1 --- /dev/null +++ "b/drafts/Discord\351\202\200\350\257\267\351\223\276\346\216\245.html" @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Discord邀请链接 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

Discord邀请链接 +

+ + + +
+ + + + +
+

创建了一个Discord频道,欢迎加入一起讨论。
+直达链接:Discord

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/PM2\345\256\210\346\212\244.html" "b/drafts/PM2\345\256\210\346\212\244.html" new file mode 100644 index 0000000000..5d58a652ff --- /dev/null +++ "b/drafts/PM2\345\256\210\346\212\244.html" @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PM2守护 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

PM2守护 +

+ + + +
+ + + + +
+

serv00安装PM2

+
1
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
+
1
2
3
pm2 start ./memos -- --mode prod --port 5310 --data ~/domains/memos.ycyc.win/public_html

pm2 start ./alist -- server /usr/home/ycycwin/domains/pan.ycyc.win/alist
+

Alist和Memos保活命令

+
1
2
cd /home/ycycwin/domains/pan.ycyc.win/alist && pm2 start ./alist -- server ~/domains/pan.ycyc.win/alist
cd /home/ycycwin/domains/memos.ycyc.win/public_html && pm2 start ./memos -- --mode prod --port 5310 --data ~/domains/memos.ycyc.win/public_html/data
+

PM2常用命令收藏

+

启动

+
1
2
3
4
5
$ pm2 start app.js               # 启动app.js应用程序
$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡
$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
$ pm2 start app.js --watch # 实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload
$ pm2 start script.sh # 启动 bash 脚本
+

注意:

+
+

-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。

+

查看cpu核数参考:Linux查看物理CPU个数、核数、逻辑CPU个数

+

Copy

+
1
cat /proc/cpuinfo| grep "cpu cores"| uniq
+
+

重启

+
1
$ pm2 restart all               # 重启所有应用
+

重载

+
1
$ pm2 reload all                # 重启 cluster mode下的所有应用
+

停止

+
1
2
$ pm2 stop all                  # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
+

查看进程

+
1
2
3
$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 show [app-name或 id] # 显示应用程序的所有信息
$ pm2 info [app-name或 id] # 显示应用程序的所有信息
+

实时监控

+
1
2
3
$ pm2 monit          # 显示每个应用程序的CPU和内存占用情况
$ pm2 monit 0 # 监控批评行编号为0的进程
$ pm2 monit server.js # 监控名称为server.js的进程
+

日志

+
1
2
3
4
$ pm2 logs                   # 显示所有应用程序的日志
$ pm2 logs [app-name或 id] # 显示指定应用程序的日志
$ pm2 flush #Empty all log file
$ pm2 reloadLogs #Reload all logs
+

删除

+
1
2
$ pm2 delete all                # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
+

其他

+
1
2
3
4
5
6
7
8
$ pm2 gracefulReload all        # Graceful reload all apps in cluster mode(优雅地重新加载集群模式中的所有应用程序)
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
$ pm2 reset [app-name] # 重置重启数量
$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 resurrect # 重新加载保存的应用列表
$ pm2 update # Save processes, kill PM2 and restore processes
$ pm2 generate # Generate a sample json configuration file
+

引用

+

Site Unreachable

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/drafts/index.html b/drafts/index.html new file mode 100644 index 0000000000..3bde0f4c1c --- /dev/null +++ b/drafts/index.html @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +index | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

index +

+ + + +
+ + + + +
+

草稿文件夹!

+

qexo.png

+

fhd_01.png

+

fhd_03.jpg

+ +
+ + + +
+ + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/linter\346\217\222\344\273\266.html" "b/drafts/linter\346\217\222\344\273\266.html" new file mode 100644 index 0000000000..ad2f28214f --- /dev/null +++ "b/drafts/linter\346\217\222\344\273\266.html" @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +linter插件 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

linter插件 +

+ + + +
+ + + + +
+

这是一个测试Linter插件相关设置的文件。位于drafts文件夹,不做发布使用。
+图片描述

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/serv00 \346\220\255\345\273\272frp\346\234\215\345\212\241\350\256\260\345\275\225.html" "b/drafts/serv00 \346\220\255\345\273\272frp\346\234\215\345\212\241\350\256\260\345\275\225.html" new file mode 100644 index 0000000000..60c70f88b0 --- /dev/null +++ "b/drafts/serv00 \346\220\255\345\273\272frp\346\234\215\345\212\241\350\256\260\345\275\225.html" @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

+

+ + + +
+ + + + +
+

开放两个端口

+

B端口16997
+C端口35349

+

创建网站,类型选择Proxy。端口选择4163。

+

image.png

+

然后创建证书
+image.png

+

release_info=$(curl -s https://api.github.com/repos/fatedier/frp/releases/latest)
+download_url=$(echo “$release_info” | jq -r ‘.assets[] | select(.name | contains(“freebsd_amd64.tar.gz”)) | .browser_download_url’)
+curl -L “$download_url” -o frp_freebsd_amd64.tar.gz
+tar -xzvf frp_freebsd_amd64.tar.gz --strip-components=1
+rm -rf frp_freebsd_amd64.tar.gz

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/\345\217\21411\346\231\222\345\215\225.html" "b/drafts/\345\217\21411\346\231\222\345\215\225.html" new file mode 100644 index 0000000000..0429cd8daf --- /dev/null +++ "b/drafts/\345\217\21411\346\231\222\345\215\225.html" @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

+

+ + + +
+ + + + +
+

双11又快到了,刚才特意搜了一下,天猫搞的第一次双11活动是在2009年。
+我记得第一次在双11购物是在2010年的时候,那时候参加的品牌就比较多了,宣传力度也大了些,记得那时候口号好像是全场5折包邮啥的。当时买了一双鞋、一件外套还有一条牛仔裤。
+还记得当时买回来的鞋小了,穿起来很夹脚,还有外套穿起来也不合身,当时退货还需要出运费,那时候还没有运费险啥的,而且退了再买又恢复原价了,所以就留下了,也没穿几次。
+还有一年的双11是在电视上看晚会直播,有个抽奖环节中了两盒牛奶,隔了几天之后居然收到货了😆。
+一个双11还不够多,之后淘宝又搞出来个双12。淘宝那会搞双12是针对淘宝个人卖家的,C2C,而双11是针对天猫企业商家的,也就是所谓的B2C。
+后来参加双11的电商越来越多,逐渐演变成了电商节。而且电商节不止在网络上蔓延开来,很多线下商超门店也在双11搞促销活动。
+随后被爆出来双11价格都是先涨价再降价,

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/\346\224\266\350\227\217\345\205\254\347\233\212cdn\350\212\202\347\202\271.html" "b/drafts/\346\224\266\350\227\217\345\205\254\347\233\212cdn\350\212\202\347\202\271.html" new file mode 100644 index 0000000000..3ebb11f960 --- /dev/null +++ "b/drafts/\346\224\266\350\227\217\345\205\254\347\233\212cdn\350\212\202\347\202\271.html" @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +收藏公益cdn节点 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

收藏公益cdn节点 +

+ + + +
+ + + + +
+

引言

+

测试更新修改时间。

+

后记

+

引言

+

之前国内用的cdn.jsdmirror.com不是很稳定。收藏几个备用的cdn加速节点。

+
    +
  1. +

    渺软公益 CDN - 国内线路加速 jsDelivr UNPKG cdnjs 开发者自用CDN (onmicrosoft.cn)

    +
  2. +
  3. +

    Tianli CDN (tianli0.top)

    +
  4. +
  5. +

    KGitHub Help

    +
  6. +
  7. +

    Jsdelivr的分支

    +
      +
    • fastly.jsdelivr.net:日本
    • +
    • gcore.jsdelivr.net:移动走香港、电信走日本
    • +
    +
  8. +
  9. +

    Github RAW 加速服务 | GitMirror

    +
  10. +
  11. +

    GitHub Proxy 代理加速 (ghproxy.com)

    +
  12. +
  13. +

    GitHub 文件加速 - Moeyy

    +
  14. +
+

后记

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/drafts/\350\277\221\346\234\237\350\247\202\345\275\261.html" "b/drafts/\350\277\221\346\234\237\350\247\202\345\275\261.html" new file mode 100644 index 0000000000..66eeecf089 --- /dev/null +++ "b/drafts/\350\277\221\346\234\237\350\247\202\345\275\261.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +近期观影 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

近期观影 +

+ + + +
+ + + + +
+

最近看了几部国产影片,有2000年上映由影帝夏雨以及一众老戏骨主演的《西洋镜》(豆瓣评分7.6),最近上映谍战三部曲之一的《解密》(豆瓣评分6.3),还有今年贺岁档上映的《我们一起摇太阳》(豆瓣评分8.1)。
+如果要我给这三部影片拍个序的话,应该是1.《西洋镜》,2.《我们一起摇太阳》,3.《解密》。

+

故事梗概
+image.png

+

喜欢捣鼓新鲜玩意的刘京伦(夏雨 饰)是丰泰照相馆的伙计,偶然一次机会认识了来北京放影戏的英国人雷门,银幕上的会动的影像使让这个年轻人着了迷,于是他便背着掌柜和亲人跟着雷门一起拍影戏放影戏。影戏的放映抢了伶界大王“谭贝勒”的热闹,不过他依然对这种洋人的玩意嗤之以鼻。一次进宫给慈禧太后祝寿时放映机意外爆炸,雷门因此被赶出中国,刘京伦心灰意冷之时只能重回丰泰照相馆当伙计。然而雷门从英国寄来的一些胶片,胶片里记录着他们当初在街头巷尾拍摄的北京城日常生活,刘京伦对于影戏的热情又重新被燃起。后来,便有了中国的第一部电影《定军山》。 影片取材于真实历史事件,讲述了中国电影诞生的历史。此片在第三十七届台湾金马影展上获得最佳改编剧本奖。
+这部足以载入中国电影史册的影片,讲诉了清末光影艺术传入我国的故事,以及中国第一部电影《定军山》的诞生过程。

+

image.png|300

+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/essay/index.html b/essay/index.html new file mode 100644 index 0000000000..fee3e23609 --- /dev/null +++ b/essay/index.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +即可短文 | 渊澄 + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + +
+ +

即可短文 +

+ + + +
+ + + + +
+ +
+ + + +
+ + + + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/alipay.png b/images/alipay.png new file mode 100644 index 0000000000..a7d2579450 Binary files /dev/null and b/images/alipay.png differ diff --git a/images/android-chrome-192x192.png b/images/android-chrome-192x192.png new file mode 100644 index 0000000000..2c7c1c5b73 Binary files /dev/null and b/images/android-chrome-192x192.png differ diff --git a/images/android-chrome-512x512.png b/images/android-chrome-512x512.png new file mode 100644 index 0000000000..198d59c7ac Binary files /dev/null and b/images/android-chrome-512x512.png differ diff --git a/images/apple-touch-icon-next.png b/images/apple-touch-icon-next.png new file mode 100644 index 0000000000..86a0d1d33b Binary files /dev/null and b/images/apple-touch-icon-next.png differ diff --git a/images/apple-touch-icon-next1.png b/images/apple-touch-icon-next1.png new file mode 100644 index 0000000000..86a0d1d33b Binary files /dev/null and b/images/apple-touch-icon-next1.png differ diff --git a/images/apple-touch-icon.png b/images/apple-touch-icon.png new file mode 100644 index 0000000000..20ed039dae Binary files /dev/null and b/images/apple-touch-icon.png differ diff --git a/images/avatar.gif b/images/avatar.gif new file mode 100644 index 0000000000..3b5d744b17 Binary files /dev/null and b/images/avatar.gif differ diff --git a/images/avatar1.gif b/images/avatar1.gif new file mode 100644 index 0000000000..3b5d744b17 Binary files /dev/null and b/images/avatar1.gif differ diff --git a/images/favicon-16x16.png b/images/favicon-16x16.png new file mode 100644 index 0000000000..049dacce2e Binary files /dev/null and b/images/favicon-16x16.png differ diff --git a/images/favicon.ico b/images/favicon.ico new file mode 100644 index 0000000000..715e1fe890 Binary files /dev/null and b/images/favicon.ico differ diff --git a/images/favicon.png b/images/favicon.png new file mode 100644 index 0000000000..f7b5c62073 Binary files /dev/null and b/images/favicon.png differ diff --git a/images/favicon_black.png b/images/favicon_black.png new file mode 100644 index 0000000000..1809a20a94 Binary files /dev/null and b/images/favicon_black.png differ diff --git a/images/logo (2).png b/images/logo (2).png new file mode 100644 index 0000000000..c518203399 Binary files /dev/null and b/images/logo (2).png differ diff --git a/images/logo-algolia-nebula-blue-full.svg b/images/logo-algolia-nebula-blue-full.svg new file mode 100644 index 0000000000..8b45b888c3 --- /dev/null +++ b/images/logo-algolia-nebula-blue-full.svg @@ -0,0 +1 @@ +Algolia logo blue diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000000..e49a30bf3c Binary files /dev/null and b/images/logo.png differ diff --git a/images/logo.svg b/images/logo.svg new file mode 100644 index 0000000000..992c1a5816 --- /dev/null +++ b/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/logo_yc_01.png b/images/logo_yc_01.png new file mode 100644 index 0000000000..d9b41e36d0 Binary files /dev/null and b/images/logo_yc_01.png differ diff --git a/images/logo_yc_02.png b/images/logo_yc_02.png new file mode 100644 index 0000000000..da9f8a310a Binary files /dev/null and b/images/logo_yc_02.png differ diff --git a/images/logo_yc_03.png b/images/logo_yc_03.png new file mode 100644 index 0000000000..57ece7dca8 Binary files /dev/null and b/images/logo_yc_03.png differ diff --git a/images/logo_yc_04.png b/images/logo_yc_04.png new file mode 100644 index 0000000000..69f8711f68 Binary files /dev/null and b/images/logo_yc_04.png differ diff --git a/images/logo_yc_05.png b/images/logo_yc_05.png new file mode 100644 index 0000000000..9956d59f4a Binary files /dev/null and b/images/logo_yc_05.png differ diff --git a/images/logo_yc_06.png b/images/logo_yc_06.png new file mode 100644 index 0000000000..d7d6ba6e5a Binary files /dev/null and b/images/logo_yc_06.png differ diff --git a/images/logo_yc_07.png b/images/logo_yc_07.png new file mode 100644 index 0000000000..609acf8c92 Binary files /dev/null and b/images/logo_yc_07.png differ diff --git a/images/logo_yc_08.png b/images/logo_yc_08.png new file mode 100644 index 0000000000..61433fd542 Binary files /dev/null and b/images/logo_yc_08.png differ diff --git a/images/logo_yc_09.png b/images/logo_yc_09.png new file mode 100644 index 0000000000..483cf6ccc3 Binary files /dev/null and b/images/logo_yc_09.png differ diff --git a/images/logo_yc_10.png b/images/logo_yc_10.png new file mode 100644 index 0000000000..771e95d0f6 Binary files /dev/null and b/images/logo_yc_10.png differ diff --git a/images/logo_yc_11.png b/images/logo_yc_11.png new file mode 100644 index 0000000000..895ff46dd8 Binary files /dev/null and b/images/logo_yc_11.png differ diff --git a/images/logo_yc_12.png b/images/logo_yc_12.png new file mode 100644 index 0000000000..55cb474e98 Binary files /dev/null and b/images/logo_yc_12.png differ diff --git a/images/weblogo.png b/images/weblogo.png new file mode 100644 index 0000000000..2d0eb4fcb0 Binary files /dev/null and b/images/weblogo.png differ diff --git a/images/wechatpay.png b/images/wechatpay.png new file mode 100644 index 0000000000..19deba5864 Binary files /dev/null and b/images/wechatpay.png differ diff --git a/images/zanshangma.png b/images/zanshangma.png new file mode 100644 index 0000000000..250e1af2a5 Binary files /dev/null and b/images/zanshangma.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000..ea4f6090b1 --- /dev/null +++ b/index.html @@ -0,0 +1,858 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +
+ + + +

渊澄

+ +
+

川流不息,渊澄取映

+
+ + +
+ + + + + + + +
+ +
+ +
+ + + + + +
+ +
+ + + + +
+ + + +
+ + + + + + + +
+

+ +

+ + +
+ + + + +
+

没错,2024年11月4日,我将家里HomeAssistant的版本升级到了2024.10.4-截止到目前的最新版本。
+目前在用的是2024.9.1的版本,使用了近两个月的时间,很稳定,很少重启。时隔一个月才升级到新版本,主要还是觉得智能家居系统这一块,稳定是最重要的,如果没有特别大的功能改动或异常BUG,我现在是不会在第一时间升级到新版本的。
+我的HA是在docker环境下运行的,跑在刷了iStoreOS的N1盒子上,由于盒子是arm架构的,所以拉取镜像的时候需要选择homeassistant/aarch64-homeassistant这个镜像,而这个镜像的latest有问题,所以每次拉取镜像的时候需要手动加上版本号,例如homeassistant/aarch64-homeassistant:2024.10.4。
+该版本具体更新了哪些可以参与HA官网文档2024.10: Heading in the right direction - Home Assistant

+

简单说一下我的更新步骤:
+1.拉取新版本docker镜像;
+2.复制旧版本容器,然后选择新版本的docker镜像,创建新容器,其他设置保持不变;
+image.png
+3.停止旧版本容器,启动新版本容器。
+image.png
+4.确认新容器启动正常无报错。
+通常我会保留旧版容器3-5天,确认新版本一切正常之后再手动删除。如果期间新容器有异常,还可以随时退回到旧版本。

+ + +
+ + + + + +
+
+ +
+
+
+ + + + + + + +
+ + + +
+ + + + + + + +
+

+ +

+ + +
+ + + + +
+

今天终于把我尘封多年的之前在WordPress写的日志导入到了Hexo。由于之前在WP导出的是xml,而hexo使用的是markdown格式,在往上搜了几个转化的工具都是一堆报错。最后按照下列文章的指引成功将wordpress备份出来的xml转换成了单个md文件。但是文章引用的图片和其他附件就没了。之后我翻一下NAS里面看有没有备份,有的话修复一下。(好在文章数量不是很多,目前大部分能找到备份的引用图片已经重新上传修复)。大部分是18年到20年左右写的,主要是一些关于HomeAssistant早期的文章,现在大部分都已经可以界面可视化操作了,还有一些提到的教程或脚本或许已经失效了,仅供参考。
+有wordpress转换markdown需求的朋友可以 参阅以下链接教程。实际测试后基本可用,只是wordpress不像Markdown要求那么严格,如果标题中有特殊符号,部署Hexo的时候可能会报错,需要手动修改剔除,还有一些WordPress专有的格式和布局需要重新设置。

+

引用

+

小白-使用wordpress-to-markdown的方法 – 听水观沙

+ + +
+ + + + + +
+
+ +
+
+
+ + + + + + + +
+ + + +
+ + + + + + + +
+

+ +

+ + +
+ + + + +
+

刚才收到Cloudflare的邮件,渊澄视频有个页面被TVB投诉侵权。所以决定从即日起永久关掉站点访问。希望大家支持正版。
+image.png

+ + +
+ + + + + +
+
+ +
+
+
+ + + + + + + +
+ + + +
+ + + + + + + +
+

+ +

+ + +
+ + + + +
+

之前在部署站点的时候因为浏览器提示不安全,所以将停靠在Cloudflare的域名选择的SSL/TLS策略是【灵活】模式,Cloudflare给出的说明是“仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立”,意思就是访问者到Cloudflare之间使用的是HTTPS,而Cloudflare到源服务器之间使用的是HTTP协议。这样设置之后虽然浏览器没有安全警告了,但是由于源服务器没有部署SSL证书,使用的是HTTP协议,从Clouflare到源服务器之间还是容易被黑客监听造成信息泄露隐患。
+所以今天我将Cloudflare的证书策略调整为了【完全(严格)】模式,此模式的意思是“启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书”。而如果你要选择更为高级的【严格】模式,则需要升级账户为企业账户才能设置。

+

image.png

+ +
+ + 阅读全文 » + +
+ + + +
+ + + + + +
+
+ +
+
+
+ + + + + + + +
+ + + +
+ + + + + + + +
+

+ +

+ + +
+ + + + +
+

image.png

+

随着昨晚新款Macbook Pro的发布,苹果已经调整了全系Mac系列内存的起步容量,由原先的最低8GB起步升级为16GB起步,包括在售搭载M2和M3处理器的Macbook Air和Pro,最低配置已经升级到了16GB+256GB的配置,而且售价还维持原来的不变。官网也大方暗示,内存升级到16GB起步是为即将到来的苹果AI智能做准备。
+image.png
+最近有购买Mac需求的小伙伴可以入手了,旧款Macbook的性价比瞬间拉满。😊

+ + +
+ + + + + +
+
+ +
+
+
+ + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/bookmark.js b/js/bookmark.js new file mode 100644 index 0000000000..dea2a91992 --- /dev/null +++ b/js/bookmark.js @@ -0,0 +1,56 @@ +/* global CONFIG */ + +document.addEventListener('DOMContentLoaded', () => { + 'use strict'; + + const doSaveScroll = () => { + localStorage.setItem('bookmark' + location.pathname, window.scrollY); + }; + + const scrollToMark = () => { + let top = localStorage.getItem('bookmark' + location.pathname); + top = Number(top); + // If the page opens with a specific hash, just jump out + if (!isNaN(top) && location.hash === '') { + // Auto scroll to the position + window.anime({ + targets : document.scrollingElement, + duration : 200, + easing : 'linear', + scrollTop: top + }); + } + }; + // Register everything + const init = function(trigger) { + // Create a link element + const link = document.querySelector('.book-mark-link'); + // Scroll event + window.addEventListener('scroll', () => link.classList.toggle('book-mark-link-fixed', window.scrollY === 0), { passive: true }); + // Register beforeunload event when the trigger is auto + if (trigger === 'auto') { + // Register beforeunload event + window.addEventListener('beforeunload', doSaveScroll); + document.addEventListener('pjax:send', doSaveScroll); + } + // Save the position by clicking the icon + link.addEventListener('click', () => { + doSaveScroll(); + window.anime({ + targets : link, + duration: 200, + easing : 'linear', + top : -30, + complete: () => { + setTimeout(() => { + link.style.top = ''; + }, 400); + } + }); + }); + scrollToMark(); + document.addEventListener('pjax:success', scrollToMark); + }; + + init(CONFIG.bookmark.save); +}); diff --git a/js/comments-buttons.js b/js/comments-buttons.js new file mode 100644 index 0000000000..505c21b7d8 --- /dev/null +++ b/js/comments-buttons.js @@ -0,0 +1,25 @@ +/* global CONFIG */ + +(function() { + const commentButton = document.querySelectorAll('.comment-button'); + commentButton.forEach(element => { + const commentClass = element.classList[2]; + element.addEventListener('click', () => { + commentButton.forEach(active => active.classList.toggle('active', active === element)); + document.querySelectorAll('.comment-position').forEach(active => active.classList.toggle('active', active.classList.contains(commentClass))); + if (CONFIG.comments.storage) { + localStorage.setItem('comments_active', commentClass); + } + }); + }); + let { activeClass } = CONFIG.comments; + if (CONFIG.comments.storage) { + activeClass = localStorage.getItem('comments_active') || activeClass; + } + if (activeClass) { + const activeButton = document.querySelector(`.comment-button.${activeClass}`); + if (activeButton) { + activeButton.click(); + } + } +})(); diff --git a/js/comments.js b/js/comments.js new file mode 100644 index 0000000000..4045e8c063 --- /dev/null +++ b/js/comments.js @@ -0,0 +1,21 @@ +/* global CONFIG */ + +window.addEventListener('tabs:register', () => { + let { activeClass } = CONFIG.comments; + if (CONFIG.comments.storage) { + activeClass = localStorage.getItem('comments_active') || activeClass; + } + if (activeClass) { + const activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`); + if (activeTab) { + activeTab.click(); + } + } +}); +if (CONFIG.comments.storage) { + window.addEventListener('tabs:click', event => { + if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return; + const commentClass = event.target.classList[1]; + localStorage.setItem('comments_active', commentClass); + }); +} diff --git a/js/config.js b/js/config.js new file mode 100644 index 0000000000..caa0075b16 --- /dev/null +++ b/js/config.js @@ -0,0 +1,66 @@ +if (!window.NexT) window.NexT = {}; + +(function() { + const className = 'next-config'; + + const staticConfig = {}; + let variableConfig = {}; + + const parse = text => JSON.parse(text || '{}'); + + const update = name => { + const targetEle = document.querySelector(`.${className}[data-name="${name}"]`); + if (!targetEle) return; + const parsedConfig = parse(targetEle.text); + if (name === 'main') { + Object.assign(staticConfig, parsedConfig); + } else { + variableConfig[name] = parsedConfig; + } + }; + + update('main'); + + window.CONFIG = new Proxy({}, { + get(overrideConfig, name) { + let existing; + if (name in staticConfig) { + existing = staticConfig[name]; + } else { + if (!(name in variableConfig)) update(name); + existing = variableConfig[name]; + } + + // For unset override and mixable existing + if (!(name in overrideConfig) && typeof existing === 'object') { + // Get ready to mix. + overrideConfig[name] = {}; + } + + if (name in overrideConfig) { + const override = overrideConfig[name]; + + // When mixable + if (typeof override === 'object' && typeof existing === 'object') { + // Mix, proxy changes to the override. + return new Proxy({ ...existing, ...override }, { + set(target, prop, value) { + target[prop] = value; + override[prop] = value; + return true; + } + }); + } + + return override; + } + + // Only when not mixable and override hasn't been set. + return existing; + } + }); + + document.addEventListener('pjax:success', () => { + variableConfig = {}; + }); +})(); diff --git a/js/motion.js b/js/motion.js new file mode 100644 index 0000000000..02bcc9db4a --- /dev/null +++ b/js/motion.js @@ -0,0 +1,139 @@ +/* global NexT, CONFIG */ + +NexT.motion = {}; + +NexT.motion.integrator = { + queue: [], + init() { + this.queue = []; + return this; + }, + add(fn) { + const sequence = fn(); + this.queue.push(sequence); + return this; + }, + bootstrap() { + if (!CONFIG.motion.async) this.queue = [this.queue.flat()]; + this.queue.forEach(sequence => { + const timeline = window.anime.timeline({ + duration: 200, + easing : 'linear' + }); + sequence.forEach(item => { + if (item.deltaT) timeline.add(item, item.deltaT); + else timeline.add(item); + }); + }); + } +}; + +NexT.motion.middleWares = { + header() { + const sequence = []; + + function getMistLineSettings(targets) { + sequence.push({ + targets, + scaleX : [0, 1], + duration: 500, + deltaT : '-=200' + }); + } + + function pushToSequence(targets, sequenceQueue = false) { + sequence.push({ + targets, + opacity: 1, + top : 0, + deltaT : sequenceQueue ? '-=200' : '-=0' + }); + } + + pushToSequence('.column'); + CONFIG.scheme === 'Mist' && getMistLineSettings('.logo-line'); + CONFIG.scheme === 'Muse' && pushToSequence('.custom-logo-image'); + pushToSequence('.site-title'); + pushToSequence('.site-brand-container .toggle', true); + pushToSequence('.site-subtitle'); + (CONFIG.scheme === 'Pisces' || CONFIG.scheme === 'Gemini') && pushToSequence('.custom-logo-image'); + + const menuItemTransition = CONFIG.motion.transition.menu_item; + if (menuItemTransition) { + document.querySelectorAll('.menu-item').forEach(targets => { + sequence.push({ + targets, + complete: () => targets.classList.add('animated', menuItemTransition), + deltaT : '-=200' + }); + }); + } + + return sequence; + }, + + subMenu() { + const subMenuItem = document.querySelectorAll('.sub-menu .menu-item'); + if (subMenuItem.length > 0) { + subMenuItem.forEach(element => { + element.classList.add('animated'); + }); + } + return []; + }, + + postList() { + const sequence = []; + const { post_block, post_header, post_body, coll_header } = CONFIG.motion.transition; + + function animate(animation, elements) { + if (!animation) return; + elements.forEach(targets => { + sequence.push({ + targets, + complete: () => targets.classList.add('animated', animation), + deltaT : '-=100' + }); + }); + } + + document.querySelectorAll('.post-block').forEach(targets => { + sequence.push({ + targets, + complete: () => targets.classList.add('animated', post_block), + deltaT : '-=100' + }); + animate(coll_header, targets.querySelectorAll('.collection-header')); + animate(post_header, targets.querySelectorAll('.post-header')); + animate(post_body, targets.querySelectorAll('.post-body')); + }); + + animate(post_block, document.querySelectorAll('.pagination, .comments')); + + return sequence; + }, + + sidebar() { + const sequence = []; + const sidebar = document.querySelectorAll('.sidebar-inner'); + const sidebarTransition = CONFIG.motion.transition.sidebar; + // Only for desktop of Pisces | Gemini. + if (sidebarTransition && (CONFIG.scheme === 'Pisces' || CONFIG.scheme === 'Gemini') && window.innerWidth >= 992) { + sidebar.forEach(targets => { + sequence.push({ + targets, + complete: () => targets.classList.add('animated', sidebarTransition), + deltaT : '-=100' + }); + }); + } + return sequence; + }, + + footer() { + return [{ + targets: document.querySelector('.footer'), + opacity: 1 + }]; + } +}; diff --git a/js/next-boot.js b/js/next-boot.js new file mode 100644 index 0000000000..e732f844ad --- /dev/null +++ b/js/next-boot.js @@ -0,0 +1,80 @@ +/* global NexT, CONFIG */ + +NexT.boot = {}; + +NexT.boot.registerEvents = function() { + + NexT.utils.registerScrollPercent(); + NexT.utils.registerCanIUseTag(); + NexT.utils.updateFooterPosition(); + + // Mobile top menu bar. + document.querySelector('.site-nav-toggle .toggle').addEventListener('click', event => { + event.currentTarget.classList.toggle('toggle-close'); + const siteNav = document.querySelector('.site-nav'); + if (!siteNav) return; + siteNav.style.setProperty('--scroll-height', siteNav.scrollHeight + 'px'); + document.body.classList.toggle('site-nav-on'); + }); + + document.querySelectorAll('.sidebar-nav li').forEach((element, index) => { + element.addEventListener('click', () => { + NexT.utils.activateSidebarPanel(index); + }); + }); + + window.addEventListener('hashchange', () => { + const tHash = location.hash; + if (tHash !== '' && !tHash.match(/%\S{2}/)) { + const target = document.querySelector(`.tabs ul.nav-tabs li a[href="${tHash}"]`); + target && target.click(); + } + }); + + window.addEventListener('tabs:click', e => { + NexT.utils.registerCodeblock(e.target); + }); +}; + +NexT.boot.refresh = function() { + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'scripts/helpers/next-config.js' file. + */ + CONFIG.prism && window.Prism.highlightAll(); + CONFIG.mediumzoom && window.mediumZoom('.post-body :not(a) > img, .post-body > img', { + background: 'var(--content-bg-color)' + }); + CONFIG.lazyload && window.lozad('.post-body img').observe(); + CONFIG.pangu && window.pangu.spacingPage(); + + CONFIG.exturl && NexT.utils.registerExtURL(); + NexT.utils.wrapTableWithBox(); + NexT.utils.registerCodeblock(); + NexT.utils.registerTabsTag(); + NexT.utils.registerActiveMenuItem(); + NexT.utils.registerLangSelect(); + NexT.utils.registerSidebarTOC(); + NexT.utils.registerPostReward(); + NexT.utils.registerVideoIframe(); +}; + +NexT.boot.motion = function() { + // Define Motion Sequence & Bootstrap Motion. + if (CONFIG.motion.enable) { + NexT.motion.integrator + .add(NexT.motion.middleWares.header) + .add(NexT.motion.middleWares.sidebar) + .add(NexT.motion.middleWares.postList) + .add(NexT.motion.middleWares.footer) + .bootstrap(); + } + NexT.utils.updateSidebarPosition(); +}; + +document.addEventListener('DOMContentLoaded', () => { + NexT.boot.registerEvents(); + NexT.boot.refresh(); + NexT.boot.motion(); +}); diff --git a/js/pjax.js b/js/pjax.js new file mode 100644 index 0000000000..a9a9dd3849 --- /dev/null +++ b/js/pjax.js @@ -0,0 +1,51 @@ +/* global NexT, CONFIG, Pjax */ + +const pjax = new Pjax({ + selectors: [ + 'head title', + 'meta[property="og:title"]', + 'script[type="application/json"]', + // Precede .main-inner to prevent placeholder TOC changes asap + '.post-toc-wrap', + '.main-inner', + '.languages', + '.pjax' + ], + switches: { + '.post-toc-wrap'(oldWrap, newWrap) { + if (newWrap.querySelector('.post-toc')) { + Pjax.switches.outerHTML.call(this, oldWrap, newWrap); + } else { + const curTOC = oldWrap.querySelector('.post-toc'); + if (curTOC) { + curTOC.classList.add('placeholder-toc'); + } + this.onSwitch(); + } + } + }, + analytics: false, + cacheBust: false, + scrollTo : !CONFIG.bookmark.enable +}); + +document.addEventListener('pjax:success', () => { + pjax.executeScripts(document.querySelectorAll('script[data-pjax]')); + NexT.boot.refresh(); + // Define Motion Sequence & Bootstrap Motion. + if (CONFIG.motion.enable) { + NexT.motion.integrator + .init() + .add(NexT.motion.middleWares.subMenu) + // Add sidebar-post-related transition. + .add(NexT.motion.middleWares.sidebar) + .add(NexT.motion.middleWares.postList) + .bootstrap(); + } + if (CONFIG.sidebar.display !== 'remove') { + const hasTOC = document.querySelector('.post-toc:not(.placeholder-toc)'); + document.querySelector('.sidebar-inner').classList.toggle('sidebar-nav-active', hasTOC); + NexT.utils.activateSidebarPanel(hasTOC ? 0 : 1); + NexT.utils.updateSidebarPosition(); + } +}); diff --git a/js/schedule.js b/js/schedule.js new file mode 100644 index 0000000000..8f0c26cc45 --- /dev/null +++ b/js/schedule.js @@ -0,0 +1,138 @@ +/* global CONFIG */ + +// https://developers.google.com/calendar/api/v3/reference/events/list +(function() { + // Initialization + const calendar = { + orderBy : 'startTime', + showLocation: false, + offsetMax : 72, + offsetMin : 4, + showDeleted : false, + singleEvents: true, + maxResults : 250 + }; + + // Read config form theme config file + Object.assign(calendar, CONFIG.calendar); + + const now = new Date(); + const timeMax = new Date(); + const timeMin = new Date(); + + timeMax.setHours(now.getHours() + calendar.offsetMax); + timeMin.setHours(now.getHours() - calendar.offsetMin); + + // Build URL + const params = { + key : calendar.api_key, + orderBy : calendar.orderBy, + timeMax : timeMax.toISOString(), + timeMin : timeMin.toISOString(), + showDeleted : calendar.showDeleted, + singleEvents: calendar.singleEvents, + maxResults : calendar.maxResults + }; + + const request_url = new URL(`https://www.googleapis.com/calendar/v3/calendars/${calendar.calendar_id}/events`); + Object.entries(params).forEach(param => request_url.searchParams.append(...param)); + + function getRelativeTime(current, previous) { + const msPerMinute = 60 * 1000; + const msPerHour = msPerMinute * 60; + const msPerDay = msPerHour * 24; + const msPerMonth = msPerDay * 30; + const msPerYear = msPerDay * 365; + + let elapsed = current - previous; + const tense = elapsed > 0 ? ' ago' : ' later'; + + elapsed = Math.abs(elapsed); + + if (elapsed < msPerHour) { + return Math.round(elapsed / msPerMinute) + ' minutes' + tense; + } else if (elapsed < msPerDay) { + return Math.round(elapsed / msPerHour) + ' hours' + tense; + } else if (elapsed < msPerMonth) { + return 'about ' + Math.round(elapsed / msPerDay) + ' days' + tense; + } else if (elapsed < msPerYear) { + return 'about ' + Math.round(elapsed / msPerMonth) + ' months' + tense; + } + + return 'about ' + Math.round(elapsed / msPerYear) + ' years' + tense; + } + + function buildEventDOM(tense, event, start, end) { + const durationFormat = { + weekday: 'short', + hour : '2-digit', + minute : '2-digit' + }; + const relativeTime = tense === 'now' ? 'NOW' : getRelativeTime(now, start); + const duration = start.toLocaleTimeString([], durationFormat) + ' - ' + end.toLocaleTimeString([], durationFormat); + + let location = ''; + if (calendar.showLocation && event.location) { + location = `${event.location}`; + } + let description = ''; + if (event.description) { + description = `${event.description}`; + } + + const eventContent = `
+

+ ${event.summary} + ${relativeTime} +

+ ${location} + ${duration} + ${description} +
`; + return eventContent; + } + + function fetchData() { + const eventList = document.querySelector('.event-list'); + if (!eventList) return; + + fetch(request_url.href).then(response => { + return response.json(); + }).then(data => { + if (data.items.length === 0) { + eventList.innerHTML = '
'; + return; + } + // Clean the event list + eventList.innerHTML = ''; + let prevEnd = 0; // used to decide where to insert an
+ const utc = new Date().getTimezoneOffset() * 60000; + + data.items.forEach(event => { + // Parse data + const start = new Date(event.start.dateTime || (new Date(event.start.date).getTime() + utc)); + const end = new Date(event.end.dateTime || (new Date(event.end.date).getTime() + utc)); + + let tense = 'now'; + if (end < now) { + tense = 'past'; + } else if (start > now) { + tense = 'future'; + } + + if (tense === 'future' && prevEnd < now) { + eventList.insertAdjacentHTML('beforeend', '
'); + } + + eventList.insertAdjacentHTML('beforeend', buildEventDOM(tense, event, start, end)); + prevEnd = end; + }); + }); + } + + fetchData(); + const fetchDataTimer = setInterval(fetchData, 60000); + document.addEventListener('pjax:send', () => { + clearInterval(fetchDataTimer); + }); +})(); diff --git a/js/schemes/muse.js b/js/schemes/muse.js new file mode 100644 index 0000000000..ba60b51566 --- /dev/null +++ b/js/schemes/muse.js @@ -0,0 +1,60 @@ +/* global CONFIG */ + +document.addEventListener('DOMContentLoaded', () => { + + const isRight = CONFIG.sidebar.position === 'right'; + + const sidebarToggleMotion = { + mouse: {}, + init : function() { + window.addEventListener('mousedown', this.mousedownHandler.bind(this)); + window.addEventListener('mouseup', this.mouseupHandler.bind(this)); + document.querySelector('.sidebar-dimmer').addEventListener('click', this.clickHandler.bind(this)); + document.querySelector('.sidebar-toggle').addEventListener('click', this.clickHandler.bind(this)); + window.addEventListener('sidebar:show', this.showSidebar); + window.addEventListener('sidebar:hide', this.hideSidebar); + }, + mousedownHandler: function(event) { + this.mouse.X = event.pageX; + this.mouse.Y = event.pageY; + }, + mouseupHandler: function(event) { + const deltaX = event.pageX - this.mouse.X; + const deltaY = event.pageY - this.mouse.Y; + const clickingBlankPart = Math.hypot(deltaX, deltaY) < 20 && event.target.matches('.main'); + // Fancybox has z-index property, but medium-zoom does not, so the sidebar will overlay the zoomed image. + if (clickingBlankPart || event.target.matches('img.medium-zoom-image')) { + this.hideSidebar(); + } + }, + clickHandler: function() { + document.body.classList.contains('sidebar-active') ? this.hideSidebar() : this.showSidebar(); + }, + showSidebar: function() { + document.body.classList.add('sidebar-active'); + const animateAction = isRight ? 'fadeInRight' : 'fadeInLeft'; + document.querySelectorAll('.sidebar .animated').forEach((element, index) => { + element.style.animationDelay = (100 * index) + 'ms'; + element.classList.remove(animateAction); + setTimeout(() => { + // Trigger a DOM reflow + element.classList.add(animateAction); + }); + }); + }, + hideSidebar: function() { + document.body.classList.remove('sidebar-active'); + } + }; + if (CONFIG.sidebar.display !== 'remove') sidebarToggleMotion.init(); + + function updateFooterPosition() { + const footer = document.querySelector('.footer'); + const containerHeight = document.querySelector('.main').offsetHeight + footer.offsetHeight; + footer.classList.toggle('footer-fixed', containerHeight <= window.innerHeight); + } + + updateFooterPosition(); + window.addEventListener('resize', updateFooterPosition); + window.addEventListener('scroll', updateFooterPosition, { passive: true }); +}); diff --git a/js/sidebar.js b/js/sidebar.js new file mode 100644 index 0000000000..3c49861b08 --- /dev/null +++ b/js/sidebar.js @@ -0,0 +1,50 @@ +/* global CONFIG */ + +document.addEventListener('DOMContentLoaded', () => { + + const isRight = CONFIG.sidebar.position === 'right'; + + const sidebarToggleMotion = { + mouse: {}, + init() { + window.addEventListener('mousedown', this.mousedownHandler.bind(this)); + window.addEventListener('mouseup', this.mouseupHandler.bind(this)); + document.querySelector('.sidebar-dimmer').addEventListener('click', this.clickHandler.bind(this)); + document.querySelector('.sidebar-toggle').addEventListener('click', this.clickHandler.bind(this)); + window.addEventListener('sidebar:show', this.showSidebar); + window.addEventListener('sidebar:hide', this.hideSidebar); + }, + mousedownHandler(event) { + this.mouse.X = event.pageX; + this.mouse.Y = event.pageY; + }, + mouseupHandler(event) { + const deltaX = event.pageX - this.mouse.X; + const deltaY = event.pageY - this.mouse.Y; + const clickingBlankPart = Math.hypot(deltaX, deltaY) < 20 && event.target.matches('.main'); + // Fancybox has z-index property, but medium-zoom does not, so the sidebar will overlay the zoomed image. + if (clickingBlankPart || event.target.matches('img.medium-zoom-image')) { + this.hideSidebar(); + } + }, + clickHandler() { + document.body.classList.contains('sidebar-active') ? this.hideSidebar() : this.showSidebar(); + }, + showSidebar() { + document.body.classList.add('sidebar-active'); + const animateAction = isRight ? 'fadeInRight' : 'fadeInLeft'; + document.querySelectorAll('.sidebar .animated').forEach((element, index) => { + element.style.animationDelay = (100 * index) + 'ms'; + element.classList.remove(animateAction); + setTimeout(() => { + // Trigger a DOM reflow + element.classList.add(animateAction); + }); + }); + }, + hideSidebar() { + document.body.classList.remove('sidebar-active'); + } + }; + sidebarToggleMotion.init(); +}); diff --git a/js/third-party/addtoany.js b/js/third-party/addtoany.js new file mode 100644 index 0000000000..f9009f87bd --- /dev/null +++ b/js/third-party/addtoany.js @@ -0,0 +1,8 @@ +/* global NexT */ + +document.addEventListener('page:loaded', () => { + NexT.utils.getScript('https://static.addtoany.com/menu/page.js', { condition: window.a2a }) + .then(() => { + window.a2a.init(); + }); +}); diff --git a/js/third-party/analytics/baidu-analytics.js b/js/third-party/analytics/baidu-analytics.js new file mode 100644 index 0000000000..c10e7d014b --- /dev/null +++ b/js/third-party/analytics/baidu-analytics.js @@ -0,0 +1,7 @@ +/* global _hmt */ + +if (!window._hmt) window._hmt = []; + +document.addEventListener('pjax:success', () => { + _hmt.push(['_trackPageview', location.pathname]); +}); diff --git a/js/third-party/analytics/google-analytics.js b/js/third-party/analytics/google-analytics.js new file mode 100644 index 0000000000..8601806e03 --- /dev/null +++ b/js/third-party/analytics/google-analytics.js @@ -0,0 +1,53 @@ +/* global CONFIG, dataLayer, gtag */ + +if (!CONFIG.google_analytics.only_pageview) { + if (CONFIG.hostname === location.hostname) { + window.dataLayer = window.dataLayer || []; + window.gtag = function() { + dataLayer.push(arguments); + }; + gtag('js', new Date()); + gtag('config', CONFIG.google_analytics.tracking_id); + + document.addEventListener('pjax:success', () => { + gtag('event', 'page_view', { + page_location: location.href, + page_path : location.pathname, + page_title : document.title + }); + }); + } +} else { + const sendPageView = () => { + if (CONFIG.hostname !== location.hostname) return; + const uid = localStorage.getItem('uid') || (Math.random() + '.' + Math.random()); + localStorage.setItem('uid', uid); + fetch( + 'https://www.google-analytics.com/mp/collect?' + new URLSearchParams({ + api_secret : CONFIG.google_analytics.measure_protocol_api_secret, + measurement_id: CONFIG.google_analytics.tracking_id + }), + { + method : 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + client_id: uid, + events : [ + { + name : 'page_view', + params: { + page_location: location.href, + page_title : document.title + } + } + ] + }), + mode: 'no-cors' + } + ); + }; + document.addEventListener('pjax:complete', sendPageView); + sendPageView(); +} diff --git a/js/third-party/analytics/growingio.js b/js/third-party/analytics/growingio.js new file mode 100644 index 0000000000..0460833b23 --- /dev/null +++ b/js/third-party/analytics/growingio.js @@ -0,0 +1,10 @@ +/* global CONFIG, gio */ + +if (!window.gio) { + window.gio = function() { + (window.gio.q = window.gio.q || []).push(arguments); + }; +} + +gio('init', `${CONFIG.growingio_analytics}`, {}); +gio('send'); diff --git a/js/third-party/analytics/matomo.js b/js/third-party/analytics/matomo.js new file mode 100644 index 0000000000..290a3e0919 --- /dev/null +++ b/js/third-party/analytics/matomo.js @@ -0,0 +1,19 @@ +/* global CONFIG */ + +if (CONFIG.matomo.enable) { + window._paq = window._paq || []; + const _paq = window._paq; + + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + const u = CONFIG.matomo.server_url; + _paq.push(['setTrackerUrl', u + 'matomo.php']); + _paq.push(['setSiteId', CONFIG.matomo.site_id]); + const d = document; + const g = d.createElement('script'); + const s = d.getElementsByTagName('script')[0]; + g.async = true; + g.src = u + 'matomo.js'; + s.parentNode.insertBefore(g, s); +} diff --git a/js/third-party/chat/chatra.js b/js/third-party/chat/chatra.js new file mode 100644 index 0000000000..e495b8e18d --- /dev/null +++ b/js/third-party/chat/chatra.js @@ -0,0 +1,19 @@ +/* global CONFIG, Chatra */ + +(function() { + if (CONFIG.chatra.embed) { + window.ChatraSetup = { + mode : 'frame', + injectTo: CONFIG.chatra.embed + }; + } + + window.ChatraID = CONFIG.chatra.id; + + const chatButton = document.querySelector('.sidebar-button button'); + if (chatButton) { + chatButton.addEventListener('click', () => { + Chatra('openChat', true); + }); + } +})(); diff --git a/js/third-party/chat/tidio.js b/js/third-party/chat/tidio.js new file mode 100644 index 0000000000..bffb918e00 --- /dev/null +++ b/js/third-party/chat/tidio.js @@ -0,0 +1,10 @@ +/* global tidioChatApi */ + +(function() { + const chatButton = document.querySelector('.sidebar-button button'); + if (chatButton) { + chatButton.addEventListener('click', () => { + tidioChatApi.open(); + }); + } +})(); diff --git a/js/third-party/comments/changyan.js b/js/third-party/comments/changyan.js new file mode 100644 index 0000000000..18a1be4f87 --- /dev/null +++ b/js/third-party/comments/changyan.js @@ -0,0 +1,39 @@ +/* global NexT, CONFIG */ + +document.addEventListener('page:loaded', () => { + const { appid, appkey } = CONFIG.changyan; + const mainJs = 'https://cy-cdn.kuaizhan.com/upload/changyan.js'; + const countJs = `https://cy-cdn.kuaizhan.com/upload/plugins/plugins.list.count.js?clientId=${appid}`; + + // Get the number of comments + setTimeout(() => { + return NexT.utils.getScript(countJs, { + attributes: { + async: true, + id : 'cy_cmt_num' + } + }); + }, 0); + + // When scroll to comment section + if (CONFIG.page.comments && !CONFIG.page.isHome) { + NexT.utils.loadComments('#SOHUCS') + .then(() => { + return NexT.utils.getScript(mainJs, { + attributes: { + async: true + } + }); + }) + .then(() => { + window.changyan.api.config({ + appid, + conf: appkey + }); + }) + .catch(error => { + // eslint-disable-next-line no-console + console.error('Failed to load Changyan', error); + }); + } +}); diff --git a/js/third-party/comments/disqus.js b/js/third-party/comments/disqus.js new file mode 100644 index 0000000000..4d1ca9e730 --- /dev/null +++ b/js/third-party/comments/disqus.js @@ -0,0 +1,41 @@ +/* global NexT, CONFIG, DISQUS */ + +document.addEventListener('page:loaded', () => { + + if (CONFIG.disqus.count) { + if (window.DISQUSWIDGETS) { + window.DISQUSWIDGETS.getCount({ reset: true }); + } else { + // Defer loading until the whole page loading is completed + NexT.utils.getScript(`https://${CONFIG.disqus.shortname}.disqus.com/count.js`, { + attributes: { id: 'dsq-count-scr', defer: true } + }); + } + } + + if (CONFIG.page.comments) { + // `disqus_config` should be a global variable + // See https://help.disqus.com/en/articles/1717084-javascript-configuration-variables + window.disqus_config = function() { + this.page.url = CONFIG.page.permalink; + this.page.identifier = CONFIG.page.path; + this.page.title = CONFIG.page.title; + if (CONFIG.disqus.i18n.disqus !== 'disqus') { + this.language = CONFIG.disqus.i18n.disqus; + } + }; + NexT.utils.loadComments('#disqus_thread').then(() => { + if (window.DISQUS) { + DISQUS.reset({ + reload: true, + config: window.disqus_config + }); + } else { + NexT.utils.getScript(`https://${CONFIG.disqus.shortname}.disqus.com/embed.js`, { + attributes: { dataset: { timestamp: '' + +new Date() } } + }); + } + }); + } + +}); diff --git a/js/third-party/comments/disqusjs.js b/js/third-party/comments/disqusjs.js new file mode 100644 index 0000000000..d8401eee72 --- /dev/null +++ b/js/third-party/comments/disqusjs.js @@ -0,0 +1,23 @@ +/* global NexT, CONFIG, DisqusJS */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.page.comments) return; + + NexT.utils.loadComments('#disqus_thread') + .then(() => NexT.utils.getScript(CONFIG.disqusjs.js, { condition: window.DisqusJS })) + .then(() => { + window.dsqjs = new DisqusJS({ + api : CONFIG.disqusjs.api || 'https://disqus.com/api/', + apikey : CONFIG.disqusjs.apikey, + shortname : CONFIG.disqusjs.shortname, + url : CONFIG.page.permalink, + identifier: CONFIG.page.path, + title : CONFIG.page.title + }); + window.dsqjs.render(document.querySelector('.disqusjs-container')); + }); +}); + +document.addEventListener('pjax:send', () => { + if (window.dsqjs) window.dsqjs.destroy(); +}); diff --git a/js/third-party/comments/gitalk.js b/js/third-party/comments/gitalk.js new file mode 100644 index 0000000000..08d07f4cfc --- /dev/null +++ b/js/third-party/comments/gitalk.js @@ -0,0 +1,24 @@ +/* global NexT, CONFIG, Gitalk */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.page.comments) return; + + NexT.utils.loadComments('.gitalk-container') + .then(() => NexT.utils.getScript(CONFIG.gitalk.js, { + condition: window.Gitalk + })) + .then(() => { + const gitalk = new Gitalk({ + clientID : CONFIG.gitalk.client_id, + clientSecret : CONFIG.gitalk.client_secret, + repo : CONFIG.gitalk.repo, + owner : CONFIG.gitalk.github_id, + admin : [CONFIG.gitalk.admin_user], + id : CONFIG.gitalk.path_md5, + proxy : CONFIG.gitalk.proxy, + language : CONFIG.gitalk.language || window.navigator.language, + distractionFreeMode: CONFIG.gitalk.distraction_free_mode + }); + gitalk.render(document.querySelector('.gitalk-container')); + }); +}); diff --git a/js/third-party/comments/isso.js b/js/third-party/comments/isso.js new file mode 100644 index 0000000000..2c70601335 --- /dev/null +++ b/js/third-party/comments/isso.js @@ -0,0 +1,15 @@ +/* global NexT, CONFIG */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.page.comments) return; + + NexT.utils.loadComments('#isso-thread') + .then(() => NexT.utils.getScript(`${CONFIG.isso}js/embed.min.js`, { + attributes: { + dataset: { + isso: `${CONFIG.isso}` + } + }, + parentNode: document.querySelector('#isso-thread') + })); +}); diff --git a/js/third-party/comments/livere.js b/js/third-party/comments/livere.js new file mode 100644 index 0000000000..c4bcd2e12d --- /dev/null +++ b/js/third-party/comments/livere.js @@ -0,0 +1,19 @@ +/* global NexT, CONFIG, LivereTower */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.page.comments) return; + + NexT.utils.loadComments('#lv-container').then(() => { + window.livereOptions = { + refer: CONFIG.page.path.replace(/index\.html$/, '') + }; + + if (typeof LivereTower === 'function') return; + + NexT.utils.getScript('https://cdn-city.livere.com/js/embed.dist.js', { + attributes: { + async: true + } + }); + }); +}); diff --git a/js/third-party/comments/utterances.js b/js/third-party/comments/utterances.js new file mode 100644 index 0000000000..332ee05773 --- /dev/null +++ b/js/third-party/comments/utterances.js @@ -0,0 +1,17 @@ +/* global NexT, CONFIG */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.page.comments) return; + + NexT.utils.loadComments('.utterances-container') + .then(() => NexT.utils.getScript('https://utteranc.es/client.js', { + attributes: { + async : true, + crossOrigin : 'anonymous', + 'repo' : CONFIG.utterances.repo, + 'issue-term': CONFIG.utterances.issue_term, + 'theme' : CONFIG.utterances.theme + }, + parentNode: document.querySelector('.utterances-container') + })); +}); diff --git a/js/third-party/fancybox.js b/js/third-party/fancybox.js new file mode 100644 index 0000000000..178db4b1e6 --- /dev/null +++ b/js/third-party/fancybox.js @@ -0,0 +1,35 @@ +/* global Fancybox */ + +document.addEventListener('page:loaded', () => { + + /** + * Wrap images with fancybox. + */ + document.querySelectorAll('.post-body :not(a) > img, .post-body > img').forEach(image => { + const imageLink = image.dataset.src || image.src; + const imageWrapLink = document.createElement('a'); + imageWrapLink.classList.add('fancybox'); + imageWrapLink.href = imageLink; + imageWrapLink.setAttribute('itemscope', ''); + imageWrapLink.setAttribute('itemtype', 'http://schema.org/ImageObject'); + imageWrapLink.setAttribute('itemprop', 'url'); + + let dataFancybox = 'default'; + if (image.closest('.post-gallery') !== null) { + dataFancybox = 'gallery'; + } else if (image.closest('.group-picture') !== null) { + dataFancybox = 'group'; + } + imageWrapLink.dataset.fancybox = dataFancybox; + + const imageTitle = image.title || image.alt; + if (imageTitle) { + imageWrapLink.title = imageTitle; + // Make sure img captions will show correctly in fancybox + imageWrapLink.dataset.caption = imageTitle; + } + image.wrap(imageWrapLink); + }); + + Fancybox.bind('[data-fancybox]'); +}); diff --git a/js/third-party/math/katex.js b/js/third-party/math/katex.js new file mode 100644 index 0000000000..ad745b18fa --- /dev/null +++ b/js/third-party/math/katex.js @@ -0,0 +1,7 @@ +/* global NexT, CONFIG */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.enableMath) return; + + NexT.utils.getScript(CONFIG.katex.copy_tex_js).catch(() => {}); +}); diff --git a/js/third-party/math/mathjax.js b/js/third-party/math/mathjax.js new file mode 100644 index 0000000000..fe4d4488ae --- /dev/null +++ b/js/third-party/math/mathjax.js @@ -0,0 +1,36 @@ +/* global NexT, CONFIG, MathJax */ + +document.addEventListener('page:loaded', () => { + if (!CONFIG.enableMath) return; + + if (typeof MathJax === 'undefined') { + window.MathJax = { + tex: { + inlineMath: { '[+]': [['$', '$']] }, + tags : CONFIG.mathjax.tags + }, + options: { + renderActions: { + insertedScript: [200, () => { + document.querySelectorAll('mjx-container').forEach(node => { + const target = node.parentNode; + if (target.nodeName.toLowerCase() === 'li') { + target.parentNode.classList.add('has-jax'); + } + }); + }, '', false] + } + } + }; + NexT.utils.getScript(CONFIG.mathjax.js, { + attributes: { + defer: true + } + }); + } else { + MathJax.startup.document.state(0); + MathJax.typesetClear(); + MathJax.texReset(); + MathJax.typesetPromise(); + } +}); diff --git a/js/third-party/pace.js b/js/third-party/pace.js new file mode 100644 index 0000000000..c22d59f01a --- /dev/null +++ b/js/third-party/pace.js @@ -0,0 +1,7 @@ +/* global Pace */ + +Pace.options.restartOnPushState = false; + +document.addEventListener('pjax:send', () => { + Pace.restart(); +}); diff --git a/js/third-party/quicklink.js b/js/third-party/quicklink.js new file mode 100644 index 0000000000..2543ad1ef1 --- /dev/null +++ b/js/third-party/quicklink.js @@ -0,0 +1,37 @@ +/* global CONFIG, quicklink */ + +(function() { + if (typeof CONFIG.quicklink.ignores === 'string') { + const ignoresStr = `[${CONFIG.quicklink.ignores}]`; + CONFIG.quicklink.ignores = JSON.parse(ignoresStr); + } + + let resetFn = null; + + const onRefresh = () => { + if (resetFn) resetFn(); + if (!CONFIG.quicklink.enable) return; + + let ignoresArr = CONFIG.quicklink.ignores || []; + if (!Array.isArray(ignoresArr)) { + ignoresArr = [ignoresArr]; + } + + resetFn = quicklink.listen({ + timeout : CONFIG.quicklink.timeout, + priority: CONFIG.quicklink.priority, + ignores : [ + uri => uri.includes('#'), + uri => uri === CONFIG.quicklink.url, + ...ignoresArr + ] + }); + }; + + if (CONFIG.quicklink.delay) { + window.addEventListener('load', onRefresh); + document.addEventListener('pjax:success', onRefresh); + } else { + document.addEventListener('page:loaded', onRefresh); + } +})(); diff --git a/js/third-party/search/algolia-search.js b/js/third-party/search/algolia-search.js new file mode 100644 index 0000000000..6a0707893d --- /dev/null +++ b/js/third-party/search/algolia-search.js @@ -0,0 +1,129 @@ +/* global CONFIG, NexT, pjax, algoliasearch */ + +document.addEventListener('DOMContentLoaded', () => { + const { indexName, appID, apiKey, hits } = CONFIG.algolia; + const client = algoliasearch(appID, apiKey); + const index = client.initIndex(indexName); + + const input = document.querySelector('.search-input'); + const container = document.querySelector('.search-result-container'); + + const formatHits = data => { + const { title, excerpt, excerptStrip, contentStripTruncate } = data._highlightResult; + let result = `
  • ${title.value}`; + const content = excerpt || excerptStrip || contentStripTruncate; + if (content && content.value) { + const div = document.createElement('div'); + div.innerHTML = content.value; + result += `

    ${div.textContent.substring(0, 100)}...

  • `; + } + return result; + }; + + let isSearching = false; + let pendingQuery = null; + + const searchAlgolia = async(searchText, page = 0) => { + if (isSearching) { + pendingQuery = { searchText, page }; + return; + } + isSearching = true; + const startTime = Date.now(); + const data = await index.search(searchText, { + page, + attributesToRetrieve : ['permalink'], + attributesToHighlight: ['title', 'excerpt', 'excerptStrip', 'contentStripTruncate'], + hitsPerPage : hits.per_page || 10, + highlightPreTag : '', + highlightPostTag : '' + }); + if (data.nbHits === 0) { + container.innerHTML = '
    '; + } else { + const stats = CONFIG.i18n.hits_time + .replace('${hits}', data.nbHits) + .replace('${time}', Date.now() - startTime); + let pagination = ''; + if (data.nbPages > 1) { + pagination += ''; + } + + container.innerHTML = `
    + ${stats} + Algolia +
    +
    + + ${pagination}`; + if (typeof pjax === 'object') pjax.refresh(container); + container.querySelectorAll('.page-number').forEach(element => { + element.addEventListener('click', async event => { + event.preventDefault(); + await searchAlgolia(searchText, Number(element.dataset.index)); + }); + }); + } + isSearching = false; + if (pendingQuery !== null && (pendingQuery.searchText !== searchText || pendingQuery.page !== page)) { + const { searchText, page } = pendingQuery; + pendingQuery = null; + searchAlgolia(searchText, page); + } + }; + + const inputEventFunction = async() => { + const searchText = input.value.trim(); + if (searchText === '') { + container.innerHTML = '
    '; + return; + } + // Algolia client will automatically cache the data for same queries + await searchAlgolia(searchText, 0); + }; + + const debouncedSearch = NexT.utils.debounce(inputEventFunction, 500); + input.addEventListener('input', debouncedSearch); + + // Handle and trigger popup window + document.querySelectorAll('.popup-trigger').forEach(element => { + element.addEventListener('click', () => { + document.body.classList.add('search-active'); + // Wait for search-popup animation to complete + setTimeout(() => input.focus(), 500); + }); + }); + + // Monitor main search box + const onPopupClose = () => { + document.body.classList.remove('search-active'); + }; + + document.querySelector('.search-pop-overlay').addEventListener('click', event => { + if (event.target === document.querySelector('.search-pop-overlay')) { + onPopupClose(); + } + }); + document.querySelector('.popup-btn-close').addEventListener('click', onPopupClose); + document.addEventListener('pjax:success', onPopupClose); + window.addEventListener('keydown', event => { + if ((event.ctrlKey || event.metaKey) && event.key === 'k') { + event.preventDefault(); + document.body.classList.add('search-active'); + setTimeout(() => input.focus(), 500); + } + }); + window.addEventListener('keyup', event => { + if (event.key === 'Escape') { + onPopupClose(); + } + }); +}); diff --git a/js/third-party/search/local-search.js b/js/third-party/search/local-search.js new file mode 100644 index 0000000000..1241f9278f --- /dev/null +++ b/js/third-party/search/local-search.js @@ -0,0 +1,95 @@ +/* global CONFIG, pjax, LocalSearch */ + +document.addEventListener('DOMContentLoaded', () => { + if (!CONFIG.path) { + // Search DB path + console.warn('`hexo-generator-searchdb` plugin is not installed!'); + return; + } + const localSearch = new LocalSearch({ + path : CONFIG.path, + top_n_per_article: CONFIG.localsearch.top_n_per_article, + unescape : CONFIG.localsearch.unescape + }); + + const input = document.querySelector('.search-input'); + const container = document.querySelector('.search-result-container'); + + const inputEventFunction = () => { + if (!localSearch.isfetched) return; + const searchText = input.value.trim().toLowerCase(); + const keywords = searchText.split(/[-\s]+/); + let resultItems = []; + if (searchText.length > 0) { + // Perform local searching + resultItems = localSearch.getResultItems(keywords); + } + if (keywords.length === 1 && keywords[0] === '') { + container.innerHTML = '
    '; + } else if (resultItems.length === 0) { + container.innerHTML = '
    '; + } else { + resultItems.sort((left, right) => { + if (left.includedCount !== right.includedCount) { + return right.includedCount - left.includedCount; + } else if (left.hitCount !== right.hitCount) { + return right.hitCount - left.hitCount; + } + return right.id - left.id; + }); + const stats = CONFIG.i18n.hits.replace('${hits}', resultItems.length); + + container.innerHTML = `
    ${stats}
    +
    + `; + if (typeof pjax === 'object') pjax.refresh(container); + } + }; + + localSearch.highlightSearchWords(document.querySelector('.post-body')); + if (CONFIG.localsearch.preload) { + localSearch.fetchData(); + } + + input.addEventListener('input', inputEventFunction); + window.addEventListener('search:loaded', inputEventFunction); + + // Handle and trigger popup window + document.querySelectorAll('.popup-trigger').forEach(element => { + element.addEventListener('click', () => { + document.body.classList.add('search-active'); + // Wait for search-popup animation to complete + setTimeout(() => input.focus(), 500); + if (!localSearch.isfetched) localSearch.fetchData(); + }); + }); + + // Monitor main search box + const onPopupClose = () => { + document.body.classList.remove('search-active'); + }; + + document.querySelector('.search-pop-overlay').addEventListener('click', event => { + if (event.target === document.querySelector('.search-pop-overlay')) { + onPopupClose(); + } + }); + document.querySelector('.popup-btn-close').addEventListener('click', onPopupClose); + document.addEventListener('pjax:success', () => { + localSearch.highlightSearchWords(document.querySelector('.post-body')); + onPopupClose(); + }); + window.addEventListener('keydown', event => { + if ((event.ctrlKey || event.metaKey) && event.key === 'k') { + event.preventDefault(); + document.body.classList.add('search-active'); + setTimeout(() => input.focus(), 500); + if (!localSearch.isfetched) localSearch.fetchData(); + } + }); + window.addEventListener('keyup', event => { + if (event.key === 'Escape') { + onPopupClose(); + } + }); +}); diff --git a/js/third-party/statistics/firestore.js b/js/third-party/statistics/firestore.js new file mode 100644 index 0000000000..3ea7ba67af --- /dev/null +++ b/js/third-party/statistics/firestore.js @@ -0,0 +1,60 @@ +/* global CONFIG, firebase */ + +firebase.initializeApp({ + apiKey : CONFIG.firestore.apiKey, + projectId: CONFIG.firestore.projectId +}); + +(function() { + const getCount = (doc, increaseCount) => { + // IncreaseCount will be false when not in article page + return doc.get().then(d => { + // Has no data, initialize count + let count = d.exists ? d.data().count : 0; + // If first view this article + if (increaseCount) { + // Increase count + count++; + doc.set({ + count + }); + } + return count; + }); + }; + + const db = firebase.firestore(); + const articles = db.collection(CONFIG.firestore.collection); + + document.addEventListener('page:loaded', () => { + + if (CONFIG.page.isPost) { + // Fix issue #118 + // https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent + const title = document.querySelector('.post-title').textContent.trim(); + const doc = articles.doc(title); + let increaseCount = CONFIG.hostname === location.hostname; + if (localStorage.getItem(title)) { + increaseCount = false; + } else { + // Mark as visited + localStorage.setItem(title, true); + } + getCount(doc, increaseCount).then(count => { + document.querySelector('.firestore-visitors-count').innerText = count; + }); + } else if (CONFIG.page.isHome) { + const promises = [...document.querySelectorAll('.post-title')].map(element => { + const title = element.textContent.trim(); + const doc = articles.doc(title); + return getCount(doc); + }); + Promise.all(promises).then(counts => { + const metas = document.querySelectorAll('.firestore-visitors-count'); + counts.forEach((val, idx) => { + metas[idx].innerText = val; + }); + }); + } + }); +})(); diff --git a/js/third-party/statistics/lean-analytics.js b/js/third-party/statistics/lean-analytics.js new file mode 100644 index 0000000000..8397112b13 --- /dev/null +++ b/js/third-party/statistics/lean-analytics.js @@ -0,0 +1,107 @@ +/* global CONFIG */ +/* eslint-disable no-console */ + +(function() { + const leancloudSelector = url => { + url = encodeURI(url); + return document.getElementById(url).querySelector('.leancloud-visitors-count'); + }; + + const addCount = Counter => { + const visitors = document.querySelector('.leancloud_visitors'); + const url = decodeURI(visitors.id); + const title = visitors.dataset.flagTitle; + + Counter('get', `/classes/Counter?where=${encodeURIComponent(JSON.stringify({ url }))}`) + .then(response => response.json()) + .then(({ results }) => { + if (results.length > 0) { + const counter = results[0]; + leancloudSelector(url).innerText = counter.time + 1; + Counter('put', '/classes/Counter/' + counter.objectId, { + time: { + '__op' : 'Increment', + 'amount': 1 + } + }) + .catch(error => { + console.error('Failed to save visitor count', error); + }); + } else if (CONFIG.leancloud_visitors.security) { + leancloudSelector(url).innerText = 'Counter not initialized! More info at console err msg.'; + console.error('ATTENTION! LeanCloud counter has security bug, see how to solve it here: https://github.com/theme-next/hexo-leancloud-counter-security. \n However, you can still use LeanCloud without security, by setting `security` option to `false`.'); + } else { + Counter('post', '/classes/Counter', { title, url, time: 1 }) + .then(response => response.json()) + .then(() => { + leancloudSelector(url).innerText = 1; + }) + .catch(error => { + console.error('Failed to create', error); + }); + } + }) + .catch(error => { + console.error('LeanCloud Counter Error', error); + }); + }; + + const showTime = Counter => { + const visitors = document.querySelectorAll('.leancloud_visitors'); + const entries = [...visitors].map(element => { + return decodeURI(element.id); + }); + + Counter('get', `/classes/Counter?where=${encodeURIComponent(JSON.stringify({ url: { '$in': entries } }))}`) + .then(response => response.json()) + .then(({ results }) => { + for (const url of entries) { + const target = results.find(item => item.url === url); + leancloudSelector(url).innerText = target ? target.time : 0; + } + }) + .catch(error => { + console.error('LeanCloud Counter Error', error); + }); + }; + + const { app_id, app_key, server_url } = CONFIG.leancloud_visitors; + const fetchData = api_server => { + const Counter = (method, url, data) => { + return fetch(`${api_server}/1.1${url}`, { + method, + headers: { + 'X-LC-Id' : app_id, + 'X-LC-Key' : app_key, + 'Content-Type': 'application/json' + }, + body: JSON.stringify(data) + }); + }; + if (CONFIG.page.isPost) { + if (CONFIG.hostname !== location.hostname) return; + addCount(Counter); + } else if (document.querySelectorAll('.post-title-link').length >= 1) { + showTime(Counter); + } + }; + + let api_server; + if (server_url) { + api_server = server_url; + } else if (app_id.slice(-9) === '-MdYXbMMI') { + api_server = `https://${app_id.slice(0, 8).toLowerCase()}.api.lncldglobal.com`; + } + + document.addEventListener('page:loaded', () => { + if (api_server) { + fetchData(api_server); + } else { + fetch(`https://app-router.leancloud.cn/2/route?appId=${app_id}`) + .then(response => response.json()) + .then(({ api_server }) => { + fetchData(`https://${api_server}`); + }); + } + }); +})(); diff --git a/js/third-party/tags/mermaid.js b/js/third-party/tags/mermaid.js new file mode 100644 index 0000000000..e41efe41f2 --- /dev/null +++ b/js/third-party/tags/mermaid.js @@ -0,0 +1,32 @@ +/* global NexT, CONFIG, mermaid */ + +document.addEventListener('page:loaded', () => { + const mermaidElements = document.querySelectorAll('pre > .mermaid'); + if (mermaidElements.length) { + NexT.utils.getScript(CONFIG.mermaid.js, { + condition: window.mermaid + }).then(() => { + mermaidElements.forEach(element => { + const box = document.createElement('div'); + box.className = 'code-container'; + const newElement = document.createElement('div'); + newElement.innerHTML = element.innerHTML; + newElement.className = 'mermaid'; + box.appendChild(newElement); + if (CONFIG.copycode.enable) { + NexT.utils.registerCopyButton(box, box, element.textContent); + } + const parent = element.parentNode; + parent.parentNode.replaceChild(box, parent); + }); + mermaid.initialize({ + theme : CONFIG.darkmode && window.matchMedia('(prefers-color-scheme: dark)').matches ? CONFIG.mermaid.theme.dark : CONFIG.mermaid.theme.light, + logLevel : 4, + flowchart: { curve: 'linear' }, + gantt : { axisFormat: '%m/%d/%Y' }, + sequence : { actorMargin: 50 } + }); + mermaid.run(); + }); + } +}); diff --git a/js/third-party/tags/pdf.js b/js/third-party/tags/pdf.js new file mode 100644 index 0000000000..7e828911f8 --- /dev/null +++ b/js/third-party/tags/pdf.js @@ -0,0 +1,23 @@ +/* global NexT, CONFIG, PDFObject */ + +document.addEventListener('page:loaded', () => { + if (document.querySelectorAll('.pdf-container').length) { + NexT.utils.getScript(CONFIG.pdf.object_url, { + condition: window.PDFObject + }).then(() => { + document.querySelectorAll('.pdf-container').forEach(element => { + PDFObject.embed(element.dataset.target, element, { + pdfOpenParams: { + navpanes : 0, + toolbar : 0, + statusbar: 0, + pagemode : 'thumbs', + view : 'FitH' + }, + PDFJS_URL: CONFIG.pdf.url, + height : element.dataset.height + }); + }); + }); + } +}); diff --git a/js/third-party/tags/wavedrom.js b/js/third-party/tags/wavedrom.js new file mode 100644 index 0000000000..ddd9a1d975 --- /dev/null +++ b/js/third-party/tags/wavedrom.js @@ -0,0 +1,13 @@ +/* global NexT, CONFIG, WaveDrom */ + +document.addEventListener('page:loaded', () => { + NexT.utils.getScript(CONFIG.wavedrom.js, { + condition: window.WaveDrom + }).then(() => { + NexT.utils.getScript(CONFIG.wavedrom_skin.js, { + condition: window.WaveSkin + }).then(() => { + WaveDrom.ProcessAll(); + }); + }); +}); diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 0000000000..2bc2c84954 --- /dev/null +++ b/js/utils.js @@ -0,0 +1,522 @@ +/* global NexT, CONFIG */ + +HTMLElement.prototype.wrap = function(wrapper) { + this.parentNode.insertBefore(wrapper, this); + this.parentNode.removeChild(this); + wrapper.appendChild(this); +}; + +(function() { + const onPageLoaded = () => document.dispatchEvent( + new Event('page:loaded', { + bubbles: true + }) + ); + + if (document.readyState === 'loading') { + document.addEventListener('readystatechange', onPageLoaded, { once: true }); + } else { + onPageLoaded(); + } + document.addEventListener('pjax:success', onPageLoaded); +})(); + +NexT.utils = { + + registerExtURL() { + document.querySelectorAll('span.exturl').forEach(element => { + const link = document.createElement('a'); + // https://stackoverflow.com/questions/30106476/using-javascripts-atob-to-decode-base64-doesnt-properly-decode-utf-8-strings + link.href = decodeURIComponent(atob(element.dataset.url).split('').map(c => { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join('')); + link.rel = 'noopener external nofollow noreferrer'; + link.target = '_blank'; + link.className = element.className; + link.title = element.title; + link.innerHTML = element.innerHTML; + element.parentNode.replaceChild(link, element); + }); + }, + + registerCopyButton(target, element, code = '') { + // One-click copy code support. + target.insertAdjacentHTML('beforeend', '
    '); + const button = target.querySelector('.copy-btn'); + button.addEventListener('click', () => { + if (!code) { + const lines = element.querySelector('.code') || element.querySelector('code'); + code = lines.innerText; + } + if (navigator.clipboard) { + // https://caniuse.com/mdn-api_clipboard_writetext + navigator.clipboard.writeText(code).then(() => { + button.querySelector('i').className = 'fa fa-check-circle fa-fw'; + }, () => { + button.querySelector('i').className = 'fa fa-times-circle fa-fw'; + }); + } else { + const ta = document.createElement('textarea'); + ta.style.top = window.scrollY + 'px'; // Prevent page scrolling + ta.style.position = 'absolute'; + ta.style.opacity = '0'; + ta.readOnly = true; + ta.value = code; + document.body.append(ta); + ta.select(); + ta.setSelectionRange(0, code.length); + ta.readOnly = false; + const result = document.execCommand('copy'); + button.querySelector('i').className = result ? 'fa fa-check-circle fa-fw' : 'fa fa-times-circle fa-fw'; + ta.blur(); // For iOS + button.blur(); + document.body.removeChild(ta); + } + }); + // If copycode.style is not mac, element is larger than target + // So we need to accept both of them as parameters + element.addEventListener('mouseleave', () => { + setTimeout(() => { + button.querySelector('i').className = 'fa fa-copy fa-fw'; + }, 300); + }); + }, + + registerCodeblock(element) { + const inited = !!element; + let figure; + if (CONFIG.hljswrap) { + figure = (inited ? element : document).querySelectorAll('figure.highlight'); + } else { + figure = document.querySelectorAll('pre'); + } + figure.forEach(element => { + // Skip pre > .mermaid for folding and copy button + if (element.querySelector('.mermaid')) return; + if (!inited) { + let span = element.querySelectorAll('.code .line span'); + if (span.length === 0) { + // Hljs without line_number and wrap + span = element.querySelectorAll('code.highlight span'); + } + span.forEach(s => { + s.classList.forEach(name => { + s.classList.replace(name, `hljs-${name}`); + }); + }); + } + const height = parseInt(window.getComputedStyle(element).height, 10); + const needFold = CONFIG.fold.enable && (height > CONFIG.fold.height); + if (!needFold && !CONFIG.copycode.enable) return; + let target; + if (CONFIG.hljswrap && CONFIG.copycode.style === 'mac') { + target = element; + } else { + let box = element.querySelector('.code-container'); + if (!box) { + // https://github.com/next-theme/hexo-theme-next/issues/98 + // https://github.com/next-theme/hexo-theme-next/pull/508 + const container = element.querySelector('.table-container') || element; + box = document.createElement('div'); + box.className = 'code-container'; + container.wrap(box); + + // add "notranslate" to prevent Google Translate from translating it, which also completely messes up the layout + box.classList.add('notranslate'); + } + target = box; + } + if (needFold && !target.classList.contains('unfold')) { + target.classList.add('highlight-fold'); + target.insertAdjacentHTML('beforeend', '
    '); + target.querySelector('.expand-btn').addEventListener('click', () => { + target.classList.remove('highlight-fold'); + target.classList.add('unfold'); + }); + } + if (!inited && CONFIG.copycode.enable) { + this.registerCopyButton(target, element); + } + }); + }, + + wrapTableWithBox() { + document.querySelectorAll('table').forEach(element => { + const box = document.createElement('div'); + box.className = 'table-container'; + element.wrap(box); + }); + }, + + registerVideoIframe() { + document.querySelectorAll('iframe').forEach(element => { + const supported = [ + 'www.youtube.com', + 'player.vimeo.com', + 'player.youku.com', + 'player.bilibili.com', + 'www.tudou.com' + ].some(host => element.src.includes(host)); + if (supported && !element.parentNode.matches('.video-container')) { + const box = document.createElement('div'); + box.className = 'video-container'; + element.wrap(box); + const width = Number(element.width); + const height = Number(element.height); + if (width && height) { + box.style.paddingTop = (height / width * 100) + '%'; + } + } + }); + }, + + updateActiveNav() { + if (!Array.isArray(this.sections)) return; + let index = this.sections.findIndex(element => { + return element && element.getBoundingClientRect().top > 10; + }); + if (index === -1) { + index = this.sections.length - 1; + } else if (index > 0) { + index--; + } + this.activateNavByIndex(index); + }, + + registerScrollPercent() { + const backToTop = document.querySelector('.back-to-top'); + const readingProgressBar = document.querySelector('.reading-progress-bar'); + // For init back to top in sidebar if page was scrolled after page refresh. + window.addEventListener('scroll', () => { + if (backToTop || readingProgressBar) { + const contentHeight = document.body.scrollHeight - window.innerHeight; + const scrollPercent = contentHeight > 0 ? Math.min(100 * window.scrollY / contentHeight, 100) : 0; + if (backToTop) { + backToTop.classList.toggle('back-to-top-on', Math.round(scrollPercent) >= 5); + backToTop.querySelector('span').innerText = Math.round(scrollPercent) + '%'; + } + if (readingProgressBar) { + readingProgressBar.style.setProperty('--progress', scrollPercent.toFixed(2) + '%'); + } + } + this.updateActiveNav(); + }, { passive: true }); + + backToTop && backToTop.addEventListener('click', () => { + window.anime({ + targets : document.scrollingElement, + duration : 500, + easing : 'linear', + scrollTop: 0 + }); + }); + }, + + /** + * Tabs tag listener (without twitter bootstrap). + */ + registerTabsTag() { + // Binding `nav-tabs` & `tab-content` by real time permalink changing. + document.querySelectorAll('.tabs ul.nav-tabs .tab').forEach(element => { + element.addEventListener('click', event => { + event.preventDefault(); + // Prevent selected tab to select again. + if (element.classList.contains('active')) return; + const nav = element.parentNode; + // Get the height of `tab-pane` which is activated before, and set it as the height of `tab-content` with extra margin / paddings. + const tabContent = nav.nextElementSibling; + tabContent.style.overflow = 'hidden'; + tabContent.style.transition = 'height 1s'; + // Comment system selection tab does not contain .active class. + const activeTab = tabContent.querySelector('.active') || tabContent.firstElementChild; + // Hight might be `auto`. + const prevHeight = parseInt(window.getComputedStyle(activeTab).height, 10) || 0; + const paddingTop = parseInt(window.getComputedStyle(activeTab).paddingTop, 10); + const marginBottom = parseInt(window.getComputedStyle(activeTab.firstElementChild).marginBottom, 10); + tabContent.style.height = prevHeight + paddingTop + marginBottom + 'px'; + // Add & Remove active class on `nav-tabs` & `tab-content`. + [...nav.children].forEach(target => { + target.classList.toggle('active', target === element); + }); + // https://stackoverflow.com/questions/20306204/using-queryselector-with-ids-that-are-numbers + const tActive = document.getElementById(element.querySelector('a').getAttribute('href').replace('#', '')); + [...tActive.parentNode.children].forEach(target => { + target.classList.toggle('active', target === tActive); + }); + // Trigger event + tActive.dispatchEvent(new Event('tabs:click', { + bubbles: true + })); + // Get the height of `tab-pane` which is activated now. + const hasScrollBar = document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight); + const currHeight = parseInt(window.getComputedStyle(tabContent.querySelector('.active')).height, 10); + // Reset the height of `tab-content` and see the animation. + tabContent.style.height = currHeight + paddingTop + marginBottom + 'px'; + // Change the height of `tab-content` may cause scrollbar show / disappear, which may result in the change of the `tab-pane`'s height + setTimeout(() => { + if ((document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight)) !== hasScrollBar) { + tabContent.style.transition = 'height 0.3s linear'; + // After the animation, we need reset the height of `tab-content` again. + const currHeightAfterScrollBarChange = parseInt(window.getComputedStyle(tabContent.querySelector('.active')).height, 10); + tabContent.style.height = currHeightAfterScrollBarChange + paddingTop + marginBottom + 'px'; + } + // Remove all the inline styles, and let the height be adaptive again. + setTimeout(() => { + tabContent.style.transition = ''; + tabContent.style.height = ''; + }, 250); + }, 1000); + if (!CONFIG.stickytabs) return; + const offset = nav.parentNode.getBoundingClientRect().top + window.scrollY + 10; + window.anime({ + targets : document.scrollingElement, + duration : 500, + easing : 'linear', + scrollTop: offset + }); + }); + }); + + window.dispatchEvent(new Event('tabs:register')); + }, + + registerCanIUseTag() { + // Get responsive height passed from iframe. + window.addEventListener('message', ({ data }) => { + if (typeof data === 'string' && data.includes('ciu_embed')) { + const featureID = data.split(':')[1]; + const height = data.split(':')[2]; + document.querySelector(`iframe[data-feature=${featureID}]`).style.height = parseInt(height, 10) + 5 + 'px'; + } + }, false); + }, + + registerActiveMenuItem() { + document.querySelectorAll('.menu-item a[href]').forEach(target => { + const isSamePath = target.pathname === location.pathname || target.pathname === location.pathname.replace('index.html', ''); + const isSubPath = !CONFIG.root.startsWith(target.pathname) && location.pathname.startsWith(target.pathname); + target.classList.toggle('menu-item-active', target.hostname === location.hostname && (isSamePath || isSubPath)); + }); + }, + + registerLangSelect() { + const selects = document.querySelectorAll('.lang-select'); + selects.forEach(sel => { + sel.value = CONFIG.page.lang; + sel.addEventListener('change', () => { + const target = sel.options[sel.selectedIndex]; + document.querySelectorAll('.lang-select-label span').forEach(span => { + span.innerText = target.text; + }); + // Disable Pjax to force refresh translation of menu item + window.location.href = target.dataset.href; + }); + }); + }, + + registerSidebarTOC() { + this.sections = [...document.querySelectorAll('.post-toc:not(.placeholder-toc) li a.nav-link')].map(element => { + const target = document.getElementById(decodeURI(element.getAttribute('href')).replace('#', '')); + // TOC item animation navigate. + element.addEventListener('click', event => { + event.preventDefault(); + const offset = target.getBoundingClientRect().top + window.scrollY; + window.anime({ + targets : document.scrollingElement, + duration : 500, + easing : 'linear', + scrollTop: offset, + complete : () => { + history.pushState(null, document.title, element.href); + } + }); + }); + return target; + }); + this.updateActiveNav(); + }, + + registerPostReward() { + const button = document.querySelector('.reward-container button'); + if (!button) return; + button.addEventListener('click', () => { + document.querySelector('.post-reward').classList.toggle('active'); + }); + }, + + activateNavByIndex(index) { + const nav = document.querySelector('.post-toc:not(.placeholder-toc) .nav'); + if (!nav) return; + + const navItemList = nav.querySelectorAll('.nav-item'); + const target = navItemList[index]; + if (!target || target.classList.contains('active-current')) return; + + const singleHeight = navItemList[navItemList.length - 1].offsetHeight; + + nav.querySelectorAll('.active').forEach(navItem => { + navItem.classList.remove('active', 'active-current'); + }); + target.classList.add('active', 'active-current'); + + let activateEle = target.querySelector('.nav-child') || target.parentElement; + let navChildHeight = 0; + + while (nav.contains(activateEle)) { + if (activateEle.classList.contains('nav-item')) { + activateEle.classList.add('active'); + } else { // .nav-child or .nav + // scrollHeight isn't reliable for transitioning child items. + // The last nav-item in a list has a margin-bottom of 5px. + navChildHeight += (singleHeight * activateEle.childElementCount) + 5; + activateEle.style.setProperty('--height', `${navChildHeight}px`); + } + activateEle = activateEle.parentElement; + } + + // Scrolling to center active TOC element if TOC content is taller then viewport. + const tocElement = document.querySelector(CONFIG.scheme === 'Pisces' || CONFIG.scheme === 'Gemini' ? '.sidebar-panel-container' : '.sidebar'); + if (!document.querySelector('.sidebar-toc-active')) return; + window.anime({ + targets : tocElement, + duration : 200, + easing : 'linear', + scrollTop: tocElement.scrollTop - (tocElement.offsetHeight / 2) + target.getBoundingClientRect().top - tocElement.getBoundingClientRect().top + }); + }, + + updateSidebarPosition() { + if (window.innerWidth < 1200 || CONFIG.scheme === 'Pisces' || CONFIG.scheme === 'Gemini') return; + // Expand sidebar on post detail page by default, when post has a toc. + const hasTOC = document.querySelector('.post-toc:not(.placeholder-toc)'); + let display = CONFIG.page.sidebar; + if (typeof display !== 'boolean') { + // There's no definition sidebar in the page front-matter. + display = CONFIG.sidebar.display === 'always' || (CONFIG.sidebar.display === 'post' && hasTOC); + } + if (display) { + window.dispatchEvent(new Event('sidebar:show')); + } + }, + + activateSidebarPanel(index) { + const sidebar = document.querySelector('.sidebar-inner'); + const activeClassNames = ['sidebar-toc-active', 'sidebar-overview-active']; + if (sidebar.classList.contains(activeClassNames[index])) return; + + const panelContainer = sidebar.querySelector('.sidebar-panel-container'); + const tocPanel = panelContainer.firstElementChild; + const overviewPanel = panelContainer.lastElementChild; + + let postTOCHeight = tocPanel.scrollHeight; + // For TOC activation, try to use the animated TOC height + if (index === 0) { + const nav = tocPanel.querySelector('.nav'); + if (nav) { + postTOCHeight = parseInt(nav.style.getPropertyValue('--height'), 10); + } + } + const panelHeights = [ + postTOCHeight, + overviewPanel.scrollHeight + ]; + panelContainer.style.setProperty('--inactive-panel-height', `${panelHeights[1 - index]}px`); + panelContainer.style.setProperty('--active-panel-height', `${panelHeights[index]}px`); + + sidebar.classList.replace(activeClassNames[1 - index], activeClassNames[index]); + }, + + updateFooterPosition() { + if (CONFIG.scheme === 'Pisces' || CONFIG.scheme === 'Gemini') return; + function updateFooterPosition() { + const footer = document.querySelector('.footer'); + const containerHeight = document.querySelector('.main').offsetHeight + footer.offsetHeight; + footer.classList.toggle('footer-fixed', containerHeight <= window.innerHeight); + } + + updateFooterPosition(); + window.addEventListener('resize', updateFooterPosition); + window.addEventListener('scroll', updateFooterPosition, { passive: true }); + }, + + getScript(src, options = {}, legacyCondition) { + if (typeof options === 'function') { + return this.getScript(src, { + condition: legacyCondition + }).then(options); + } + const { + condition = false, + attributes: { + id = '', + async = false, + defer = false, + crossOrigin = '', + dataset = {}, + ...otherAttributes + } = {}, + parentNode = null + } = options; + return new Promise((resolve, reject) => { + if (condition) { + resolve(); + } else { + const script = document.createElement('script'); + + if (id) script.id = id; + if (crossOrigin) script.crossOrigin = crossOrigin; + script.async = async; + script.defer = defer; + Object.assign(script.dataset, dataset); + Object.entries(otherAttributes).forEach(([name, value]) => { + script.setAttribute(name, String(value)); + }); + + script.onload = resolve; + script.onerror = reject; + + if (typeof src === 'object') { + const { url, integrity } = src; + script.src = url; + if (integrity) { + script.integrity = integrity; + script.crossOrigin = 'anonymous'; + } + } else { + script.src = src; + } + (parentNode || document.head).appendChild(script); + } + }); + }, + + loadComments(selector, legacyCallback) { + if (legacyCallback) { + return this.loadComments(selector).then(legacyCallback); + } + return new Promise(resolve => { + const element = document.querySelector(selector); + if (!CONFIG.comments.lazyload || !element) { + resolve(); + return; + } + const intersectionObserver = new IntersectionObserver((entries, observer) => { + const entry = entries[0]; + if (!entry.isIntersecting) return; + + resolve(); + observer.disconnect(); + }); + intersectionObserver.observe(element); + }); + }, + + debounce(func, wait) { + let timeout; + return function(...args) { + const context = this; + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(context, args), wait); + }; + } +}; diff --git a/link/index.html b/link/index.html new file mode 100644 index 0000000000..1442dfb35f --- /dev/null +++ b/link/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +友链 | 渊澄 + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + +

    友链 +

    + + + +
    + + + + +
    +

    网站节点

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    部署站点网址描述
    短链接https://to.ycyc.win短链接服务
    网盘https://go.ycyc.win/alistby Alist
    Vercelhttps://miaoyanginfo.vercel.app/Vercel
    Cloudflarehttps://yuancheng.pages.dev/Cloudflare Pages
    渊澄の分享https://miayang.gitbook.ioGitBook文档
    HEXOhttps://hexo.io/zh-cn/HEXO官网
    NexThttps://theme-next.js.org/NexT主题文档
    +
    +

    友情链接

    +
    + + + + + + + + + + + + + + + +
    网站名称网址描述
    渊澄YChttps://miaoyang.win川流不息-渊澄取映
    +
    +

    交换链接请添加本站链接至贵站相关页面后,在本页面添加评论留下贵站链接信息。

    + +
    + + + +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/links/index.html b/links/index.html new file mode 100644 index 0000000000..1d0a62706c --- /dev/null +++ b/links/index.html @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +友情链接 | 渊澄 + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + +

    友情链接 +

    + + + +
    + + + + +
    +
    + + + +
    + + + +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/memos/index.html b/memos/index.html new file mode 100644 index 0000000000..3907329979 --- /dev/null +++ b/memos/index.html @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +说说 | 渊澄 + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + +

    说说 +

    + + + +
    + + + + +
    +
    +

    同步自我的memos站点
    +https://memos.ycyc.win

    +
    + +
    +
    + +
    + + + + +
    + + + + +
    + + + +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/10/index.html b/page/10/index.html new file mode 100644 index 0000000000..59a6dc1117 --- /dev/null +++ b/page/10/index.html @@ -0,0 +1,901 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    w
    +项目Github 主页 https://github.com/joshuaavalon/SynologyCloudflareDDNS
    +前提是你的域名已经停靠到了cloudflare并可以正常在cloudflare做解析。

    +

    开启并登录SSH服务

    +

    进入路径:群晖后台-控制面板-终端机和SNMP。启动SSH功能。
    +20240219101051
    +用putty等ssh终端登录群晖,然后输入sudo -i切换到管理员账户。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    下载安装套件

    +

    根据你当前DSM系统的版本安装对应版本的套件,如不确定,可以下载最新版本的套件尝试,如安装失败,会提示可安装版本号。
    +https://archive.synology.com/download/Package/VPNCenter

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    第一步,配置网络:
    +20240106094645
    +出现上述图像后,单机 Enter 进入命令行

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    之前OpenWrt系统passwall(帕斯沃)插件里面有个“自动切换”的功能,就是系统检测当前选择的节点如果有故障,会自动切换到备选的节点,以保持网络畅通。然而在Openwrt最新的版本中,passwall的作者不知何故把这个功能给砍掉了,其实这个功能挺好用的,有不少小伙伴私下问我新版本没有了这个功能?于是博主趁着周末研究了一下,发现“自动切换”的功能在原来的菜单上没有了,但是在别处是可以设置的,一起来设置一下吧。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    之前使用了一个网友共享的appleID来下载小火箭,最近刚换了手机,密码早已失效,于是想着用自己的美区ID买下软件,也不贵,2.99美元,折合人民币算下来不到30块钱,而且是终身免费升级,自己平时也是要用到的,干脆买下来也不亏。
    +美区ID已经有了,接下来的问题就是如何付款购买,手头没有外币信用卡,也没有paypal,所以只能用礼品卡充值了。网上搜了很多方法,其中比较简单,速度也比较快的是使用支付宝来购买。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/11/index.html b/page/11/index.html new file mode 100644 index 0000000000..2c5984dbf7 --- /dev/null +++ b/page/11/index.html @@ -0,0 +1,913 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    putty登录主机
    +拉取镜像

    +
    1
    docker pull eclipse-mosquitto
    +

    新建配置文件夹
    +下面的文件夹路径根据你自己设备的实际情况做相应的更改

    +
    1
    2
    3
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/config
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/data
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/log
    +

    新建配置文件

    +
    1
    nano /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf
    +

    复制下面的内容,然后保存。

    +
    1
    2
    3
    4
    5
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous true
    +

    文件夹赋予权限

    +
    1
    2
    chmod -R 755 /mnt/mmcblk2p4/docker/mqtt
    chmod -R 777 /mnt/mmcblk2p4/docker/mqtt/log
    +

    运行容器

    +
    1
    docker run -it --name=mosquitto --privileged  -p 1883:1883 -p 9001:9001 -v /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /mnt/mmcblk2p4/docker/mqtt/data:/mosquitto/data -v /mnt/mmcblk2p4/docker/mqtt/log:/mosquitto/log -d  eclipse-mosquitto 
    +

    目前可以使用IP加1883端口直接连接mqtt服务器,无需使用用户名密码登录。
    +如果需要设置用户名密码,则需要在mosquitto.conf文件中将allow_anonymous true字段改成fasle,然后声明密码文件保存路径。详细配置参考下面:

    +
    1
    2
    3
    4
    5
    6
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous false
    password_file /mosquitto/config/pwfile.conf
    +

    找到容器的id并将下面命令行中的id字段进行替换

    +
    1
    docker ps 
    +

    进入到容器中

    +
    1
    docker exec -it id sh 
    +

    运行下面的命令创建用户和密码。

    +
    1
    mosquitto_passwd /mosquitto/config/pwfile.conf mqtt
    +

    完成之后ctrl+p ctrl+q保存退出。
    +重启docker容器

    +
    1
    docker restart id
    +

    之后就可以使用设置的用户名和密码连接mqtt服务器了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    使用华为的AX3路由器已经快三年的时间了,一直没有适合的插件将其接入HomeAssistant当中,中间还用了一段时间的小米路由器。
    +最近在github上闲逛的时候发现有大神已经开发出了相应的插件,接入到HA之后不仅可以实现device_tracker设备跟踪,还可以实现一键重启路由的功能。废话不多,直接放出作者的github地址
    +https://github.com/vmakeev/huawei_mesh_router
    +下载下来放到ha的custom_compents文件夹中,之后在界面中搜索Huawei Mesh Router即可进行配置。如果你装了HACS商店,在里面直接搜索安装更方便。
    +20230213103412
    +填入路由器地址、密码即可完成配置,配置完成之后就可以看到相关设备实体了。
    +20230213103507
    +下面是插件自带的可供使用的开关和传感器
    +20230213103600
    +我用了一段时间,插件运行很稳定。如果你在使用中发现bug可以在作者的github主页提交issues。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    在用的小米多模网关2在升级到最新的v1.0.7_0019后,在homeassistant使用XiaomiGateway3接入时会有telnet_wrong的报错信息,导致接入网关的设备无法正常在homeassistant正常使用。原因是小米在最新的固件里封堵了telnet入口,导致插件无法正常获取到网关的key字段。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    刚刚在vscode中用picgo上传图片失败,提示检查网络或设置。起初真的以为是token到期了或是网络不通,确定了网络正常之后又检查了token,发现也在有效期。
    +于是下载了picgo的windows客户端上传同样的图片,发现还是上传失败。好在windows客户端可以查看日志详情。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    引言

    +

    前两天在家里上网发现一个问题,手机设置了静态IP地址,网关和DNS都设置成旁路由的地址之后,连接AP发出的SSID可以正常出国和回国,但是连接到主路由发出的SSID之后出国不受影响,浏览国内的站点会出现无法访问的情况。因为我之前一直默认连接的是AP的信号,所以一直没发现问题,直到前天AP断电之后,手机连接到主路由发出的SSID才发现问题,而且不只是手机,笔记本也一样,只要是连接了无线之后都会有问题,但是使用有线连接的设备手动指定网关和DNS之后上网却一切正常。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/12/index.html b/page/12/index.html new file mode 100644 index 0000000000..49f75734fd --- /dev/null +++ b/page/12/index.html @@ -0,0 +1,902 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    登录Adguard home界面,需要修改的有两个地方,一个是DNS上游服务器,一个是Bootstrap DNS 服务器。

    +

    下面是我填的DNS上游服务器地址,仅供参考。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Appdaemon是一个可以让HomeAssistant界面更适合触控操作的三方UI面板,可以通过docker容器来运行。
    +HA_URL字段是你的homeassistant地址,别忘了加端口号;
    +TOKEN字段填入你的homeassistant长期访问令牌token;
    +-v后面填入本地映射的appdaemon文件夹,需要提前创建好;
    +访问端口使用默认的5050,当然你也可以改成其他。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    自从部署了HEXO,就开始寻找一个靠谱的图床系统来用于托管网站的图片。
    +之前在群晖NAS上使用Chevereto系统部署了一套私有的图床系统,但是如果用于网站图片的托管,需要24小时开机,不仅费电,而且还会加大硬盘的读写,增加坏盘的风险,所以还是放弃了这个想法。
    +接着我在七牛云上部署了图床系统,想着他有10GB免费的额度,也够用了。但部署完成之后,第二天查看账单发现有了费用,名字叫做https-cdn-海外加速费用,咨询了客服工单之后说是因为我使用的域名没有备案,所以只能使用海外站点,如果你从国内访问的话就会产生费用。
    +于是我想到了用GitHub来部署图床,网上也有大把的教程,操作起来也很简单,需要配合PicGo来使用。

    +

    创建一个公开仓库

    +

    生成GitHub Token

    +

    进入GitHub账户设置-开发者设置-私人Token,生成一个新的token并复制。
    +

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    picgo有用于vscode的扩展插件,配置方法类似于桌面版,把Github的开发token信息及仓库源信息填上就可以开始使用了。
    +20220423143041

    +

    部分快捷键

    +
    1
    2
    3
    4
    5
    Ctrl + Alt + u  ##从剪贴板上传图像

    Ctrl + Alt + e ##从资源管理器上传图像

    Ctrl + Alt + o ##从输入框上传图像
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    经过上一篇的步骤之后,我们已经可以将我们的HEXO站点发布到GitHub上了,并且可以正常访问。但是我们每次更新文章以及站点配置的时候必须先在本地进行编译、然后再部署到GitHub上,也就是每进行一次修改,必须执行以下命令

    +
    1
    2
    3
    hexo g
    hexo clean
    hexo d
    +

    那有没有一种方法就是,系统检测到我们发布了新文章,然后自动进行程序的编译和发布呢?
    +今天部署的这个GitHub Action服务就是解决这个问题的。在上一篇文章中我们在 GitHub上还新建了一个私人仓库,我们今天用这个私人仓库来进行操作。
    +

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/13/index.html b/page/13/index.html new file mode 100644 index 0000000000..69f0cc5620 --- /dev/null +++ b/page/13/index.html @@ -0,0 +1,929 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    HEXO默认是不带评论系统的,但后台支持调用许多第三方的评论系统,我们这里以Valine为例来给HEXO站点配置第三方评论系统

    +

    1.注册LeanCloud账户并创建应用

    +

    进入LeanCloud网站注册账户,进行实名认证,然后创建一个应用,命名为hexo。

    +

    2.获取应用的APP KEY

    +

    进入创建好的应用,点击"设置",然后"应用凭证",获取APPID和APPKEY。

    +

    3.编辑主题配置文件

    +

    编辑主题的_config.yml配置文件

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    comments:
    use: Valine
    valine:
    appId:
    appKey:
    avatar: monsterid # gravatar style https://valine.js.org/#/avatar
    serverURLs: # This configuration is suitable for domestic custom domain name users, overseas version will be automatically detected (no need to manually fill in)
    bg: # valine background
    visitor: false
    option:
    +

    use字段填入"Valine"
    +appid和appkey字段填入获取到的信息,然后保存文件。

    +

    3.添加安全域名

    +

    进入应用"设置"-“安全中心”,填入你的HEXO站点地址,然后保存。

    +

    4.编译站点并发布

    +

    经过上面步骤之后对站点进行重新编译和发布,就可以在文章结尾看到评论窗口了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +


    +经过三天的不断网上趴文和自我修炼,参考了众多网上大神的教程和文章,自己又填了无数个坑之后,终于成功在GitHub上部署了HEXO系统发布文章,使用GitHub Action功能自动编译HEXO程序并发布静态页面。我将用两个篇幅来记录部署过程。
    +第一部分介绍如何在本地部署HEXO程序,安装主题,本地预览,然后发布到Github Page。
    +第二部分介绍如何使用GitHub Action功能实现HEXO程序的自动编译和发布。

    +

    1.GitHub上新建仓库

    +

    登录你的Github,新建两个仓库:
    +一个仓库用于发布我们的HEXO站点,为了便于区分,我们在这里叫它公开仓库,新建的时候选在类型为Public,网址那里填入***.github.io,确保你可以使用域名https://***.github.com 访问到你的页面,这篇文章我们主要在这个仓库中进行操作;
    +另一个站点用于存放我们的HEXO程序源文件,用于和主仓库实现自动化编译和发布的联动,我们叫它私人仓库,类型选择Pravite,名称随便起,我们这里叫做hexo-action。
    +

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    每次写hexo文章的时候都需要手动敲入文章头部的front-matter字段,而且有时候可能会敲错,导致发布失败,那有没有一种简单的方法,输入某个字符就能带出这些内容呢?
    +你别说还真有,在vscode中有一个snippets的功能就可以实现上面的需求,下面跟我来操作吧。

    +

    编辑markdown.json文件

    +

    ctrl+shift+P打开配置搜索框搜索snippets。
    +20220525134538
    +然后搜索markdown编辑markdown.json文件
    +20220525134725
    +在文件中插入以下字段并保存。
    +这里prefix后面的title可以随意替换,之后输入这个词就会带出相应的内容。body里面的字段也可以随意增减。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    "Generate Hexo blog header": {
    "prefix": "title",
    "body": [
    "---",
    "title: ",
    "date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
    "categories: ",
    "tags:",
    "cover: ",
    "sticky: ",
    "---",
    ],
    "description": "hexo header"
    }
    +

    20220525134901

    +

    编辑settings.json文件

    +

    在vscode中搜索settings.json文件进行编辑。
    +20220525135009
    +插入下面的字段并报错。

    +
    1
    2
    3
    4
    "[markdown]": {
    "editor.wordWrap": "on",
    "editor.quickSuggestions": true
    },
    +

    大功告成

    +

    完成上面设置步骤之后在markdown文件中输入title就可以带出hexo所需的头部matter字段了。
    +20220525135235

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    win+r运行cmd命令提示窗,键入以下命令在注册表中添加相应字段即可还原鼠标右键菜单。

    +
    1
    reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
    +

    如果想回复win11默认右键菜单,只需要运行下面命令,将添加的字段删除即可。

    +
    1
    reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
    +

    重启资源管理器生效

    +
    1
    taskkill /f /im explorer.exe & start explorer.exe
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +
    +

    title: 清理docker占用空间脚本
    +categories:

    + +
    +

    20220808135436
    +docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
    +其实运行下面的命令就会自动清理docker无用的空间。
    +think01

    +
    1
    docker system df -v
    +

    列出docker使用空间详情

    +
    1
    docker system prune -a
    +

    该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
    +如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/14/index.html b/page/14/index.html new file mode 100644 index 0000000000..1b2d127a8d --- /dev/null +++ b/page/14/index.html @@ -0,0 +1,891 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
    +其实运行下面的命令就会自动清理docker无用的空间。
    +think01

    +
    1
    docker system df -v
    +

    列出docker使用空间详情

    +
    1
    docker system prune -a
    +

    该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
    +如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    定时规则由六位组成,分辨是分、时、天、月、星期。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    *    *    *    *    *
    - - - - -
    | | | | |
    | | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
    | | | +---------- 月份 (1 - 12)
    | | +--------------- 一个月中的第几天 (1 - 31)
    | +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)
    +

    引用来源:Runoob

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Cloudflare有一个pages的功能,类似于Github Page,可以用来托管静态网站。那有没有可能将hexo站点托管到CF pages呢?
    +下面来操作吧。

    +

    创建build.sh脚本

    +

    首先确保你在Github上有Hexo的仓库,我们在仓库的根目录新建一个名为build.sh的文件,内容如下:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!/bin/bash

    # 配置环境
    npm install -g hexo-cli
    mkdir hexo
    cd hexo
    hexo init
    npm install
    rm -rf source/_posts
    mkdir -p source/_posts

    # 安装主题(你们可以改成自己喜欢的主题)
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

    # 使用新的渲染器
    npm un hexo-renderer-marked --save
    npm i hexo-renderer-markdown-it --save
    # 处理图片
    npm i hexo-image-link --save

    # 复制文章到指定目录
    cd ../
    cp -r `ls | grep -v hexo | grep -v config.yml | xargs` hexo/source/_posts
    # 复制配置文件
    cp config.yml hexo

    # 开始构建
    cd hexo && hexo g --config config.yml
    +

    登录CF创建应用

    +

    登录到Cloudflare,切换到pages选项卡,新建一个项目,选择“连接到git”,使用Github账户登录
    +20220725160214
    +然后选择你的hexo仓库,点击下一步
    +20220725160035
    +按图片所示填入信息,然后点击保存并部署。
    +20220725160435
    +部署完成之后我们就可以使用系统分配的pages.dev域名来访问部署在Cloudflare的站点了。

    +

    测试同步

    +

    现在看下在github上发布一篇文章,看看会不会自动同步更新。
    +20220725160708

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    20220719161804
    +之前一直在使用L大openwrt中自带的阿里云盘webdav插件来,但最近发下插件老是运行报错,所以决定直接在openwrt的docker中跑阿里云盘webdav服务。
    +方法也很简单,直接在docker中运行下面命令就可以了

    +
    1
    2
    3
    4
    5
    6
    docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 2345:8080 \
    -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
    -e REFRESH_TOKEN='token' \
    -e WEBDAV_AUTH_USER=username \
    -e WEBDAV_AUTH_PASSWORD=password\
    messense/aliyundrive-webdav
    +

    备注:
    +1.2345为docker主机映射的端口,可以任意修改。
    +2.username为你的阿里云盘登录用户名。
    +3.password为你的阿里云盘登录密码。
    +4.如何获取阿里云盘的token请参考另一篇文章(https://miaoyanginfo.github.io/2022/05/22/15获取阿里云盘refreshtoken/)

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    访问阿里云盘网页版,成功登录之后,按下F12,打开开发者模式,按照下图获取refresh_token。
    +
    +获取到这个token之后我们就可以在各种阿里云盘的WEBDAV服务中使用这个token来开启阿里云盘的WEBDAV服务了。
    +自动获取:
    +登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).refresh_token

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/15/index.html b/page/15/index.html new file mode 100644 index 0000000000..b653c2d00f --- /dev/null +++ b/page/15/index.html @@ -0,0 +1,961 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    现在我使用的HomeAssistant是用Docker跑在OPENWRT系统上的,目前版本是2021.12.5,之前尝试过直接拉取Dcoker镜像来升级,但是提示空间不足报错,后来就一直没有理他,运行了大半年还算稳定。今天打开HA官网看到最新版本已经更新到了2022.5.5版本了,所以是时候来一次升级操作了。
    +本周末的任务就是升级我的HomeAssistant系统到最新的2022.5.5版本。
    +如果不能直接升级,就只能备份现有的配置,然后删除容器,重新部署了。
    +2022-5-22更新:
    +今天抽时间试着做了更新操作,不出意外,还是由于空间不足,在拉取最新docker镜像的时候报错了。
    +所以只能重新安装openwrt,然后再拉取镜像操作。
    +下载了F大5月9日编译的最新openwrt固件,写入U盘镜像。
    +
    +从U盘启动openwrt系统,执行命令将系统安装到N1的emmc上。

    +
    1
    cd  /root   &&   ./install-to-emmc.sh
    +

    将N1盒子用网线和电脑直连,电脑设置为192.168.1的网段,进入openwrt的WEB界面修改LAN口地址为你网络环境的网段,保存设置之后将设备接入你的网络中。
    +
    +如果和我一样作为旁路由来使用,还需要关闭LAN口的DHCP功能。
    +
    +用putty登录到openwrt系统,执行下面的命令来拉取镜像和运行容器。

    +
    1
    docker pull homeassistant/aarch64-homeassistant:latest
    +
    1
    docker run -d -v /mnt/mmcblk2p4/docker/homeassisatant/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/aarch64-homeassistant:latest
    +

    一切顺利的话,访问openwrt的地址:8123就会看到最新版本的HomeAssistant系统界面了
    +

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    下载镜像

    +

    打开群晖的DOcker套件,切换到注册表选项卡,找到Centos,下载,标签选择latest。
    +20220429095414
    +下载完成之后我们可以在映像选项卡中找到它。

    +

    配置环境

    +

    高级设置里面将自动重启打勾。
    +20220429095758
    +切换到存储空间,配置本地文件夹映射到镜像的data文件夹。
    +20220429095914
    +指定一个本地未使用的端口映射到镜像的22端口。
    +20220429100121
    +完成上面设置之后运行容器。

    +

    系统初始化

    +

    进入终端机更新系统:

    +
    1
    yum -y update
    +

    安装所需的软件包:

    +
    1
    yum install vim openssl openssh-server net-tools initscripts passwd -y
    +

    如果你在运行上面的更新命令时报错,需要依次执行下方命令:

    +
    1
    2
    3
    cd /etc/yum.repos.d/
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    +

    设置SSH连接

    +

    创建SSH key

    +
    1
    2
    3
    4
    5
    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' 

    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    +

    UsePAM yes 改为 UsePAM no

    +

    修改ssh_config

    +
    1
    vim /etc/ssh/sshd_config
    +

    UsePAM yes 改为 UsePAM no

    +

    启动ssh

    +
    1
    2
    /usr/sbin/sshd -D &
    echo "/usr/sbin/sshd -D &" >> /etc/rc.local 添加到开机启动,就不用每次重启后运行了
    +

    修改root密码

    +
    1
    passwd root
    +

    使用第三方SSH工具登录

    +

    设置完成之后我们可以使用其他第三方SSH工具来登录到我们的CentOS系统,比如Putty。
    +输入主机IP,SSH端口为我们映射的端口号,用户名root,密码时我们上一步修改的密码。
    +20220429135856

    +

    收工

    +

    至此我们就完成了在群晖Docker上安装部署CentOS的过程,接下来我们就可以用SSH工具在我们搭建的CentOS上部署各种服务了
    +。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近芒果台联合香港TVB推出的音乐节目《声生不息》,将“沉睡”很多年的港乐再次呈现在了观众的面前,尤其是在第一期结尾大合唱《海阔天空》的时候,突然出现黄家驹的原声,不知让多少人又热血沸腾、潸然泪目。
    +其实我也自诩算个伪港乐迷,日常听的曲库里面差不多有60%左右都是港乐,尤其是上世纪80-90年代的香港乐坛,是我心目中港乐最为辉煌的时期,期间涌现了一批可以被记载到历史的歌手及音乐人,谭咏麟、张国荣、四大天王、陈百强、李克勤,当然还有我的偶像Beyond黄家驹。
    +开始关注Beyond乐队是从2003年他们开20周年演唱会开始,之前我甚至不知道Beyond乐队这个名字,只知道在香港有个歌手叫黄家驹。
    +20220427133927
    +和大部分人一样,开始也是喜欢听他们的那几首传唱度较高的《光辉岁月》和《真的爱你》等等,再过后来渐渐了解了乐队的起源以及发展历程之后,再听诸如《灰色轨迹》《未曾后悔》等歌曲之后,我已经被他们的音乐完全吸引,虽然他们的作品基本上都是粤语,但丝毫没有影响到其作品在内地的传唱度,和同一时代的其他香港歌曲相比,他们的音乐坚持原创,有思想,有深度,表达大众的心声,所以才能真正唱到普通人的内心深处,激励一代又一代的年轻人,这才是港乐真正的魅力所在。
    +当然,八九十年代的香港乐坛,还是有很大一部分歌曲是直接将日本歌填词翻唱的,但就算这样也丝毫没有影响这些作品成为流传至今的经典。
    +而到了2000年之后,港乐逐渐进入衰退期,很久都没有能再次打动人心的作品出现了,能被人记得的名字,好像也只剩下陈奕迅了吧。

    +

    下面分享我的Apple Music曲库中始终占有一席地位的TOP20港乐,仅代表个人喜好,排名不分先后。

    +

    海阔天空-Beyond

    +

    灰色轨迹-Beyond

    +

    偏偏喜欢你-陈百强

    +

    漫步人生路-邓丽君

    +

    月半小夜曲-李克勤

    +

    敢爱敢做-林子祥

    +

    讲不出再见-谭咏麟

    +

    风继续吹-张国荣

    +

    当年情-张国荣

    +

    一生中最爱-谭咏麟

    +

    沉默是金-许冠杰/张国荣

    +

    浪子心声-许冠杰

    +

    遥远的她-张学友

    +

    只想一生跟你走-张学友

    +

    红日-李克勤

    +

    一生何求-陈百强

    +

    光辉岁月-Beyond

    +

    谁可改变-谭咏麟

    +

    千千阙歌-陈慧娴

    +

    富士山下-陈奕迅

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    家里一台电脑,单位一台电脑,如何用两台电脑同时对HEXO进行更新呢?

    +

    生成密钥并部署到GitHub

    +

    我们需要在另一台电脑上安装git、node等必要环境,然后选取一个文件夹作为工作文件夹,在这个文件夹下运行git bash命令窗口。

    +
    +

    创建一个新的密钥:

    +
    +
    1
    ssh-keygen -t rsa -C "youremail@example.com"
    +

    在本地用户名文件夹下找到.ssh文件夹,复制里面的id_rsa.pub内容,然后前往GitHub的settings页面,添加一个SSH key,title最好取名为你的电脑名称,然后粘贴刚才复制的公钥的内容。
    +

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    之前提到了使用第三方软件RaiDrive来挂载WEBDAV协议的网盘,其实Windows自身是支持WEBDAV协议的,只需要简单的设置一下即可,可以完全抛弃三方软件。
    +##1.开启WEBCLIENT服务。
    +右键计算机-管理-服务,找到WEBCLIENT服务并开启运行。
    +webdav01.png

    +

    ##2.编辑注册表,修改键值,以同时支持http和https协议。
    +运行输入regedit回车。
    +找到如下路径,将BasicAuthLevel值改为2。

    +
    1
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    +

    webdav02.png
    +##3.添加网络位置即可。
    +webdav03.md.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/16/index.html b/page/16/index.html new file mode 100644 index 0000000000..ff2dba18e2 --- /dev/null +++ b/page/16/index.html @@ -0,0 +1,966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    微信截图_20220329163639.png

    +

    概述

    +

    上图是我家目前的网络拓扑示意图,及部分设备正在运行的服务,下面我将尽量对每个设备及所提供的服务来做详细的介绍,某些服务由于涉及到的知识点较多,以后可以能单独写文章来介绍。

    +

    联通光猫

    +

    负责运营商光纤到户后的光电转换,并给固定电话和IPTV提供接入服务。
    +网络方面,光猫使用桥接模式,不负责拨号,不负责提供WIFI服务,WIFI服务由华为AX3路由器及水星D191G路由器负责。

    +

    华为AX3路由器

    +

    负责宽带拨号,负责提供DHCP服务,负责提供WIFI覆盖服务,负责局域网内设备的端口转发服务及DMZ服务,为了方便远程管理内网设备,还在路由器上部署了花生壳的DDNS服务。WAN口与上级的联通光猫连接,LAN与需要提供网络服务的下级设备连接。
    +##水星D191G路由器
    +提供WIFI覆盖服务及普通交换机服务。LAN口与上级主路由的LAN口连接,LAN口IP设置为和上级路由器一个网段,方便管理,关闭DHCP,DHCP服务由上级路由统一管理。剩余的LAN口可作为交换机使用,连接设备后将自动从华为AX3路由器获取IP地址。

    +

    N1盒子-OPENWRT

    +

    N1盒子已刷F大的OPENWRT系统,目前作为旁路由使用,提供科学上网服务,里面内置Docker服务,由于N1是24小时全天候运行,所以使用Docker服务部署了HomeAssistant服务来管理家里智能设备的自动化运行,后来又部署了青龙面板JD签到服务。为了方便远程管理N1路由器和里面的Docker容器,所以在华为AX3主路由上将N1的80端口和Docker容器中用到的端口做了转发处理,这样在外网环境下使用DDNS域名+对应端口就可以了访问到内网的服务了。

    +
    N1盒子及OPENWRT的其他使用分享我会再后续分功能来介绍
    +

    ##群晖NAS
    +为局域网设备提供网络存储服务,目前我使用到的服务套件有Synology MailPlus Server,使用自己的域名搭建邮件服务器;Synology Photos,用于备份和管理移动端的相片等,DownloadStaion用来下载文件和电影,配合浏览器插件,用起来很方便。WebStaion用来搭建网站。还有Docker服务,目前我在群晖的Docker上部署了KMS激活服务、阿里云盘WEBDAV服务、和FRPC服务三个容器。KMS激活服务用于直接激活内网环境下VOL版本的Windows系统和Office办公软件,如果将端口映射出去,也可以用于外网的激活。阿里云盘WEBDAV服务是将阿里云盘转换为标准的WEBDAV协议,可以在各种客户端中使用WEBDAV协议来读写云盘里面的文件。最后一个FRPC服务是一个用于内网穿透的服务,可以在外网环境下直接使用域名访问到内网中的各种服务。另外我在群晖NAS里面部署了DNSPOD的DDNS服务,将自己的域名解析到了NAS,而且在华为AX3主路由上将群晖NAS的主机加到了DMZ服务,这样直接使用DDNS服务的域名加端口就可以直接访问到群晖里面的各种服务,不需要单独做转口转发服务,当然除了运营商已经封锁掉的80/443等端口。这也是我为什么要在Docker上再跑一个DRPC服务的原因了。

    +
    群晖NAS的相关使用及经验分享可能后续会单独开个分类。
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    +

    下载安装Microsoft Visual Studio Code安装包(以下简称VScode)

    +

    下载地址:

    +
    1
    https://code.visualstudio.com/
    +

    设置显示语言为中文

    +

    软件安装完成之后默认语言是英文,我们在主界面同时按下ctrl+shift+P三个按键,输入configure display language,点击安装其他语言,然后下载安装简体中文包,安装完成之后即可启用切换到中文界面。

    +

    新建MarkDown格式文件

    +

    新建文件,格式选择MarkDwon即可创建MarkDwon格式的文件。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    Amlogic系列盒子,包括 N1、章鱼星球、S905X2外贸盒子、S905X3外贸盒子、S922X外贸盒子

    + + +
          第一次刷机(从U盘或TF卡启动之后):
    +
    + + +
             cd  /root   &&   ./install-to-emmc.sh     或者: /root/install-to-emmc.sh
    +
    + + +
          在线升级,先把 update-amlogic-openwrt.sh 以及镜像文件 xxxxxxxxxxxxxxxxxxxxxxxxx.img用winscp工具上传至/mnt/mmcblk2p4, 然后:
    +
    + + +

    cd /mnt/mmcblk2p4

    + + +
         chmod 755 update-amlogic-openwrt.sh
    +
    + + +
         ./update-amlogic-openwrt.sh  xxxxxxxxxxxxxxxxxxxxxxxxxx.img
    +
    + + +
         注意:update-amlogic-openwrt.sh一般随固件同时发布,在.7z包里面,每次升级最好都用最新版的update脚本
    +
    + + + + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    使用电脑操作,打开打开京东签到页面,登陆自己的账号后,打开浏览器开发者界面(键盘按F12),切换到Application选项,左侧选择cookies,并在右侧找到pt_keypt_pin,复制对应的值,拼接成pt_key=****;pt_pin=***格式保存起来备用

    + + +
    ![](WiL7dVCETgXlep9-1024x568.png)
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    套件中心搜索【Synology Mail Plus Server】和【Synology Mail Plus】两个套件安装。

    + + +
    ![](image-5.png)
    + + +

    安装完成之后启动【Synology MailPlus Server】套件,进入【服务】选项卡进行设置,启用SMTP、POP3服务及对应端口。

    + + +
    ![](image.png)
    + + +

    切换到【邮件投递】选项卡进行设置。

    + + +
    ![](image-2.png)
    + + + + +

    切换到【账号】选项卡,激活相应的账户。

    + + +
    ![](image-1.png)
    + + +

    激活完成之后就可以进入【Synology MailPlus】套件来进行邮件的收发动作。

    + + +
    ![](image-4-1024x372.png)
    + + +

    另外我重点说一下我这边的网络环境及路由器和DDNS的设置。

    + + +

    家里面使用的是联通宽带,有公网IP。

    + + +

    在路由器中设置DMZ主机为群晖的IP。这样设置之后群晖上所有服务的端口都会暴露到公网上去,不需要单独在路由器中做端口转发,如果为了安全起见,不希望暴露某些端口到公网,可以在群晖防火墙里面做设置。

    + + +

    然后在群里里面设置DDNS。我使用的是DNSPOD的DDNS服务。在群晖的【控制面板】-【外部访问】中进行DNSPOD的设置。需要在DNSPOD后台生成API密钥,这里不展开讨论。

    + + +

    然后在DNSPOD后台添加对应域名的解析操作,比如我的域名是miaoyang.win。我将主域名用DDNS的方式解析到了群晖,然后MX记录用解析到miaoyang.win,将二级域名mail.miaoyang.win用CNAME方式解析到miaoyang.win。

    + + +

    这样所有记录都会正确解析到宽带获取到的公网IP上面。

    + + +
    ![](image-3-1024x443.png)
    + + +

    经过上述设置之后,我这边可以在外网环境下使用WEB和手机客户端进行邮件的收发操作。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/17/index.html b/page/17/index.html new file mode 100644 index 0000000000..9dd403839a --- /dev/null +++ b/page/17/index.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    现在在群晖上将域名进行了DDNS解析,目前实现了使用域名+端口的方式来访问站点。由于电信运营商封锁了80和443端口,所以现在使用8012端口来替代443访问。

    +

    目前存在的主要问题是,必须手动输入https://miaoyang:8012才可以访问,不输入https直接访问会有报错。

    +

    尝试使用默认的443端口采用反向代理的方法来跳转到8012端口,但是现在群晖系统内设置了反向代理也没有生效,暂时不知道是哪里的问题。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    测试外网访问,文章发布,附件上传功能是否正常。

    + + +
    ![](cNcuPEE.png)
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    首先用root账户来登录服务器,然后运行下面的命令一键安装v2ray

    + + +
    bash <(curl -L -s https://install.direct/go.sh)
    +
    + + +

    所有的详细配置都存储在/etc/v2ray/config.json文件中,安装完成之后我们运行下面命令来将服务器的端口及id记录下来。

    + + +
    cat /etc/v2ray/config.json
    +
    + + +

    最后我们运行下面的命令来启动v2ray服务并设置为开机启动。

    + + +
    systemctl enable v2ray
    +systemctl start v2ray
    +
    + + +

    到此安装完毕,最后我们检查一下服务器的防火墙设置,一定要放行上面记录到的端口才能够正常使用。

    + + +

    服务器端配置完成之后,我们还需要在你所使用的主机上安装部署v2ray客户端,常用的windows、iOS、Android平台都有相应的客户端,windows客户端推荐使用 v2rayN ,配置起来简单直观。iOS平台可以使用 Shadowrocket ,但是必须切换到美区账户才能购买安装。Android这边的话可以使用免费的 V2RayNG 。文章结尾我会放出windows和Android客户端的下载链接。

    + + +

    其实v2ray就类似于ssr采,只不过它采用了vmess加密协议,使用起来更加隐蔽,更加难以被监测到。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    仔细一看,距离上次更新已经有大半年之久了,真是惭愧,一直没有时间静下心来更新。

    +

    期间很长时间是因为原先的服务器被墙了,暂时没有找到合适和服务器来替换。而就在昨天,在Godaddy上无意间搜索,竟然发现我之前被盗的域名miaoyang.info可以注册了,所以我立即下手注册了,接着在Vultr上购买了VPS,安装了宝塔面板,把被墙服务器的数据又倒了过来,这才暂时算是正常了。
    +目前网站的主域名是miaoyang.info,将miaoyang.win以及miaoziyuan.com两个域名做了跳转,现在上述三个域名都可以直达本站。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    DNSPod现在可以申请为期一年的免费SSL证书,只要使用DNSPod的解析服务就可以申请。

    +

    进入DNSPod管理后台,左侧菜单选在SSL证书-证书管理

    +

    TIM截图20191024172300.jpg

    +

    然后选择你要申请证书的域名,然后选择DNS验证,等验证通过之后手机会收到短信通知,接着我们将证书下载到本地。

    +

    TIM截图20191024171954.jpg

    +

    下载之后解压,会得到4个文件夹,如果你使用LNMP,则进入Nginx文件夹,如果是LAMP,则进入Apache文件夹,我这边以Nginx为例进行介绍。

    +

    TIM截图20191024172034.jpg

    +

    之后我们用记事本打开文件夹中的两个文件。

    +

    TIM截图20191024172057.jpg

    +

    接着我们进入宝塔面板的SSL设置界面,将那两个文件内容复制到相应的地方,注意最后不要加空格。

    +

    TIM截图20191024171745.jpg

    +

    保存提交之后,我们的SSL证书就部署完成了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/18/index.html b/page/18/index.html new file mode 100644 index 0000000000..26bf87c428 --- /dev/null +++ b/page/18/index.html @@ -0,0 +1,959 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    昨天将HomeAssistant升级到最新的0.89.2版本之后,网页页面打不开,提示404错误,查看log日志发现有如下报错信息:

    + + +
    019-03-14 21:54:55 ERROR (SyncWorker_13) [homeassistant.util.package] Unable to install package home-assistant-frontend==20190305.1: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /packages/bc/99/d91230141eb6838f9daa18e04bcbc206a40c8c14bb2edde7f75ba264f4b5/home-assistant-frontend-20190305.1.tar.gz
    +
    + + +

    主要报错信息是Unable to install package home-assistant-frontend==20190305.1,也就是无法安装版本为20190305.1的home-assistant-frontend组件,解决办法就是手动安装。

    + + +

    Putty登陆到你的Hass主机,然后依次运行以下命令:

    + + +
    sudo su -s /bin/bash homeassistant
    +source /srv/homeassistant/bin/activate
    +pip3 install  home-assistant-frontend==20191025.1
    +等到安装完之后之后
    +exit
    +
    + + +

    ** 目前最新的frontend版本为20191025.1 ,所以这里我们安装最新版。**

    + + +

    最后重启homeassistant就可以了。

    + + +

    如果系统log中有其他缺失组件的报错,也可以用此方法来试着修复,但此方法只适用于基于命令安装的home-assistant,不适用于hassio等其他系统。

    + + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    本站从即日起启用全新域名miaoziyuan.com,旧域名miaoyang.win依然可以正常访问,但是会跳转到新域名。目前大家可以通过以下网址访问本站

    +

    https://miaoziyuan.com

    +

    https://www.miaoziyuan.com

    +

    https://miaoyang.win

    +

    https://www.miaoyang.win

    +

    新域名没有什么特殊的含义,是我儿子的名字全拼。自打他出生的时候注册的,一直没有什么用,现在拿来做我网站的主域名,等他长大的时候交给他,哈哈。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    想要将Padavan固件的路由器接入HomeAssistant系统中用来追踪设备,除了使用第三方插件还能怎么办?HomeAssistant官方给出了解决办法,只需要路由器上稍作修改,即可使用HA官方的ASUSWRT组件。话不多说,跟我一起来做吧。

    +

    首先确保路由器打开了SSH功能,高级设置—系统管理–服务–启用SSH服务。

    +

    ss.jpg

    +

    接下来我们用Putty登陆路由器来进行操作,登陆地址就是你的路由器地址,端口默认是22,用户名和密码就是你登陆路由器管理界面的用户名和密码。

    +

    登陆成功之后依次运行以下命令行:

    + + +
    find / -name "dnsmasq.leases"
    +####寻找dnsmasq.leases文件的位置,并记录下来####
    +mkdir -p /var/lib/misc
    +####创建目录####
    +echo "/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases" >> /etc/storage/started_script.sh
    +####将脚本添加到启动项(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases
    +####将dnsmasq.leases文件进行位置链接(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +
    +

    TIM截图20190314105322.png

    +

    完成以上设置之后,我们前往HomeAssistant的主配置文件
    +configuration.yaml 中添加以下代码:

    + + +
    asuswrt:
    +  host: ####路由器IP地址####
    +  username: ####路由器登陆名####
    +  password: ####路由器登陆密码####
    +
    + + +

    添加完之后就大功告成了,更详细的配置说明请查阅HomeAssistant官网https://www.home-assistant.io/components/asuswrt/

    + + +

    3/21更新:

    + + +

    asuswrt插件下的sensor无法获取到数值,我在正文中已经删除;

    + + +

    另外因为asuswrt没有了 track_new_device参数,所以加入WIFI的新设备会自动被追踪,目前的解决方法是将下面的代码直接添加到configuration.yaml文件中。

    + + +
    device_tracker:
    +  - platform: asuswrt
    +    consider_home: 180
    +    new_device_defaults:
    +      track_new_devices: false
    +      hide_if_away: false
    +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    华擎 的J3455是目前很热门的一款集成主板,许多网友都拿它来组黑群晖玩,我手里正好也有一块J3455,上周装了黑群晖,已经稳定运行了近一个星期,下面我将罗列几点在装机以及使用过程中遇到的问题及解决方法,希望对正打算用J3455装黑群晖的朋友有所帮助。

    +

    1.Bootloader引导版本的选择

    +

    由于群晖的DS918+也是采用的J3455处理器,所以很多朋友都用最新的Jun’s Loader 1.04b来做引导,但是目前使用1.04b引导DS918+有一个问题,就是在DSM网页中无法重启机器,所以我选择了用1.03b引导DS2615XS来装DSM6.1.6系统。安装完成之后可以在线更新DSM版本到 DSM 6.1.7-15284 Update 3 。

    +

    aa.jpg

    +

    2.WOL相关设置

    +

    想要实现WOL网络唤醒,需要满足以下几个条件:

    +

    1.引导优盘中的MAC地址必须填主板实际的MAC地址;

    +
      +
    1. 在BIOS中启用"允许从PCI-E设备启动电脑";
    2. +
    +

    3.DSM控制面板—电源中必须WOL选项打勾。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    我在腾讯云注册有一个.com域名,还有两天到期,我决定把域名转移到Godaddy,Godaddy是全球最大的域名注册商,之前是纯英文界面,最近几年增加了中文界面,而且支持支付宝直接付款,虽然没有明确表示进军中国 域名注册市场,但不影响我们正常使用。

    +

    下面我来一步一步介绍如何将域名转移到Godaddy。

    +

    首先我们登录腾讯云,在域名管理页面找到我们要进行转移的域名。

    +

    Snip20190305_7.png

    +

    点管理按钮。然后在打开的页面最底部,找到『转出域名』。

    +

    Snip20190305_8.png

    +

    接着点击『获取转移码』,稍后转移码会发到你的邮箱中,请注意查收,收到转移码之后,腾讯这边的操作就告一段落了,我们接下来去Godaddy进行域名转入设置。

    +

    注册并登录Godaddy,语言切换到简体中文,在首页导航栏中选择『域名』,然后选择『域名转移』。

    +

    Snip20190305_10.png

    +

    输入你要转移的域名,然后点击『搜索』。

    +

    Snip20190305_11.png

    +

    然后在接下来的页面输入你获取到的域名转移码,点击『继续』,如果一切顺利的话系统会要求你付款,因为在转移域名的时候,新的域名注册商会收取一部分手续费以及域名下一年的注册费。因为我已经转移成功了,就不再上传付款页面的截图了,我是用支付宝付的款,最后折合成人民币大约58块钱左右。

    +

    付款完成之后需要等待3-7天,域名就会转移到Godaddy了,以后域名的解析管理和续费操作就可以在Godaddy来操作了。

    +

    Snip20190305_12.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/19/index.html b/page/19/index.html new file mode 100644 index 0000000000..7a40c90ec4 --- /dev/null +++ b/page/19/index.html @@ -0,0 +1,920 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    苹果最新的Mac OS 10.14 系统取消了对AR9285系列网卡驱动的支持,所以我们需要手动添加驱动才能使用AR9285无线网卡,下面来介绍如何在Mac OS 1014中添加AR9285的网卡驱动。

    +

    下载附件中的压缩包并解压,得到AirPortAtheros40.kext文件,打开/SYSTEM/LIBRARY/EXTENSIONS,找到IO80211Family.kext文件,显示包内容,打开contents/Plugins,将解压到的文件复制到这个文件夹。

    +

    然后在终端中输入

    +
    sudo touch /System/Library/Extensions/ && sudo kextcache -u /
    +
    +

    重新建立缓存即可完成AR9285无线网卡在MAC OS 10.14中的驱动安装。

    +

    参考内容https://forum.51nb.com/forum.php?mod=viewthread&tid=1857633

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    今天将hass升级到最新的0.86.3.之后,系统提示自动化有错误,具体报错信息如下:

    + + +
    Invalid config for [automation]: [minutes] is an invalid option for [automation].
    +
    + + +

    查阅官方更新日志后得知,最新版本的hass新增了名为"time_pattern"的platform,而之前版本中的自动化一律使用的是名为"time"的platform。

    + + +

    那么什么时候用"time",什么时候用"time_pattern"呢?

    + + +

    如果你的自动化使用的是具体的绝对时间,也就是有详细的时分秒的时候,使用"time",比如:

    + + +
    automation:
    +  trigger:
    +    platform: time
    +    # Military time format. This trigger will fire at 3:32 PM
    +    at: '15:32:00'
    +
    + + +

    如果你的自动化使用的是相对时间,那么就应该使用"time_pattern",比如:

    + + +
    automation 2:
    +  trigger:
    +    platform: time_pattern
    +    # Trigger once per minute during the hour of 3
    +    hours: '3'
    +    minutes: '*'
    +
    + + +

    然后把自动化中使用相对时间的platform改为"time_pattern"之后,之前的报错就消失了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近我的一个域名被DNS污染了,之前一直在DnsPod做解析,发现被污染之后转到了万网自带的解析服务,问题依然没有解决。于是我开始寻找国外免费的域名解析服务商。

    +

    其实国外大型的域名注册商都提供免费的域名解析服务,允许在第三方注册的域名使用他们的解析服务,比如Godaddy和NameCheap。

    +

    因为我直接在Godaddy注册的域名被盗过,而且还没有找回,所以对Godaddy没有了好感。这次我选择使用NameCheap的免费域名解析服务。

    +

    TIM截图20190103101540.jpg

    +

    首先去NameCheap官网注册一个账户,然后选择FreeDNS服务,添加你的域名,添加之后系统会给你列出NameCheap的5个NS服务器地址,你需要前往你的域名注册商那里将域名的NS服务器地址设置为上面列出的地址。

    +

    TIM截图20190103101752.jpg

    +

    等待大约5-10分钟更改就会生效,生效之后就可以在NameCheap来进行域名解析了。

    +

    我的域名在换到Namecheap做解析之后,之前出现的DNS污染问题也得到了解决。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Padavan固件内置了很多DDNS服务商,但唯独没有我们日常使用较多的Oray花生壳,下面我将教大家如何再Padavan系统中使用花生壳DDNS实现远程登陆我们的路由器管理页面。

    +

    登陆路由器,前往【高级设置】-【外部网络】-【动态域名解析】

    +

    在"服务器"一栏中选择"custom",“DDNS服务器"中输入"ddns.oray.com”,然后填入你在花生壳注册的域名,以及你的花生壳账户及密码,最后保存页面设置。

    +

    TIM截图20181229084749.jpg

    +

    然后我们切换到"端口转发"选项卡,把路由器的80端口转发到任意一个其他端口,下面图片里我将路由器的80端口转发到了1234端口,大家可以将1234换为自己喜欢的端口。

    +

    TIM截图20181229085041.jpg

    +

    保存设置之后,我们在远程访问http://花生壳域名:1234 就可以访问到我们的路由器管理界面了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    之前家里用的主路由器是刷了Padavan固件的联想NEWIFI Y1S,前几天在闲鱼上收了一台NEWIFI 3,想着把主路由换成NEWIFI3,但是想想换了新路由之后还要重新设置宽带连接账号、内网IP地址绑定、SS、DNSPOD、端口转发、DMZ等等一大堆的操作,感觉好头疼。所以更换路由器的工作就拖了下来,等找到宽裕点的时间再换。

    +

    就在昨天我更新路由器固件版本的时候,突然发现Padavan居然可以一键导出配置及脚本,顿时豁然开朗,这不正好解决了我的痛点?

    +

    如果你和我一样要更换路由器,碰巧新旧路由器都是padavan系统,跟着我的步骤一起来操作吧,可以实现路由器无痛升级。

    +

    1.如何备份

    +

    TIM截图20181228171704.jpg

    +

    进入旧路由器的管理页面,依次进入【高级设置】-【系统管理】-【恢复/导出/上传设置】,将设置的备份及脚本的备份下载到本地电脑上。

    +

    TIM截图20181228191927.png

    +

    2.如何恢复

    +

    和上面的步骤一样,将下载到本地的备份上传到路由器,然后保存设置就可以。

    +

    操作完成之后,旧路由器的所有设置和脚本都会导入到新路由器中,包括LAN口地址、管理员账户密码、宽带连接账号密码、局域网IP地址表、SS、DNSPOD等等。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 0000000000..567bff10ef --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,889 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    昨晚科技圈有点热闹,苹果和小米都发布了各自的新品,苹果最近一段时间新品频发,iPad mini 7,M4芯片的新款iMac,还有昨晚发布的更小尺寸的基于M4芯片的Mac mini,其中除了Mac mini外观和尺寸有明显变化外,其他升级都只能算是挤牙膏式的常规升级,苹果估计也觉得没必要单独开发布会的必要了。
    +image.png

    +

    转到小米这边,昨晚一口气发布了澎湃OS2操作系统、小米15系列手机以及小米SU7 Ultra高性能四门超跑汽车。当然其中最引人关注的还是小米SU7 Ultra,官方给出的数据百米加速2秒内,号称是地表最快的四门量产车。小米SU7 Ultra预售价格为81.49万元,明年3月份正式开售。虽然咱们普通人看上去80W很贵,但是看了参数及外观图片之后,还是觉得小米SU7 Ultra性价比是很高的。然后早上翻看小米官网介绍的时候发现,小米居然在车身配备了40W的外置扬声器,内置三种音效,可模拟超跑加速音浪。👍看来小米还是最懂年轻人的。不知道小米会不会在后续的OTA升级中加入更多的音效呢?😛
    +image.png

    +

    详细的参数及精美图片视频移步SU7官网查看小米汽车
    +那如果你有80W预算买车,会选择小米SU7 Ultra吗?🤑
    +另外忘了说了,两个厂家昨天还有一次隔空互动😍。新的澎拜OS2支持小米手机在苹果的Mac OS上投屏,并支持操控,就像小米笔记本那样,也支持与iPhone间共享图片和文件,实现这些功能的前提是需要在Mac或是iPhone上安装名为小米互联服务的APP。
    +image.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Follow是最近很热门的一款RSS订阅器,虽说是热门,但也仅限于所谓的极客圈吧。目前RSS已经被人忘却很多年了,新兴一代好像都不清楚RSS是什么东西。似乎只有在十几年前写博客的元老们才了解RSS为何物。还记得最后一次使用的RSS订阅器还是Google Reader那时还是上高中或大学的时候,06-10年左右吧。可惜谷歌早已放弃了这个项目,之后随着微博等自媒体的兴起,也就没有再用其他RSS订阅器的机会了,虽然也有一些类RSS订阅器做的还不错,比如flipboard,但终究RSS已经成了一个小众领域。
    +image.png

    +

    Follow官网Follow

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    经过一个星期的测试,利用青龙面板定时执行pm2 resurrect 能持续保持任务运行。

    +

    serv00上面的设置

    +

    首先你需要在serv00上面安装PM2命令,具体方法可以参考我的上一篇文章(serv00安装PM2守护程序及应用保活测试 | 渊澄
    +然后将你所有需要后台保持的应用使用pm2命令启动。
    +使用pm2 list查看所有任务是否已启动,确认无误之后使用pm2 save保存当前进度。

    +

    青龙面板相关设置

    +

    请确保青龙面板已搭建成功并正常运行。
    +首先需要安装Linux sshpass依赖。
    +image.png

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    image.png

    +

    最近几天抽空建了一个视频网站,用的是苹果cmsV10搭建的。视频数据主要采集各资源平台的m3u8格式。
    +目前基本功能都已经测试完毕,正式开放公测。
    +公测期间注册会员可观看全部视频资源。游客会限制部分分类的观看。
    +公测时间截止到2024年12月31日。bug反馈或是片源需求可在站内留言板中留言。
    +站点地址: https://v.ycyc.win

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    楔子

    +

    何为内网穿透,简单来说就是在公网可以直接访问到你在内网搭建的各种服务。
    +起初是我前两天在serv00搭建了alist,并且把原本在openwrt上面搭建的数据都迁移了过去。今天发现上面挂载的国内网盘(百度、阿里云及115)都加载不出来,全部显示timeout超时,cloudflare的R2存储可以正常打开。而我之前挂载在openwrt上面的却能正常访问,想想可能是serv00对访问国内网盘的api有做限制或是国内网盘限制从serv00服务器登录?所以我还是想着把挂在openwrt上的Alist开放出来做存储站点附件的网盘用,因为在serv00上的alist地址不带端口,所以就想到了做内网穿透。

    +

    传统DDNS设置

    +

    对于普通家用宽带用户来说,一般需要做DDNS域名+端口的形式来访问内网服务,当然这个前提是你家宽带获取到了公网IP。这个方法也是我目前常用的方法,一般的操作步骤如下:
    +1.在主路由添加并设置DDNS服务,常用的DDNS服务商是花生壳。首先你需要先去花生壳注册一个账户,还要注册一个壳域名。然后在路由器相关界面输入账号和域名信息。目前国内主流的路由器基本上都内置了oray花生壳的ddns服务。
    +image.png

    +

    2.在主路由添加NAT端口映射服务,设置外部访问端口,这里内部端口和外部端口可以不一致。内部端口是你内网环境下该服务使用的端口,而外部端口是你希望在外网环境下访问该服务使用的端口。目前国内运营商基本上都封禁了类似于80、443、21、22等常用的端口,所以我们如果需要外网访问这些端口服务的话,就需要将这些端口映射成其他不同的端口。
    +image.png

    +

    这样设置完之后就可以通过ddns域名+外部访问端口来访问对应的服务了。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/20/index.html b/page/20/index.html new file mode 100644 index 0000000000..5f0065d302 --- /dev/null +++ b/page/20/index.html @@ -0,0 +1,907 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前几天在闲鱼出掉了之前使用的NAS主板,因为在使用过程中发现,安装黑群晖之后在进行图片转码和播放影片时,CPU占用率很高,所以想着换一块性能更好一些的主板,然后这次再次把目光锁定在了网红NAS专用主板-华擎J3455ITX。

    +

    今天在闲鱼上搜索J3455的时候,找到一个卖家在出售回收回来的暴风播酷云,自带J3455ITX主板,8GB笔记本内存,16GB SSD硬盘加电源,关键是还有万由代工的双盘位机箱,加运费算下来一共710块大洋。

    +

    TIM截图20181221162058.jpg

    +

    因为买的人比较多,所以卖家在付款两天后才会发货,等收到货之后我会写一篇文章简单介绍一下这个主机,以及安装黑群晖系统的步骤。

    +

    因为家里下个月宽带会升到300M,所以我最近也买了新路由3还有千兆网线、水晶头,等到时候所有设备都准备就绪之后,我再来测试一下家庭千兆网络环境下的网速究竟能有多快。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天给准备装修的小伙伴分享一些在装修过程中可能遇到与网络或是智能相关问题的小贴士,供大家参考。

    +

    1.网线选择

    +

    最好选择正规厂家的CAT6六类网线,也就是网线中有十字骨架的那种网线。

    +

    目前家庭宽带接入普遍已经达到了100M,有的地区甚至达到了500M以上,而我们日常见到的网线一般都是五类线(CAT5)或是超五类线(CAT5E),五类线属于百兆线,理论传输速度只能达到100M。也就是说我们虽然在电信运营商那里办理的是300M的宽带,但由于家里的网线没有达到千兆标准,加上网线质量的因素,实际我们能享受到的网速只有70-80M左右。目前能达到千兆及以上传输速度的网线有超五类、六类及七类网线。虽然超五类线理论可以达到千兆网速,但是受到水晶头质量以及面板模块质量的影响,也不能完全保证能达到千兆。所以我建议大家在选择网线的时候尽量选择六类网线,如果预算有限,那也一定要选择正规厂家的超五类线。为什么不建议选择七类网线,是因为目前七类网线价格比较而言性价比不高,加之其配套的水晶头、网络模块需要用专业的工具来制作,对制作水准要求比较高,所以目前不推荐个人用户在布线的时候选择七类网线。

    +

    还有一点需要注意,六类网线分为屏蔽网线和非屏蔽网线,在家庭环境中我们只要选择非屏蔽网线就好了,没必要选择带屏蔽的网线。

    +

    2.设备的选择

    +

    虽然我们的网线支持了千兆,我们的路由器及交换机也要选择千兆接口的才可以,这里说的千兆接口是指设备的硬件WAN口及LAN口。

    +

    如果家里面的房间较多,平米数较大,需要做无线覆盖,我们要根据房间数量选择带POE供电的交换机来给各个房间的AP面板来供电。

    +

    3.布线中需要注意的问题

    +
      +
    1. 每个房间都要尽量留有网线到弱电箱,以便以后做无线覆盖用,当然厕所除外。
    2. +
    3. 书房要至少留两根网线到弱电箱,一根接AP面板,一根接台式电脑。
    4. +
    5. 卧室电视墙也要留一根网线,以便以后接IPTV用。
    6. +
    7. 客厅电视墙至少要留三根网线,一根接IPTV,一根接主路由器,另一根回弱电箱内的交换机。
    8. +
    9. 弱电箱一定要留有220V电源。
    10. +
    11. 有线电缆基本上淘汰了,装修中可以不考虑。
    12. +
    +

    4.后期加装智能需要注意的地方

    +

    智能家居是个趋势,为了以后改造方便,每个开关底盒内要留有零线,窗帘盒内要预留有220V电源,无线覆盖一定要做好。

    +

    目前暂时想到的就上面一些,以后会继续做补充。

    +

    最后总结一下,网线尽量选择六类线,家中的所有网线都回弱电箱,客厅电视墙至少留有三根网线,如果有可能改造弱电箱,尺寸尽可能做大,因为弱电箱里的东西会比较多,除了电信的光猫,还会有POE交换机,如果AP数量多了,还需要AC控制器,后期如果加装智能,还需要容纳智能主机。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    KMPlayer是来自韩国的一款视频播放器,可以播放包括MKV、AVI、MP4在内的多种格式的视频文件。

    +

    TIM截图20181215211734.png

    +

    之前没有发现,这个播放器还可以播放YouTube视频,只需要复制YouTube的视频地址,用KMPlayer打开即可播放。

    +

    今天要提到的是,KMPlayer居然还可以下载Youtube上的视频哦。播放器左下角有个"下载"的图标,打开它,把视频地址复制进去,选择你要下载的视频格式及分辨率,然后选择保存位置,就可以开始下载了。

    +

    TIM截图20181215210306.png

    +

    当然,以上播放和下载YouTube视频的前提是你的网络环境支持科学上网。

    +

    KMPlayer播放器官网http://www.kmplayer.com/

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    没错,最新版的HomeAssistant0.84版本中再次更新了Lovelace的配置方式,如果你之前配置并使用过Lovelace模式,下面我将演示一下如何在0.84版本中导入之前的Lovelace配置并启用全新的"半可视化"Lovelace配置模式。

    +

    请确保你的HomeAssistant已经升级到了0.84版本以上,确保你的配置文件夹根目录下有之前配置过的lovelace.yaml文件。

    +

    切换到Lovelace模式下,在右上角的下拉菜单中选中"配置UI",然后在弹出的对话框中选择"自己配置"。

    +

    TIM截图20181228094315.jpg

    +

    接着我们能在之前的下拉菜单中找到"Raw config editor"

    +

    TIM截图20181228094129.jpg

    +

    然后我们把之前配置过的lovelace.yaml文件中的所有内容复制到当前页面,并在右上角点"SAVE"保存。

    +

    TIM截图20181228094047.jpg

    +

    现在我们已经把之前配置过的Lovelace导入到新版本中了。

    +

    这样你可以再次点击"配置UI"来使用全新的可视化模式来配置Lovelace界面了。

    +

    如果你还是喜欢用yaml文件的方式来配置Lovelace界面,只需要将下面的字段插入到主配置文件中。

    + + +
    lovelace:
    +  mode: yaml
    +
    + + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天我在ifttt新建了三个自动同步应用,如果Wordpress有新文章发布,更新消息将会自动在twitter以及新浪微博发送一条更新通知,并会在印象笔记同步一条以文章为内容的笔记。

    +

    TIM截图20181213191941.png

    +

    TIM截图20181213191827.png

    +

    设置起来很简单,只需将你的各种平台的账号信息授权给ifttt,然后根据提示一步一步傻瓜式操作就可以了。

    +

    现在我们来测试一下同步效果吧。

    +

    经过测试及长时间的等待,Wordpress同步到Twitter及印象笔记均可以正常工作,但是无法同步到新浪微博,据网友反馈说,新浪微博早已关闭了来自ifttt的同步请求。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/21/index.html b/page/21/index.html new file mode 100644 index 0000000000..4e7c790e40 --- /dev/null +++ b/page/21/index.html @@ -0,0 +1,1061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    刚刚收到了Wordpress推送的5.0版本更新。

    +

    不出意外,这次WordPress强推了全新的古腾堡编辑器,经过几次版本更新,现在的古腾堡编辑器已经可以让使用者愉快的编辑文字了。

    +
    而且无须插件可以较为方便的插入代码。
    +
    +

    目前编辑器的汉化工作还不是很完善,可以说是基本上没有汉化,英文不是很好的朋友上收起来还是有点困难的,好像现在Wordpress官方的汉化工作也迟迟没有推进,除了古腾堡编辑器,WordPress主程序也有好几处没有汉化到位。

    +

    ####12月11日更新####

    +

    就在刚刚收到了5.0的中文汉化更新,之前WordPress主程序未汉化的部分也得到了汉化,赞一个。

    +

    TIM截图20181211173924.jpg

    +

    想退回使用原来的编辑器怎么办?后台搜索插件classic-editor安装应用,就可以回到原先的经典编辑器了,据官方介绍说该经典编辑器仅支持到2021年。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    近日,苹果升级了智能音箱HomePod的固件,使其终于能够支持中文了,同步支持的语言还包括广东话。

    +

    而苹果中国官网也随即挂出了国行HomePod的页面,有白色和深空灰两种配色,售价均为2799元人民币,预计会在2019年初开放购买。

    +

    TIM截图20181206135234.jpg

    +

    HomePod是苹果公司发布的一款互联网智能音箱,内置自家的Siri语音助手,配合iPhone手机及Apple Music账户可以实现信息查询、播放音乐、接打电话、AirPlay等功能,配合家庭APP及HomeKit配件,可以实现智能家庭的语音控制。

    +

    HomePod同时也支持多台HomePod串联,组成多声道音响系统,也支持多个HomePod播放不同的内容,组成家庭背景音乐系统。

    +

    目前国内的各品牌智能音箱,无论从外观、功能及音质方面,都无法和HomePod直接竞争,当然也包括价格,而随着HomePod国行版的正式发售,苹果在国内的智能音箱及智能家居领域,必会有所斩获,毕竟苹果的用户体验是有目共睹的。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    在最新的HomeAssistant0.83版本中,对小米无线开关、Aqara墙壁无线开关及魔方的自动化触发语句做了修改,大家可以按照下面的示例来进行相应的修改。

    +

    小米无线开关

    +
    - alias: Toggle dining light on single press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: single
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_left_158d000xxxxx01
    +- alias: Toggle couch light on double click
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: double
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_right_158d000xxxxx01
    +- alias: Let a dog bark on long press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: long_click_press
    +  action:
    +    service: xiaomi_aqara.play_ringtone
    +    data:
    +      gw_mac: xxxxxxxxxxxx
    +      ringtone_id: 8
    +      ringtone_vol: 8
    +
    +

    Aqara墙壁无线开关

    +
    - alias: Decrease brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60 >= 10 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Increase brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60 <= 255 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Turn off the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
    +      click_type: both
    +  action:
    +    service: light.turn_off
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +
    +

    小米魔方

    +
    - alias: Cube event flip90
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip90
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "springgreen"
    +- alias: Cube event flip180
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip180
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "darkviolet"
    +- alias: Cube event move
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: move
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "gold"
    +- alias: Cube event tap_twice
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: tap_twice
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "deepskyblue"
    +- alias: Cube event shake_air
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: shake_air
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "blue"
    +
    +

    Aqara震动传感器

    +
    - alias: Turn on Living Room Lamp on vibration
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: vibrate
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +- alias: Turn on Living Room Lamp on tilt
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: tilt
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +
    +

     

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    OneDrive是微软推出得一款免费云盘服务,之前叫做Skydrive。不同于Google Drive以及百度云盘,OneDrive可以和最新得Windows10操作系统深度集成,只需在Windows10系统中登陆你得微软账户,即可实时同步,非常适合Windows用户来同步和备份一些重要的数据,而且OneDrive的各项功能目前在国内可以正常使用。

    +

    微软提供为OneDrive免费账户提供15GB得存储空间,如果你觉得空间不够用微软也推出了收费扩容服务,价格如下:

    +

    TIM截图20181204140905.jpg

    +

    除了与office打包,单独购买50GB的空间每月需要15块钱。

    +

    如果你和我一样,舍不得花钱,但又觉得15GB不够用,那你可以邀请好友来注册激活OneDrive服务,成功邀请一位好友,你和你的好友都可获得0.5GB的扩容,最多可获得10GB的扩容空间,也就是说,你成功邀请了20位好友注册激活OneDrive,你的存储空间就会升级到25GB。
    +TIM截图20181204141234.jpg

    +

    下面是我的邀请链接,还没有注册OneDrive的的朋友点击一下链接,你和我都会另外获得0.5GB的扩容哦!

    +

    https://onedrive.live.com?invref=2201fc6079f823f2&invscr=90

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    TIM截图20181119140137.jpg

    +

    是的,全新的SS之家上线了,助力您畅游互联网,无痛点访问谷歌、YouTube、Facebook、Instagram,YouTube实测1080无压力。

    +

    支持Android、iOS手机,Windows、Mac电脑,LEDE、梅林、Padavan路由器。

    +

    免费套餐也同时上线,每月赠送1GB流量,每日签到另外可得最多50MB流量,可连接普通节点,不限终端数量。

    +

    其他包月、包年套餐可以移步网站查看。

    +

    即日起至11月30日为内测期,期间所有套餐均可享受5折优惠。

    +

    TIM截图20181119140202.jpg

    +

    具体套餐详情及购买方式请Q312780013。

    +

    SS之家网址 HTTPS://SSHOME.WIN

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/22/index.html b/page/22/index.html new file mode 100644 index 0000000000..8bd64d284e --- /dev/null +++ b/page/22/index.html @@ -0,0 +1,1003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    宝塔面板可以运行在各类Linux系统中,方便我们搭建和管理网站。现在演示一下如何在GoogleCloud中安装宝塔面板。

    +

    首先我们进入Compute Engine中创建一个VM实例,为了尽可能的提升访问速度,我们将区域选择为香港。,启动磁盘选择Centos7。

    +

    TIM截图20181102140908.jpg

    +

    创建时在防火墙中勾选允许HTTP及HTTPS流量。

    +

    TIM截图20181102140930.jpg

    +

    接着我们进入VPC网络,在外部IP地址中我们将"临时"改为"静态"。

    +

    TIM截图20181102141251.jpg

    +

    在防火墙规则中,我们将出入站的所有端口及协议开放,并应用到所有实例。

    +

    TIM截图20181102141349.jpg

    +

    之后我们用SSH登陆到我们创建的VM实例,

    +

    TIM截图20181102141447.jpg

    +

    并运行以下命令进行安装:

    +
    sudo su
    +
    +yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
    +
    +

    根据提示选择安装功能,等安装结束会提示面板登陆地址、用户名及密码。

    +

    我们根据给出的安装信息就可以登陆到面板来创建和管理网站了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    KMS服务器可以用来激活VOL版本(俗称大客户版本)的Windows系统及Office办公软件。

    +

    每次激活可用180天,如果KMS服务器不瘫痪,到期后会自动续期,所以也算是永久激活。

    +

    如需使用KMS服务器来激活,记得下载和安装VOL版本的Windows及Office,大家可以去【msdn我告诉你】搜索下载。

    +

    我的KMS服务器是搭建在家里的路由器上面的,地址是 home.miaoyang.win,目前可以保证其稳定性,如果因服务器问题出现无法激活的状态,我会尽快解决。

    +

    切记以管理员身份运行CMD!

    +

    1、Office 手动激活命令:

    +
    cd C:\Program Files\Microsoft Office\Office16(Office 安装目录,32位和64位的安装目录不同,以你的安装目录为准)
    +cscript ospp.vbs /sethst:home.miaoyang.win
    +cscript ospp.vbs /act
    +cscript ospp.vbs /dstatus
    +
    +

    2、Windows 手动激活命令:

    +
    slmgr.vbs /skms home.miaoyang.win:1688
    +slmgr.vbs /ato
    +slmgr.vbs /xpr
    +
    +

    切记下载VOL大客户版本的windows及office,VOL版本的镜像名一般是以SW开头且文件名中一般含有VL字样。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天给客户安装中晶的FS3125S扫描仪,在网上找了一圈也没下载到驱动,现在从机器自带的光盘里拷贝了一份,上传到了百度云,有需要的朋友可以前往下载。该驱动支持winXP到win10。

    +

    xc6981855.jpg

    + +

    [reply]123[/reply]

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Homeassistant在2018年10月27日编译了最新的hassbian镜像,将镜像直接写入树莓派的TF卡即可自动安装Homeassistant,并支持hassbian-config脚本来安装其他组件,适合手头有树莓派的朋友快速安装Homeassistant系统。

    +

    该镜像有1.86GB,下载后无需解压,可用win32diskimager等软件直接将img文件写入TF卡,然后树莓派连接网线,通电启动,整个安装过程视网速而定,大约需要10-20分钟不等。如需设置WIFI等信息,可用Putty登入(默认用户为pi,密码为raspberry),然后执行sudo rasp-config来进行设置。

    +

    Github下载地址:https://github.com/home-assistant/pi-gen/releases/latest

    +

    稍后我会将镜像上传到百度盘,方便国内朋友下载。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    我使用的是orange pi zero 512M的版本,其他版本的orange pi 类似。

    + + +

    首先前往armbian网站下载最新版的Debian_stretch镜像并写入TF卡,将机器接入网线然后通电开机。

    + + +

    登录路由器或手机下载Fing软件,找到orange pi的IP地址,然后用Putty登录root账户,默认密码是1234。

    + + +

    首次登录系统会要求修改root密码以及创建一个新用户(下面以pi用户名为例进行演示),我们根据提示进行操作就可以了。

    + + +

    接下来我们输入armbian-config命令来进行连接WIFI,修改时区,修改网络名称,禁用IPV6等操作,根据菜单提示一步一步进行即可。设置完之后我们reboot一次机器。

    + + +

    等机器重启完之后我们用root登录,然后进行以下操作:

    + + +
    apt update
    +apt upgrade -y
    +apt install sudo net-tools -y
    +
    + + +

    将我们创建的用户加入到sudo组

    +
    nano /etc/sudoers
    +
    +

    将pi ALL=NOPASSWD: ALL插入到相应位置。

    +

    然后我们切换到之前创建的pi用户来进行下面的操作

    +
    su pi
    +sudo apt install wget screen git curl -y
    +sudo wget https://github.com/home-assistant/hassbian-scripts/releases/download/v0.6/hassbian-scripts_0.6.deb
    +sudo apt install bluetooth avahi-daemon python3-venv  python3-pip python3-dev libbluetooth-dev build-essential libssl-dev libffi-dev  python-dev libudev-dev -y
    +sudo dpkg -i  hassbian-scripts_0.6.deb;
    +sudo hassbian-config show;
    +sudo mv /opt/hassbian/suites/install_homeassistant.sh /opt/hassbian/suites/install_homeassistant.sh.bak
    +sudo nano /opt/hassbian/suites/install_homeassistant.sh
    +
    +

    然后复制以下内容并保存退出:

    +
    #!/bin/bash
    +function homeassistant-show-short-info {
    +    echo "Home Assistant install script for Hassbian"
    +}
    +function homeassistant-show-long-info {
    +    echo "Installs the base homeassistant package onto this system."
    +}
    +function homeassistant-show-copyright-info {
    +    echo "Copyright(c) 2017 Fredrik Lindqvist <https://github.com/Landrash>";
    +}
    +function homeassistant-install-package {
    +homeassistant-show-short-info
    +homeassistant-show-copyright-info
    +echo "Changing to the homeassistant user"
    +sudo adduser --system homeassistant
    +sudo addgroup homeassistant
    +sudo chown -R homeassistant:homeassistant /srv/homeassistant
    +sudo su -s /bin/bash homeassistant
    +echo "Creating Home Assistant venv"
    +python3 -m venv /srv/homeassistant
    +echo "Changing to Home Assistant venv"
    +source /srv/homeassistant/bin/activate
    +echo "Installing latest version of Home Assistant"
    +pip3 install pip==18.1 netdisco setuptools wheel
    +pip3 install homeassistant
    +echo "Deactivating virtualenv"
    +deactivate
    +EOF
    +echo "Enabling Home Assistant service"
    +systemctl enable home-assistant@homeassistant.service
    +sync
    +echo "Disabling the Home Assistant install script"
    +systemctl disable install_homeassistant
    +systemctl daemon-reload
    +echo "Starting Home Assistant"
    +systemctl start home-assistant@homeassistant.service
    +cd
    +ip_address=$(ifconfig ' awk -F':' '/inet addr/&&!/127.0.0.1/{split($2,_," ");print _[1]}')
    +echo
    +echo "Installation done."
    +echo
    +echo "Your Home Assistant installation is running at $ip_address:8123 or if prefered http://hassbian.local:8123";
    +echo
    +echo "To continue have a look at https://home-assistant.io/getting-started/configuration/";
    +echo
    +echo "If this script failed then this Raspberry Pi most likely did not have a fully functioning internet connection."
    +echo "If you have issues with this script, please say something in the #Hassbian channel on Discord."
    +echo
    +return 0
    +}
    +# Make this script function as it always has if run standalone, rather than issue a warning and do nothing.
    +[[ $0 == "$BASH_SOURCE" ]] && homeassistant-install-package
    +
    +

    接下来运行

    +
    sudo hassbian-config install homeassistant
    +
    +

    等停止之后输入

    +
    exit
    +
    +

    安装会继续进行。

    +

    等到安装结束之后运行下面命令:

    +
    sudo chown -R homeassistant:homeassistant /srv/homeassistant;
    +sudo systemctl stop home-assistant@homeassistant.service;
    +sudo su -s /bin/bash homeassistant;
    +source /srv/homeassistant/bin/activate;
    +hass
    +
    +

    直到我们能正常打开orange pi ip:8123看到网页,整个安装过程结束。

    +

    之后我们可以使用sudo hassbian-config show来安装samba、mqtt等服务。

    +

     

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/23/index.html b/page/23/index.html new file mode 100644 index 0000000000..39dc13bb0a --- /dev/null +++ b/page/23/index.html @@ -0,0 +1,976 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近在各大论坛出镜率很高的斐讯N1天天链应该算是目前性价比最高的盒子了。这款盒子原先是斐讯推出的一款可以挖矿的盒子,现在矿塌了,大神们就开始研究这货究竟还有什么用。

    +

    斐讯N1采用S905处理器,2GB的内存,8GB的EMMC存储,千兆网口,购买一个挖矿退下来的二手机器,价格应该不超过80块钱。目前这款盒子经过刷机改造之后可以作为一款配置不出的Android电视盒子来用,也可以刷入Ambian来跑Ubuntu或是Debian等Linux系统。

    +
    +

    今天根据论坛大神们的教程来教大家如何将N1盒子刷成Android电视盒子。

    +

    首先我们将买回来的盒子连接HDMI线及网线,然后接通电源开机;

    + + +

    接入鼠标点击系统版本,直到屏幕提示"ADB打开"字样;

    + + +

    接着我们运行附件里面的"连接盒子"脚本,输入盒子获取到的IP地址;

    + + +

    盒子重启之后我们点击"降级"脚本,对盒子进行降级,降级完成之后我们点击"降级完成"按钮,盒子会自动重启;

    + + +

    然后我们用双公头USB线连接盒子和电脑(盒子上使用靠近HDMI的USB口),电脑上安装USB_Burning_Tool软件,并导入.img烧录包,软件右边将"擦出flash"打勾,其余不打勾,然后点击"开始"按钮;

    + + +

    接着我们运行"盒子进入刷机模式"脚本,windows会自动发现新设备,
    +USB_Burning_Tool会自动开始刷机;

    + + +

    等提示刷机完成之后,我们点击"停止"按钮,然后断开USB连接,重新插拔盒子电源线;

    + + +

    盒子第一次启动大约需要1-2分钟时间,请耐心等待,之后我们就会进去刷好的Android系统了,我们可以选择"当贝桌面"作为默认桌面软件,在当贝市场中可以随意下载自己喜欢的APP,具体的操作我就不细说了,和其他盒子类似。

    + + +

    最后强调一下,盒子不带遥控器,我们可以在淘宝上购买20块包邮的高仿小米的蓝牙遥控器,也可以购买斐讯T1的原装遥控器,当然也可以直接使用无线鼠标操作。

    + + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    目前宜家官网(https://www.ikea.cn/cn/zh/)已开通网上商城服务,可配送的城市已由之前的34个扩展到149个,覆盖国内大部分一二三线城市,而我所在的太原也赫然在列。(具体覆盖城市点这里查看

    +

    management-theory-and-IKEA.jpg

    +

    其实自己也算是半个宜家粉,因为所在城市没有宜家家居,之前购买宜家的东西都是通过淘宝代购。

    +

    我试着在宜家网上商城下了两个订单,如果只是小件物品的话,运费只需要9.9元/单,大件家具的话只能通过货车运送,运费应该是最低69元。配送时限方面,小件物品一般会在3天内送达,大件物品需要7个工作日左右。

    +

    具体的购物流程我就不写了,和大部分网上商城一样,先注册账户,然后商品加入购物车,最后结账付款。需要注意的是订货之前必须查到你的收货地址的邮编,因为宜家是按照邮编来计算运费的,付款方面支持微信及支付宝。

    +

    购物的时候记得加入会员俱乐部,会员不仅能享受部分商品的会员价,退货时限延长到365天,凭会员卡好像还可以在宜家商场喝免费咖啡哈。

    +

    PS:刚刚接到京东物流的电话,说快递分发错站点了,明天就会送过来。
    +所以推断宜家的快递用的应该是京东物流,至少山西太原是用京东物流来配送,昨天中午下的单今天就送来了,给京东物流点个赞。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    对于配置较低的VPS主机,我们可以通过适当增加swap交换分区的大小来提高主机的性能。下面以搬瓦工ubuntu14.04系统进行操作。

    + + +

    1.查看当前swap分区大小

    + + +
    free -h
    +
    + + +

    2.删除swap分区

    + + +
    swapoff -a
    +
    + + +

    3.创建新的swap分区

    + + +
    dd if=/dev/zero of=/root/swapfile bs=1M count=1024
    +
    + + +

    修改count后面的数字来调整swap分区的大小,现在以1GB为例。

    + + +

    4.格式化分区

    + + +
    mkswap /root/swapfile
    +
    + + +

    5.启用分区

    + + +
    swapon /root/swapfile
    +
    + + +

    6.添加开机启动

    + + +
    nano /etc/fstab
    +
    + + +

    加入下面一行命令

    + + +
    /root/swapfile swap swap defaults 0 0
    +
    + + +

    7.再次查看swap分区大小

    + + +
    free -h
    +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    刚刚重装了VPS系统,分享一下如何备份和还原WordPress的数据。

    + + +

    首先我们需要将数据库进行备份,登陆PHPMYADMIN,然后找到WordPress所在的数据库,找到"导出"选项卡,将数据库备份下载到本地。

    +

    微信截图_20180814154750.png

    +

    接着我们用FTP工具登陆到网站目录,可以备份整个目录,也可以只备份wp-content文件夹,因为这个文件夹存放着我们上传的主题、插件及图片附件等文件。

    + + +

    备份完成之后我们介绍一下如何还原。

    + + +

    从wordpress官网下载最新版本的程序,然后上传到空间,接着新建一个数据库,名称随意,可以使用之前的名称,也可以使用新名称。然后在PHPMYADMIN中找到"导入"选项卡,将我们之前下载到本地的数据库备份文件上传导入。

    +

    微信截图_20180814155528.png

    +

    然后我们用FTP工具将之前备份的wp-content文件夹上传覆盖。在根目录下将wp-config-sample.php文件复制一份并重命名为wp-config.php。编辑wp-config.php文件,填入数据库地址、名称、用户名及密码,然后保存。

    + + +

    至此,WordPress的备份及还原工作结束。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    Jun最新的黑群晖引导已升级到了1.03b版本,支持最新的DSM6.2系统。支持3615及3617两个型号。

    + + +

    全新安装应该没有太大问题,稍后我会在现有的6.1系统上进行升级测试。

    + + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/24/index.html b/page/24/index.html new file mode 100644 index 0000000000..c52afac7c0 --- /dev/null +++ b/page/24/index.html @@ -0,0 +1,885 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    这篇文字是用全新的WordPress文章编辑器Gutenberg编写的。

    +

    接下来插入一张图片看看效果。

    +

    Snipaste_2018-08-05_09-03-34.png

    +

    与之前的默认编辑器相比,Gutenberg使用更加灵活,可以随意在任何地方插入任何东西。

    +

    Snipaste_2018-08-05_09-05-32.png

    +

    甚至是插入小工具。

    +

    亦或是Twitter账户的最新动态。

    + + +
    +http://twitter.com/miaoyanginfo +
    + + +

    好了,发布一下看看最后的效果吧。。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天给大家推荐一款APP,可以在当YouTube退到后台之后继续以音频的形式播放。

    +

    一般情况下,我们在用YouTube APP播放视频时,如果退到后台,视频就会暂停播放,如果我们想要继续以音频形式播放YouTube,就必须要开通YouTube的付费功能。

    +

    安装的OGYouTube之后,我们在OGYouTube中观看视频,然后点击"背景"按钮,视频就会以音频方式在后台继续播放,此等神器,GOOGLE PLAY商店时绝对不会上架了,大家可以在附件中下载到。

    +

    另外OGYOUTUBE还有下载YOUTUBE视频的功能,但我测试了之后没有下载成功,不知道是APP本身的原因还是我网络环境的问题。大家可以试一下,如果有下载成功的请留言告知。

    +

    使用方法:将附件内的两个APP同时安装,然后在OGYoutube中登陆Google账户就可以使用了。

    +

    微信图片_20180802104843.jpg

    +

    下载地址链接: https://pan.baidu.com/s/1Kre7Lo--yaEsRODV2lZbxA 提取码: 7dqy

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近在一台美国的VPS上搭了OUTLINE服务,需要的朋友可以和我联系(微信MIAOYANG)。

    +

    目前定价为10元/月,限10GB流量。

    +

    由于目前苹果iOS的客户端已在国内appstore下架,所以必须切换到美国或其他地区的appstore才能下载。Android及Windows用户不受影响。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    我们在电脑里操作截图一般会用QQ或微信自带的截图工具,用起来虽然方便,但是必须要登录QQ或是微信才能使用,这一点很是不爽。虽然Windows也自带有截图工具,可是用起来并不友好。

    +

    今天推荐给大家一款好用到爆的截图工具-Snipaste,绿色版无需安装,可设置开机启动,只需按下F1键即可完成截屏,可截取屏幕上任何位置的画面,而且还支持标注及粘贴、颜色提取等快捷操作。

    +

    该工具的设置也简单明了,将压缩包解压之后运行软件,在托盘区找到snipaste的图标,右键选择首选项即可进行设置。

    +

    Snipaste_2018-06-07_10-07-11.jpg

    +

    软件分为32位、64位及XP专用三个版本,大家可根据自己的系统下载相应的版本。

    +

    目前该工具也推出了适用于MAC系统的测试版。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    好吧,为了增加点网站人气,从即日起决定对所发布文章的相关部分以及附件的提取密码进行"回复可见"功能设置,只有对相应的文章进行评论回复,才能看到相关内容。

    +

    目前该功能已初步测试完成,大家在有附件下载的文章底部会看到下载链接按钮,对该文章进行回复之后,刷新页面,就会出现百度网盘的提取密码了。

    +

    sss.png

    +

    如果在使用过程中发现有bug,欢迎反馈。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/25/index.html b/page/25/index.html new file mode 100644 index 0000000000..f81604d127 --- /dev/null +++ b/page/25/index.html @@ -0,0 +1,944 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    **目前该APP已无法在给国内使用了,如需访问跨境网络,请前往SS之家注册账户 **https://sshome.win

    +

    世界知名的成人网站PORNHUB近日推出了一款免费的VPN软件,名为vpnhub。支持iOS及Android系统,现已在谷歌的PLAY商店以及苹果appstore上架,苹果iOS用户切换到美国地区的AppleID应该可以下载,而安卓用户可以在本文的结尾获取到APK下载地址。

    +

    下面以Android手机来演示一下怎么使用。安装之后我们点开APP,首次进入会有提示升级到高级用户,我们点击SKIP跳过,然后进入主界面,点击中间的图标进行连接,连接成功之后会变绿,顶部状态栏会有VPN图标。然后我们就可以愉快的玩耍了。

    +

    Uploading file...omc9y

    +

    Screenshot_2018-05-31-13-42-06-125_VPNhub.png

    +

    Screenshot_2018-05-31-13-42-42-938_VPNhub.png

    +

    如果升级到高级用户,可以选择其他国家或地区的节点,而免费的节点目前只有美国一个。

    +

    Screenshot_2018-05-31-13-57-15-164_VPNhub.png

    +

    高级用户的收费标准为月付11.99美金,年付的话6.25*12美金,高级用户可以享受更多的节点,更快的连接以及去广告服务。

    +

    不过还是建议大家用用就OK,没必要付费,一旦用的人多了,服务器都有随时被墙的危险。

    +

    Screenshot_2018-05-31-13-57-27-562_VPNhub.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    我们以nodev6.10.3版本为例进行安装,最新的版本可以参阅nodejs官网(http://nodejs.org/dist

    +

    先来现在安装包

    +
    wget http://nodejs.org/dist/v6.10.3/node-v6.10.3.tar.gz
    +
    +

    然后将下载好的安装包解压

    +
    tar -xzf node-v6.10.3.tar.gz
    +
    +

    打开解压好的文件夹进行编译

    +
    cd node-v6.10.3
    +./configure
    +make
    +
    +

    编译过程需要一段时间,请耐心等待。编译完成之后我们就可以进行安装了。

    +
    sudo make install
    +
    +

    安装完成之后我们重启一下树莓派。

    +
    sudo reboot
    +
    +

    重启之后我们可以用下面命令查看nodejs以及npm的版本。

    +
    node -v
    +npm -v
    +
    +

    如果有正确的版本返回,则安装成功。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    TIM图片20180518150305.jpg

    +

    由于HomeAssistant官方并没有发布米家PM2.5传感器的组件,所以我们这里需要用到第三方组件才能将其顺利接入HomeAssistant。

    +

    这个是bit3725大神制作的插件页面,下载之后放入/custom_components/sensor路径下,然后在配置文件中加入下面的配置即可。

    +
    sensor:
    +  - platform: mi_air_quality_monitor
    +    host: YOUR_SENSOR_IP
    +    token: YOUR_SENSOR_TOKEN
    +    name: YOUT_SENSOR_NAME
    +
    +

    这里我们遇到一个问题,因为米家的这个传感器不是通过多功能网关连接,而是直接通过WIFI连接的,所以我们需要想办法获取到设备的token。

    +

    HA官方在这个页面介绍了几种方法,我试过mitoolkit工具这个方法,不清楚是米家APP版本的问题还是电脑端JAVA环境的问题,始终无法正常获取,所以我用了直接在树莓派上安装miio的方法来获取米家PM2.5传感器token的方法。具体操作如下

    +

    首先putty登录到树莓派,输入下面命令来安装miio

    +
    sudo npm install -g miio
    +
    +

    安装完成之后我们输入下面的命令来查看设备的token

    +
    miio discover
    +
    +

    如下图会出现传感器的token,我们将token填入插件即可完成配置。

    +

    TIM截图20180518144528.png

    +

    如果你的系统里面没有安装nmp命令,可以参阅我的另一篇文章来进行安装。

    +

    此方法同样适用于需要获取token才能接入HomeAssistant的其他米家设备。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    记过了近两天的各种尝试,终于搞定了群晖NAS在HomeAssistant的开关机操作,废话不多说,直接切入正题。

    +

    先说一下我这边的设备。

    +

    树莓派安装hassbian镜像运行HomeAssistant。

    +

    X86架构的黑群晖一台,内网IP为192.168.1.111。

    +

    我在HomeAssistant中用到的是WOL组件,利用网卡的MAC地址来唤醒NAS。首先将群晖的MAC地址和IP地址在路由器中进行绑定操作,并记录下MAC及IP地址。

    +

    然后在HomeAssistant系统中添加WOL组件。

    +
    - platform: wake_on_lan
    +  mac_address: "B8-97-5A-F5-5B-CA" ####群晖的实际MAC地址####
    +  host: 192.168.1.111  ####群晖在内网中的IP地址####
    +  name: MY-NAS   ####给这个开关起个名字####
    +  turn_off:
    +    service: shell_command.nasoff
    +
    +

    重点来了,看到turn_off命令了吗?这里用到的是shell_command组件,所以我们需要添加一个shell_command脚本,直接在configuration.yaml中添加就可以。

    +
    shell_command:
    +  nasoff: "ssh root@192.168.1.111 'shutdown -h now'"  ####将这里的IP替换为你群晖的IP####
    +
    +

    接下来,我们用putty登录到NAS,修改下root用户的密码,步骤可以参考我的上一篇文章。

    +
    https://miaoyang.win/%E7%BE%A4%E6%99%96dsm%E8%8E%B7%E5%8F%96root%E5%AF%86%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95.html
    +
    +

    之后我们用putty登录到树莓派,运行下面的命令,切换到homeassistant用户。

    +
    sudo su -s /bin/bash homeassistant
    +
    +cd
    +
    +

    此时请确保你的NAS是开机状态。

    +
    ssh-keygen
    +
    +ssh-copy-id root@192.168.1.111
    +
    +

    接着按照提示输入群晖NAS的root账户及密码,然后创建rsa秘钥,rsa生成之后我们就可以直接用 ssh root@192.168.1.111 这个命令来登录群晖NAS了,不用再输入密码。

    +

    最后我们重启一下树莓派就可以了。

    +

    NAS开关机的状态反馈会有30秒左右,在界面里面点了开关之后不要着急,等30s左右系统就会接收到返回的状态。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    用Putty登录群晖NAS的时候发现输入root用户然后输入admin密码之后无法登录,只能用admin的账户和密码才能登录,如果要获取root权限,必须输入 sudo -i然后输入admin的密码才可以。

    +

    也就是说我们并不知道群晖默认的root密码是多少,那我们可以用下面的命令来修改root密码

    +
    synouser --setpw root newpassword
    +
    +

    将newpassword替换成你要设置的密码就可以了。

    +

    这样就可以用root账户直接登录了。暂时没有发现修改root密码后对系统产生的影响。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/26/index.html b/page/26/index.html new file mode 100644 index 0000000000..7593d68b05 --- /dev/null +++ b/page/26/index.html @@ -0,0 +1,946 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今年五一假期的最后一天,黑群晖的WOL还没有搞定,给主板厂家打电话咨询主板开启WOL功能的地方,估计是五一放假,电话打不通,先放一边吧,等之后有了时间再研究。

    +

    之前把HA系统迁移到了群晖的docker中,运行还算稳定,不过HA系统需要24小时开机运行,黑群晖的功率足足有40多瓦,一整天工作下来先不说长时间通电对主板、硬盘等硬件的影响,光是电费也是一笔不小的开支,所以本着够用就好,节能为主的思想,又把树莓派用起来了。

    +

    买的H96 PRO+盒子还算不错,刷了原生的ANDROID TV之后感觉焕发了第二春,主要安装了KODI、PLEX、群晖的DS VIDEO以及几个国内常用的视频APP,运行都不错,还试了几个直播APP,感觉速度一般,估计是源的问题,切换到普通分辨率也会出现卡顿,所以基本放弃了在盒子上看电视直播的想法。

    +

    最后说介绍我家的网络结构,以及如何在一台路由器下接入多个子路由器,并保证所有设备在一个局域网内。

    +

    我家用的是联通的宽带,有两根光纤进户,一根是宽带和IPTV,另一根是固话,所以就有两台光猫。路由器有三台,一台联想的Y1s作为主路由器,配有千兆和百兆LAN口各两个。一台极路由极壹s和一台NEWIFI mini作为分路由,用来扩展WIFI信号及网口数量。三台路由器都刷了hiboy大神的padavan固件。Y1s负责宽带拨号、DHCP分配、SS等功能,其他两台路由器关闭了DHCP功能,并且把LAN口的IP设置成了和主路由在一个网段的地址,主路由的LAN直连分路由的LAN口,这样设置有几个好处,一是所有的设备都在一个局域网中,方便共享和互相访问,再一个就是配置分路由的时候无需切换IP地址,直接输入设置好的LAN口IP地址就可以进入分路由的管理界面。主路由的两个千兆LAN分别接了NAS以及H96盒子,应因为这两个设备的网口也是千兆的,用千兆网线连接之后可以达到千兆的速度,另外两个LAN口直连了两台分路由器。这样主路由的所有网口就都用完了,其他需要网线连接的设备,比如树莓派可以连到分路由剩下的LAN口上,这样就可以实现无缝的互相访问了。

    +

    以上设置适合有同样需求的朋友,如果你家从主路由到分路由没有走网线,也可以试一下无线桥接的方式,在分路由上进行设置,如下图

    +

    TIM截图20180501120414.png

    +

    然后搜索到主路由的SSID,输入密码就可以了,设置之前记得关闭DHCP以及设置好LAN的IP地址。

    +

    TIM截图20180501120631.png

    +

    TIM截图20180501120705.png

    +

    本来想画一张拓扑图来着,但没有找到合适的软件,就暂且搁置了。

    +

    最后感谢hiboy大神,编译了padavan估计以及能持续发布更新。

    +

    点击进入hiboy在恩山的帖子http://www.right.com.cn/forum/thread-161324-1-1.html

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天去搬瓦工看到之前停售的年付19.99美元的VPS重新上架了,有需要的朋友可以前往购买。之前一直用VULTR的主机,不过最近几个月老是无故被墙,所以现在还是用上了之前在搬瓦工买的VPS,用了几个月感觉速度和稳定性方面都还不错,年付19.99美元还是比较合算的。下面是该主机的详细配置。

    +
      +
    • 10GB的SSD空间RAID-10
    • +
    • 512MB的内存
    • +
    • 1颗英特尔至强CPU
    • +
    • 每月500GB的流量
    • +
    • 千兆网速
    • +
    • OVZ和KMV可选
    • +
    • 多地区可选
    • +
    • 每年19.99美金,支持支付宝付款
    • +
    • 支持30天退款
      +购买链接https://bandwagonhost.com/aff.php?aff=31267
    • +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Appdaemon是用来干嘛的?

    +

    appdaemon是用python编写并在其环境下运行的一套程序。

    +

    HAdashboard和Appdaemon是什么关系?

    +

    HAdashboard是一种图形界面化的程序,是appdaemon下的一个子系统。想要安装HAdashboard必须先安装Appdaemon,然后在Appdaemon下再安装HAdashboard。

    +


    +用putty登录NAS,并切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取appdaemon镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/acockburn/appdaemon
    +
    +

    打开FileStation,在docker目录下新建一个名为"appdaemon"的文件夹,然后在appdaemon文件夹下新建

    +
    compiled/Javascript 及compiled/css 文件夹。
    +
    ![](TIM截图20180424093953.png)
    +回到docker中的映像,启动刚刚获取到的appdaemon镜像,然后点击高级设置。 +

    TIM截图20180424093813.png

    +

    切换到"卷"选项卡,添加文件夹,输入 docker/appdaemon,对应的装载路径输入/conf。

    +

    TIM截图20180424110151.png

    +

    然后切换到"网络"选项卡,选择"使用与docker host 相同的网络"。

    +

    TIM截图20180424094229.png

    +

    最后切换到"环境"选项卡,添加如下变量:

    +

    1.可变:HA_URL 值: http://nasip:8123 # homeassistant的地址。

    +

    2.可变:HA_KEY 值:password #homeassistant的登陆密码。

    +

    3.可变:DASH_URL 值: http://nasip:5050 #appdaemon的登陆的网址。

    +

    4.可变:DASH_PASSWORD 值:password #登录appdaemon的密码,可以不设置。

    +

    TIM截图20180424094456.png

    +

     

    +

    设置完成之后启动容器。

    +

    查看容器的运行日志,如果出现下图字样,说明appdaemon已经安装完成。

    +

    TIM截图20180424105908.png

    +

    我们输入http://nasip:5050就能看到appdaemon的界面了。

    +

    TIM截图20180426095025.png

    +

    如果打不开网页,请检查一下docker/appdaemon/appdaemon.yaml文件,是否有

    +
    hadashboard:
    +  dash_url: http://nasip:5050
    +
    +

    如果没有请添加后重启容器。

    +

    注意:HA的密码要设置的复杂一点,不能纯数字,否则会报错!!!

    +

    appdaemon的详细使用和设置,请参考网站http://appdaemon.readthedocs.io/en/latest/index.html

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    和之前一样,用putty登录NAS,然后切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取xware映像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/yinheli/docker-thunder-xware
    +
    +

    下载完成之后前往NAS的docker中启动该映像,然后选择"高级设置",切换到"卷"选项卡,选择一个本地的文件夹来作为迅雷的下载目录,挂载路径为/app/TDDOWNLOAD。

    +

    设置完成之后启动容器,然后在运行日志中查看激活码。

    +

    TIM截图20180424174524.png

    +

    最后将激活码记录下来前往 http://yuancheng.xunlei.com 绑定即可。

    +

    TIM截图20180424174851.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    H96 PRO+是一款配置很高的山寨安卓播放盒,采用S912的处理器,最高配置3GB运存,32GB存储空间,自带Android原生系统,支持4K分辨率。淘宝上每台390块大洋,就参数配置来讲,还是很有性价比的,比目前配置最高的小米盒子还要高。

    +

    +

    只不过盒子自带的是Android系统,非Android TV系统,Android TV 系统是Google专为TV优化的操作系统,配备Android TV的硬件主要有小米盒子国际版以及英伟达的Shield TV等。

    +

    与普通的Android系统相比,Android TV系统为电视以及遥控器做了很多优化,更适合在电视上使用,我查阅了国内外大神的相关文章,结合自己的实际经验,写了这篇教程,如有不对的地方,敬请指正。

    +

    我们需要用到的东西:

    +

    H96 PRO+一台;

    +

    16GB的TF卡一张(含读卡器);

    +

    卡针一个;

    +

    Windows系统的电脑一台。

    +

    操作马上开始。

    +

    下载名为BurnCardMaker的软件并安装。

    +

    下载Android TV固件镜像(H96 PRO+的主板有蓝色和绿色两种,大家可以通过机器的缝隙看到,请下载自己对应颜色的固件)。

    +

    打开BurnCardMaker软件,将TF卡连接到电脑,在软件里选择好TF卡的盘符,浏览到下载好的固件,分区和格式化打钩,选择强制擦除,然后点击"制作"开始将固件写入到TF卡中。

    +

    TIM截图20180423140701.png

    +

    写入完毕之后我们将TF卡插入机器中,连接好HDMI线,然后用卡针按住reset孔不放的同时接通电源,然后松开卡针。

    +

    此时电视屏幕上应该会出现Android机器人的画面,等待刷机完成,重启机器即可完成整个刷机过程。

    +

    软件及固件下载地址在页面下方。

    +

    最后吐槽一下盒子的做工,简直是粗糙到无力吐槽,无论是盒子本身还是遥控器,如果对于硬件配置没有太高要求,对外观做工比较看重的朋友,还是建议入手小米盒子之类的国内品牌电视盒子。

    +

    下载地址链接: https://pan.baidu.com/s/1_v45uHmL9b8g3Fcm-BuWeA 提取码: 52my

    +

    目前我的H96PRO+电源口已经坏掉了,现在沦为尸体,各位珍重吧。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/27/index.html b/page/27/index.html new file mode 100644 index 0000000000..25236b2949 --- /dev/null +++ b/page/27/index.html @@ -0,0 +1,924 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    和上次一样,用putty登录NAS。

    +
    sudo -i
    +
    +

    切换到root账户,然后拉取mqtt镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/ncarlier/mqtt
    +
    +

    然后进入docker中的映像,选择刚刚下载好的mqtt映像,点击启动。

    +

    TIM截图20180422215859.png

    +

    容器名称随便写。
    +TIM截图20180422214120.png

    +

    在弹出的窗口中选择"高级选项",然后选择"网络",在"使用与docker host相同的网络"前打钩,

    +

    TIM截图20180422214341.png

    +

    之后切换到"环境"选项卡,添加两个变量:

    +

    可变:PATH 值:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    +可变:DEBIAN_FRONTEND 值:noninteractive

    +

    TIM截图20180422214711.png

    +

    之后点击应用,一路完成。

    +

    接着我们来创建mqtt的用户名和密码。

    +

    转到容器选项卡,并启动刚创建的容器,切换到"终端机"。

    +

    如下图所示,新建一个命令。

    +

    TIM截图20180422215103.png

    +

    然后输入mosquitto_passwd -c pwfile.example pi (此处将pi改为你想创建的用户名)
    +TIM截图20180422215153.png

    +

    点击确认之后,在左边切换到mosquitto_passwd,输入两次密码。

    +

    TIM截图20180422215242.png

    +

    这样,我们就创建了一个名为pi的mqtt用户,并为其设置了密码。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    首先在群晖套件中心安装Docker应用并打开,打开FileStation,在docker文件夹中新建一个名为"home-assistant"的文件夹。

    +

    然后进入DSM的控制面板,选择"终端机和SNMP",然后启动Telnet和SSH。

    +

    接下来我们去阿里云来获取docker加速地址,我获取到的地址是https://cb59j9ia.mirror.aliyuncs.com

    +

    接着我们用putty软件登录到NAS,用户名为admin,密码为admin的登录密码,然后依次运行以下命令:

    +
    sudo -i
    +
    +

    输入密码切换到root权限;

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/homeassistant/home-assistant
    +
    +

    拉取homeassistant的docker镜像;

    +

    等到下载完成之后运行

    +
    docker run -d --name="home-assistant" -v /volume1/docker/home-assistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
    +
    +

    注意将命令中的volume1替换为你实际的地址;

    +

    等到命令执行完之后,我们打开http://nasip:8123就可以看到homeassistant的界面了,至此,homeassistant在docker中已安装完成。

    +

    如何配置homeassistant呢?我们可以通过网上邻居,打开NAS中docker目录下的home-assistant文件夹来配置。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    昨天晚上收到了买的主板和机箱,电源还没有到,就先用之前旧电脑上的电源吧。连装箱带装系统,差不多折腾了两个小时。

    +

    酷冷的小魔方整体做工还算精致,支持标准电源,有三个硬盘位,顶部的硬盘支架可以装两块,侧板可以装一块,机箱前面板自带一个应该是12寸的风扇,可以直接接到主板上,开关按钮是前面板的LOGO,开机之后会有蓝灯,感觉不错,吐槽一下侧边的红色硬盘灯,有点不协调。

    +

    由于是ITX小机箱,装起来还是比较费劲的,翻工了一次,原因是如果侧边的硬盘安装靠上的话,会和顶部的硬盘架有冲突,必须靠下装,但试了几个位置,最多只能对上两个螺丝孔,不过还算稳定。

    +

    将主板、内存和电源安装完成,各种接线完成之后,将之前做好的启动优盘插上开机,连接网线和显示器,一切启动正常。

    +

    之后在电脑上登录http://find.synology.com之后会自动搜索局域网内的NAS设备,搜索到之后,根据提示上传ds3615xs的固件,然后系统会自动安装和重启,重启完成之后再进入http://find.synolgoy.com将NAS联机进行初始化设置即可

    +

    远程访问我用的是DDNS,没有用群晖自带的QC,目前WOL还没有搞定,由于主板是UEFI的,没有找到设置WOL的地方。

    +

    系统里可以设置定时开关机时间,也是起作用的。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    NFS是一种文件传输方式,类似于SAMBA。

    +

    前往控制面板,文件服务,在NFS处启用NFS服务。
    +TIM截图20180422221904.png

    +

    接着进入共享文件夹选项,编辑你需要设置NFS共享的文件夹,切换到权限选项卡,确保已正确设置了读写权限

    +

    TIM截图20180422222200.png

    +

    然后切换到NFS权限选项卡,按照下图进行设置,然后保存即可。
    +TIM截图20180422222343.png

    +

    设置完成之后我们就可以在局域网内的设备上使用NFS来传输文件了,比如在KODI中,我们可以通过NFS浏览到NAS中共享的文件,经测试NFS比传统的SAMBA传输更快,占用更少的带宽。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    DIY NAS的配件还没到,昨天闲来无事,根据网上现有的教程,提前做了黑群晖DSM6.1.4的启动优盘。现在记录下来,方便有需要的朋友参考。

    +

    需要用到的软件和文件有:

    +

    1.最新版的黑群晖ds3615xs引导镜像;

    +

    2.用来将镜像写入优盘的Win32DiskImager(下载地址);

    +

    3.用来查看优盘VID以及PID的ChipEasy芯片无忧(下载地址);

    +

    4.用来加载镜像的OSFmount软件(下载地址);

    +

    5.用来修改grub文件的Notepad++(非必须,也可用记事本打开,下载地址);

    +

    6.用来计算黑群晖序列号和MAC地址的EXCEL表格。

    +

    以上文件请点击文章结尾的下载地址来进行下载。

    +

    将上面的东西都准备完毕了之后我们正式开始喽,当然还需要1个优盘,2G或4G都可以,不需要太大。

    +

    高能正式开始:

    +

    由于最新版的WIN10无法正确加载引导镜像,导致无法修改里面的grub文件,所以我们先来安装OSFmount软件,并用OSFmount加载引导镜像,记得将 read only 那里的勾去掉,加载的时候选择15M的那个分区,然后打开分区,找到grub.cfg文件,用NotePad++打开,当然也可以用自带的记事本打开。

    +

    将U盘插入电脑,运行ChipEasy,查看并记录下优盘的VID以及PID。

    +

    在grub.cfg中找到set vid=0x1234,set pid=0x1234字段,并将最后4位数字替换为自己优盘的VID及PID。接着打开黑群晖的算号Excel表格,选择DS3615XS型号,然后表格会自动生成序列号和MAC地址,我们将算好的SN和MAC地址一并在这个文件里面修改了。

    +

    然后保存文件,点击DISMOUNT取消加载。

    +

    接下来我们用Win32DiskImager打开修改好的镜像,并写入到优盘,等到写入完成之后,我们的黑群晖启动优盘就做好了。

    +

    稍后我会将需要用到的文件上传到网盘供大家下载。制作过程中的图片也会随后上传。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/28/index.html b/page/28/index.html new file mode 100644 index 0000000000..a36f734fec --- /dev/null +++ b/page/28/index.html @@ -0,0 +1,921 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    outline的安卓客户端可以直接在谷歌PLAY商店内搜索下载,如果没有PLAY商店,可以下载APK直接安装使用。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    Debian8系统进行如下操作:

    +

    ####切换到root权限####

    +
    sudo -i
    +
    +

    ####安装docker####

    +
    curl -sS https://get.docker.com/ ' sh
    +
    +

     

    +

    ####启动docker####

    +
    systemctl start docker
    +
    +

    ####将docker加入系统服务####

    +
    systemctl enable docker
    +
    +

    ####查看docker运行状态,返回值应有绿色running字样####

    +
    systemctl status docker
    +
    +

     

    +

    ####一键安装outline server####

    +
    wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh ' bash
    +
    +

    安装完成之后将{}内的内容进行复制,然后下载并安装outline manager软件,将复制到的内容粘贴到软件相应的地址即可。

    +

    之后就可以用outline manager软件来生成outline的key及查看流量的消耗。

    +

    TIM截图20180419112617.png

    +

    outline官方网站:https://getoutline.org/en/home

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前些天在某鱼入手了一台二手的群晖ds214se,用了一段时间之后,感觉机器的硬件配置实在是太差了,开机打开一个应用,CPU占用率就直接飙到了100%,而且还不支持docker,所以果断出掉了。

    +

    最近在SMZDM上看了几篇DIY NAS的文章,加上家人的手机存储空间都不够了,于是又萌生了DIY黑群晖的想法,之前自己也做过一台黑群晖,用的是DELL的ZINO准系统,基于intel的ATOM平台,配了2GB的内存,硬件性能倒是够用,无奈LAN口是百兆的,局域网内传输稍大一点的文件就不给力了,最后也在某鱼上出手了。

    +

    直接买台群晖倒是省心,怎奈坑爹群晖,便宜的型号性能太弱,性能好的机器又太贵,我等温饱尚未解决的同志还是消费不起,那只好自己动手来组装了,好在现在网上关于黑群晖安装的资源还是很多的,有点基础的朋友还是很容易上手的。

    +

    然后来说说我用到NAS的几个功能。

    +

    1.高清视频、音乐、文件的存储及共享;

    +

    2.自动备份手机里的照片;

    +

    3.挂机下载高清视频;

    +

    4.连接高清播放器播放电影和音乐;

    +

    5.定时备份电脑里面的重要文件;

    +

    6.再外可以随时读取到NAS里面的文件;

    +

    7.鼓捣docker。

    +

    这次在淘宝上买了一款集成了AMD A8CPU的磐正A5545NX7主板,ITX规格,主板自带4个SATA3接口,也就是说如果机箱允许的话,可以接4块硬盘,内存支持DDR3,正好家里有一条闲置的DDR3 1333 4GB内存条拿来用,然后家里有两块1T的硬盘,先拿来练手,机箱选择了酷冷至尊的小魔方,支持ITX主板,带3个硬盘位,支持标准电源,电源也选择了酷冷至尊299元的全模组电源,东西还没到货,估计这周末应该能到,等到货之后再来写一篇详细的安装和使用教程吧。

    +

    TB2Utq.cH4npuFjSZFmXXXl4FXa_2429537308.jpg

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    BBR是谷歌推出的一套TCP加速算法,类似于之前的锐速,安装在VPS之后可以显著提升酸酸乳的速度,流畅观看1080P甚至是4K的油管视频。下面介绍如何在基于Debian8的系统中安装BBR算法,以及配置酸酸乳服务。

    +

    操作系统选择Debian8.

    +

    ####获取root权限####

    +
    sudo -i
    +
    +

    ####下载bbr安装脚本####

    +
    wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install
    +
    +

    选择NO。然后重启。重新连接。
    +####再次获取root权限####

    +
    sudo -i
    +
    +

    ####运行bbr安装脚本####

    +
    bash bbr.sh start
    +
    +

    ####获取酸酸乳安装脚本####

    +
    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh && chmod +x shadowsocksR.sh
    +
    +

    ####运行酸酸乳安装脚本####

    +
    ./shadowsocksR.sh
    +
    +

    之后根据提示设置酸酸乳的连接密码、端口及加密方式等等。

    +

    将自己设置的信息记录下来,然后下载相应平台的酸酸乳客户端,填入自己的服务器地址、端口、密码、加密方式等信息,就可以愉快的玩耍了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    大家在搭建了酸酸乳服务器之后,在客户端中填好信息之后会发现连接不上,其实是谷歌云的防火墙在作怪,谷歌云为了安全,默认只开启了80、433等常用的端口,而我们酸酸乳使用到的端口并没有被开启,所以我们需要手动配置一下。

    +

    首先进入谷歌云的控制台,在左边的菜单中依次选择VPC网络—防火墙规则,然后点击上面的"创建防火墙规则"按钮来创建一条,设置如下图所示

    +

    TIM截图20180419143303.png

    +

    需要注意的几个地方:

    +

    1.名称可以随意写;

    +

    2.来源IP地址范围必须写成 0.0.0.0/0

    +

    3.目标选择"网络中的所有实例"

    +

    4.协议和端口部分,可以设置成全部允许,这样的话所有的端口都会通过防火墙,以后安装其他服务就不用重复设置防火墙了,也可以设置成指定的协议和端口,比如你酸酸乳的端口是1234,可以写成 tcp:1234;udp1234 的格式。

    +

    设置完成之后点击"创建"按钮来保存,这样谷歌云的防火墙就设置好了。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/29/index.html b/page/29/index.html new file mode 100644 index 0000000000..3097aced25 --- /dev/null +++ b/page/29/index.html @@ -0,0 +1,969 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    timg-1-1.jpg

    +

    鸿雁的8340系列插排(包括8340B及8340J)是一款WIFI四孔位智能插排,有一个实体按键,可控制总开总关。使用APP绑定之后四个孔位可以独立控制开关。

    +

    将其接入HomeAssistant系统之后,不仅可以分控四个孔位,还可以实现更多的自动化。话不多说,一起跟我来设置。

    +

    首先请确保插排已根据说明接入到了WIFI,并记录下插排的IP地址及MAC地址备用。

    +

    由于官方暂时没有收录该插排,我们需要手动上传插件,将broadlink_mp1.py上传到HomeAssistant配置文件夹下的/cutom_components/switch目录下。如果没有请手动创建。

    +

    截止我们在configuration.yaml文件中加入以下配置文件

    +
    `switch:
    +  - platform: broadlink_mp1  ####不可更改####
    +    host: 192.168.1.195  ####插排的IP地址####
    +    mac: '34:EA:34:C7:19:15'   ####插排的MAC地址####
    +    friendly_name: "Broadlink MP1"   ####填写你喜欢的名字####
    +    alias:
    +      s1: device1   ####给每一个插孔起个名字####
    +      s2: device2
    +      s3: device3
    +      s4: device4 `
    +

    添加完成之后重启系统即可。

    +

    +

    插件下载地址:

    + +

    目前官方已正式支持该设备,直接在configuration.yaml添加以下字段即可。

    + + +
    switch:
    +  - platform: broadlink
    +    host: !secret hongyan1
    +    mac: '34:EA:34:C7:19:15'
    +    type: mp1
    +    friendly_name: "Broadlink MP1"
    +    slots:
    +      slot_1: 'device1'
    +      slot_2: 'device2'
    +      slot_3: 'device3'
    +      slot_4: 'device4' 
    +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    添加的设备越来越多,configuration.yaml文件越来越长,而且修改和查找起来起来很不方便,肿么办?

    +

    我们可以使用include语句来将不同类型的设备分成单独的yaml文件,方法很简单,在configuration.yaml文件夹添加

    +
    switch: !include switch.yaml
    +
    +

    然后在配置文件夹新建一个switch.yaml文件,即可将switch类型独立成一个单独的yaml文件。

    +

    同理,我们也可以将常用的sensor、device_tracker、media_player、light、automation等类型统统分开,类似这样

    +
    ###配置指向###
    +group: !include groups.yaml
    +automation: !include automations.yaml
    +switch: !include switch.yaml
    +binary_sensor: !include binary.yaml
    +sensor: !include sensors.yaml
    +light: !include lights.yaml
    +device_tracker: !include device_trackers.yaml
    +input_select: !include input_select.yaml
    +input_boolean: !include input_boolean.yaml
    +media_player: !include media_player.yaml
    +
    +

    独立之后的yaml文件配置代码直接以platform开头即可,类似这样

    +
    - platform: broadlink
    +  host: xx.xx.xx.xx
    +  mac: 'xx:xx:xx:xx:xx'
    +  type: spmini2
    +  friendly_name: 'spmini' 
    +
    +

    不必再声明类型。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    个人认为,智能家居的核心是自动化,而智能家居的精髓所在,是人性化的自动化。所有设备根据设定好的条件自动运行,有条不紊,而不是掏出手机,点开APP来控制。

    +

    HomeAssistant系统提供了强大的自动化平台,利用各式各样的传感器来自动化控制各类设备。

    +

    举个例子,每天都有太阳升起和降落的时间,我们可以设置,每天太阳升起时关闭卧室的吊灯,太阳降落时打开卧室的吊灯。

    +

    当然这只是最简单的一个自动化,我们可以在其中添加更多的条件,让它越来越人性化。

    +

    太阳降落时,如果我不在家,就不用开灯,我在家的时候才打开卧室的吊灯。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最新的Hassbian镜像会集成hassbian-scripts脚本服务,使用该脚本可以方便的安装、升级homeassistant的各项服务。

    +

    我们先来升级一下

    +
    sudo hassbian-config upgrade hassbian-script
    +
    +

    TIM截图20180131113607.png

    +

    输入下面的命令可以看到当前可用的hassbian-scrpits脚本命令

    +
    sudo hassbian-config show
    +
    +

    TIM截图20180131113643.png

    +

    如果我们要安装samba服务,只需要输入

    +
    sudo hassbian-config install samba
    +
    +

    即可一键完成samba的服务。

    +

    如果我们要升级Home-Assistant的版本,只需输入

    +
    sudo hassbian-config upgrade home-assistant
    +
    +

    即可一键完成Home-Assistant的升级。

    +

    更多的使用方法请参阅Hassbian-scripts GitHub项目地址:https://github.com/home-assistant/hassbian-scripts

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    TIM截图20180202134007.png

    +

    小米的HA插件已被官方正式收录,现在只要在configuration.yaml文件中直接添加配置即可完成小米米家设备的接入。

    +

    如果局域网中只有一个小米网关,无需添加MAC地址,只需在米家APP中获取局域网通讯协议,填入即可,配置代码如下:

    +
    xiaomi_aqara:
    +  discovery_retry: 5
    +  gateways:
    +    - key: xxxxxxxxxxxxxxxx
    +
    +

    如果局域网中有多个网关,需要获取到各自的MAC地址及局域网通讯协议,配置代码如下:

    +
    xiaomi_aqara:
    +  gateways:
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +
    +

    目前可以接入HA的设备有:

    +
      +
    • 温湿度传感器
    • +
    • 移动传感器
    • +
    • 门窗传感器
    • +
    • 小米无线开关
    • +
    • 小米ZIGBEE智能插座
    • +
    • 墙面插座
    • +
    • AQARA单双键面板(单火及零火)
    • +
    • AQARA单双键无线开关
    • +
    • 小米魔方
    • +
    • 天然气传感器
    • +
    • 烟雾传感器
    • +
    • 网关夜、亮度、铃声
    • +
    • 智能窗帘
    • +
    • 溢水传感器
    • +
    • 电量传感器
      +详情请参阅HA官方文档https://home-assistant.io/components/xiaomi_aqara/
    • +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 0000000000..8077bdfb37 --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,915 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近全网知名千万级up主影视飓风上架了一部关于视频清晰度的视频,随后却被全网集体下架。视频中详细分析了各视频平台如何利用最新的编码算法欺骗用户的眼睛,标称4k、8k分辨率的视频清晰度甚至不如几年前的1080p。有些平台甚至根据播放量调整视频编码方式,节约带宽流量。随着视频的下架以及在海外平台的转载,网友评论出奇一致,解决不了问题,就解决提出问题的人。

    +
    +

    该视频分享自油管,如果打不开请挂梯子。

    +
    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    楔子

    +

    之前在serv00上部署了Alist服务,当时使用的是screen来后台运行alist进程。
    +经过两天使用发现,前一天服务正常,到第二天早上的时候服务就被停止了,而且也找不到screen进程,就算是在管理面板添加了cron jobs也不起作用。除非再次手动执行启动命令,任务才会启动。
    +网上搜到有人使用PM2来守护进程,今天我也试着安装了,具体效果怎么样,还需要一段时间来检验。

    +

    一键安装脚本

    +
    1
    bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
    +

    Alist任务运行脚本

    +
    1
    cd /home/ycycwin/domains/pan.ycyc.win/alist && pm2 start ./alist -- server ~/domains/pan.ycyc.win/alist
    +
    +

    注意替换脚本内相关用户名和域名。

    +
    +

    最后将上面的运行脚本添加到面板中的cron jobs中,等到明天看下效果如何。

    +

    当然你要是只用serv00来做简单的网页服务器,不搞这些奇怪应用的话,还是很稳定的。😅

    +

    次日更新

    +

    今天早上应用进程还是没启动,难道是serv00连自己的cron job也不执行?可惜无法看到重启后脚本是否执行了。
    +换了一个启动方法试一下,将现有pm2进程保存,然后再恢复。

    +
    1
    2
    pm2 save
    pm2 resurrect
    +

    corn jobs 里面直接运行pm2 resurrect ,设置频率为每小时运行。明天再观察下效果如何。
    +image.png

    +

    再次更新

    +

    又失败了,给我的感觉好像是这个cron job根本没有执行。
    +于是我写了一个脚本,准备使用青龙面板来定时登录ssh,然后执行 pm2 resurrect,每小时执行一次。目前看上去脚本执行是没问题的。具体效果再观察看下。

    +

    image.png

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    image.png

    +

    北京时间10月11日,埃隆马斯克用一场名为“WE,ROBOT”的发布会,向世人展示了基于特斯拉最新全自动驾驶(FSD)的Robotaxi,客货两用车Robovan。另外还有人形机器人Tesla Bot。

    +

    Robotaxi

    +

    微信截图_20241012105529.png

    +

    据马斯克透露,Robotaxi预计2026年在美国上市。没有传统意义上的方向盘及刹车油门踏板,妥妥的L5。不再使用传统的充电插头,而是通过感应充电垫进行无线充电。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    楔子

    +

    昨天撸了一个免费的serv00虚拟空间,并且成功搭建了WordPress站点。在搜索serv00相关信息期间看到有大神写了用serv00搭建Alist的教程。自己的Alist之前是搭建在家里的openwrt上面的,于是决定将其迁移到serv00上面来,以下记录在serv00搭建Alist以及数据迁移的过程,供有需求的朋友参考。

    +

    Alist数据备份导出

    +

    如下图所示登录原Alist管理后台将数据备份并导出到本地。
    +image.png

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    楔子

    +

    serv00是一家提供免费虚拟主机空间的厂商,除了免费空间外,还提供免费的数据库和企业邮箱等服务。并且提供的虚拟空间基于freeBSD操作系统,3GB存储,512MB内存,支持SSH登录,支持PHP多版本切换,支持多种数据库类型。关键的关键是这一切都是免费的,只需要你每隔三个月至少登录一次主机SSH或是管理面板,否则账户将被注销。
    +image.png

    +

    目标

    +

    0成本使用serv00提供的虚拟空间服务搭建基于wordpress的站点,并且使用cloudflare加速站点国内访问速度,支持https。
    +image.png

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/30/index.html b/page/30/index.html new file mode 100644 index 0000000000..8e450c506b --- /dev/null +++ b/page/30/index.html @@ -0,0 +1,892 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    现在我们安装HASSCTL脚本,使用该脚本可以很方便的开启、停止、重启、升级HomeAssistant以及检查HomeAssistant配置文件是否有误。

    +
    sudo curl -o /usr/local/bin/hassctl https://raw.githubusercontent.com/dale3h/hassctl/master/hassctl && sudo chmod +x /usr/local/bin/hassctl
    +
    +

    安装完成之后,我们可以使用以下命令:

    +
    hassctl start   ###快速启动homeassistant服务###
    +hassctl stop   ###快速停止homeassistant服务### 
    +hassctl restart   ###快速重启homeassistant服务### 
    +hassctl config   ###检查homeassistant配置文件是否有误###
    +hassctl update-hass  ###升级homeassistant到最新版本###
    +
    +

    更详细的使用说明可以参照作者的GitHub项目主页:https://github.com/dale3h/hassctl

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    现在,HomeAssistant系统虽然已经安装完成,但我们还需进行一些基础的设置,才能正常使用。

    +

    我们以下的操作,如无特殊说明,均在Windows10 X64操作系统下完成。

    +

    我们在之后的操作中会经常用到三个软件,请下载安装:

    +
      +
    1. PUTTY:用于远程登录主机,运行操作命令;
    2. +
    3. WINSCP:用于远程登录主机,对文件进行操作;
    4. +
    5. Notepad++:用于编辑.yaml等文本文件。
      +首先,我们打开PUTTY软件,在Hostname处输入主机的ip地址,端口保持22不变,连接类型选择SSH,然后点击OPEN。
      +TIM截图20180131083738.png
    6. +
    +

    在弹出的终端窗口中我们用树莓派默认的用户名(pi)和密码(raspberry),然后回车来登录主机,注意输入密码的时候界面不会显示。

    +

    TIM截图20180131083840.png

    +

    登录成功之后会出现如下界面,如果登录失败,请检查输入的用户名和密码是否有误。

    +

    TIM截图20180131112150.png

    +

    我们可以运行以下命令来设置树莓派的网络、时区、输入输出设备等,类似于WINDOWS下的控制面板。

    +
    sudo raspi-config
    +
    +

    TIM截图20180131112237.png

    +

    我们先来修改时区,依次进入Localisation Options-Change Timezone,选择Asia-Chongqing。

    +

    TIM截图20180131112628.png

    +

    当然如果只是修改时区的话,直接输入

    +
    sudo dpkg-reconfigure tzdata
    +
    +

    即可直接进入。

    +

     

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    树莓派安装HomeAssistantyou很多方法,比如HA强推的HASSIO、ALL IN ONE脚本安装以及通过Docker安装等方法,相比而言,我更推荐使用Hassbian镜像来安装HomeAssistant,相比较而言,Hassbian镜像安装使用时间更短,组件相对完整,比HASSIO及DOCKER有更开放的系统。下面我会详细记录树莓派3B使用Hassbian镜像来安装HomeAssistant的过程。

    +

    我们需要准备一台目前最新的树莓派3B主机,为了保证树莓派稳定运行,最好选用5V2.5A的电源,准备一张8GB以上的高速TF卡,推荐闪迪16GB A1速的TF卡,另外我们还需要提供稳定高速的下载环境,最好可以稳定访问Github以及Homeassistant.io、Google等国外网站。

    +

    硬件方面基本上准备就绪了,下面我们来准备需要用到的软件。

    +

    首先是hassbian镜像,下载地址

    +
    https://github.com/home-assistant/pi-gen/releases
    +
    +

    目前最新的hassbian镜像版本为1.31,我们点击页面上的下载链接将.zip文件下载到电脑,文件大小为400MB左右,如果网络对国外网站的访问速度慢的话,会需要较长的时间,耐心等待下载完成。下载完成之后解压得到.img文件备用。

    +

    接下来我们需要将.img文件写到准备好的TF卡中,需要两个软件,SD FOMATTER和WIN32DISKIMAGER,下载地址请自行搜索。用稳定的读卡器将TF卡和电脑连接,打开SD FOMATTER软件将卡格式化,格式化完毕之后用WIN32DISKIMAGER软件浏览到.img镜像,选择TF卡的盘符,点击"WRITE"将.img文件写入TF卡。

    +

    写入完成之后将TF卡插入树莓派卡槽,插上网线,通电开机。

    +

    如果网速稳定的话,预计在10分钟之内,HomeAssistant系统会自动安装完毕,此时我们需要在手机上下载一个名为"Fing"的APP来查看树莓派的IP地址,当然也可以在路由器的DHCP列表中查看。找到主机名为"Hassbian"的设备并记录下该IP地址,用浏览器访问http://ip:8123即可进入安装好的HomeAssistant界面。

    +

    到此为止,安装过程结束,之后我们会对安装好的HomeAssistant系统进行初步的配置。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    + +

    89年双子座理工男,坐标山西太原。目前已结婚生子,有压力,但很幸福。

    + + +

    2000年左右接触互联网;

    + + +

    打开的第一个网站好像是cctv.com,当时只记得这一个网址;

    + + +

    第一个QQ号是在小卖铺的公用电话打168申请的,现在已经忘记了;

    + + +

    第一个邮箱是xxxxxxxx.student@sina.com结尾的,现在已经忘记了,还记得当时死活不会输入@;

    +

    玩的第一个游戏应该是暴力摩托,现在基本上不玩游戏;

    +

    上的第一个购物网站是卓越网joyo.com,也就是现在的亚马逊;

    +

    第一次建网站好像是在一个名为zjtop.com的网站上建的论坛;

    +

    第一次自己租虚拟空间是在常来网,这个网站已经倒闭很多年了;

    +

    自建博客用的第一个系统是pjblog,现在好像已经不更新了;

    +

    自己买的第一部手机是从淘宝买的西门子的S65;

    +

    喜欢的偶像是BEYOND,五月天,孙燕姿;

    +

    喜欢的运动品牌是美津浓;

    + + +

    喜欢的互联网公司是Google,Apple;

    + + +

    目前持有的设备:

    + + +

    ThinkPad X230

    + + +

    MacBook Pro 2015

    + + +

    锤子坚果Pro

    + + +

    iPad mini2

    + + +

    iPhone7

    + + +

    AirPods 2

    + + +

    树莓派3

    + + +

    Orange Pi Zero

    + + +

    X86架构的黑群晖

    + + +

    小米智能家庭套装

    + + +

    NEWIFI Y1路由器

    + + +

    小爱AI音箱

    + + +

    天猫精灵方糖

    + + +

    小米手环2

    + + +

    斐讯N1盒子

    + + +

    斐讯T1盒子

    + + +

    Lenovo Y1S路由器(Padavan)

    + + +

    Lenovo NEWIFI3 路由器

    + + +

    HUAWEI AX3 路由器

    + + +

    TP-LINK 886 千兆版路由器

    + + +

    水星D191G路由器

    + + +

    版权说明:本站的内容若无转载说明均为作者原创,未经许可请勿随意转载,如需转载请征得本人同意并注明出处,谢谢合作。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/4/index.html b/page/4/index.html new file mode 100644 index 0000000000..941cd30f5e --- /dev/null +++ b/page/4/index.html @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    之前一直在用RaiDrive这款软件在windows端挂载WEBDAV网盘,RaiDrive除了支持WEBDAV协议之外,还支持其他主流的网盘服务,比如OneDrive,Google Drive等等,这些都是支持读写操作的。然后RaiDrive也支持比如亚马逊AWS S3和CloudflareR2等等对象存储的接入,但是RaiDrive的免费计划仅支持这些存储的读取,不支持写入,想要写入的话还需要至少每月4.84美元以上的付费计划。
    +RaiDrive付费权益计划

    +

    除了使用付费RaiDrive套餐之后,还可以选择我们之前提到的Alist来挂载CloudflareR2(当然也包括AWS S3,R2是兼容S3协议的)。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    利用国庆假期搭建了一个短链接生成服务,使用任意长链接可以生成类似于https://to.ycyc.win/yourlink 的短链接,虽然也不是很短😜,但有胜于无。
    +站点地址 https://to.ycyc.win
    +使用方法很简单,在输入框输入你需要生成短链接的长链接,点击生成按钮即可。
    +然后你也可以使用备用站点 https://2.ycyc.win 来生成(2和to同音,而且又少了一个字符👏)。两个站点地址数据共享,后缀可通用。

    +

    image.png

    +
    +

    重要声明:免费服务,使用前需遵守中华人民共和国相关法律法规,切勿用于非法用途,以免服务被封,影响其他人的使用!

    +
    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    引言

    +

    现在的各种智能音箱,想要好好听音乐,都需要开通各种音乐VIP服务才行,而且有些歌曲因为版权原因,在特定的平台才会有,所以办一个平台的会员有时候还不够。要是不办会员,只能试听十几秒,或者是听一些不知名的翻唱版本。那有没有一种方法,让音箱调用本地NAS里面储存的音乐来播放呢?这样就不用办各种音乐会员了。

    +

    xiaomusic是用来让小米音箱播放音乐的docker项目 https://github.com/hanxi/xiaomusic 其原理应该是用特定唤醒语劫持小爱音箱网络请求,使用yt-dlp这个项目前往油管下载同名的视频音源到本地,咨询了作者之后得知如果网络不支持访问油管,会转到B站下载,然后进行播放(目前默认是从B站下载资源,除非在设置界面指定从油管下载)。

    +

    安装命令

    +

    运行以下命令安装docker容器:

    +
    1
    2
    3
    4
    docker run -p 8090:8090 \
    -v /mnt/usb/xiaomusic/music:/app/music \
    -v /mnt/usb/xiaomusic/conf:/app/conf \
    hanxi/xiaomusic
    +
    +

    将命令中的/mnt/usb/xiaomusic字段替换为你本地容器配置的文件夹。
    +另外本地曲库需放到music文件夹内才会被识别。

    +
    +

    容器创建完成之后访问宿主机ip:8090端口进入容器设置页面。
    +image.png

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    今天介绍一款Obsidian神级插件-Linter。
    +项目主页platers/obsidian-linter: An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility. (github.com)
    +Linter是一款可以让你的Obsidian文件更加整齐统一美观的插件,而我得知到它的途径是我想要实现如何在Obsidian的文章中可以自动更新文章的修改时间。
    +Hexo日志的Front-matter有date和updated两个参数,date是文章的创建时间,updated是最后修改时间。之前用vscode通过github action部署之后这两个时间默认是一样的,都是项目最后部署的时间,除非你手动在每篇文章都指定这两个字段。
    +转到Obsidian之后,我用templater插件创建了Front-matter模板,虽然可以简化手动输入的操作,但是updated字段在你首次插入模板之后就固定下来了,不会随着你修改的时间而变化,除非你手动去修正。
    +然后就是一通搜索,看看有没有办法能获取到每次文章真正修改的时间,并写入到文章的Front-matter中去。
    +然后就是有人推荐一款名为Linter的插件。看上去设置比较繁琐,但实际安装调整完之后感觉还好。只要设置正确,都能按照你的预期来执行。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    对于习惯了使用WordPress等传统CMS程序的用户来说,使用纯静态的hexo更新网站或多或少还是有些不太适应。缺少了管理后台,无法直观的管理站点的日志和页面,只能通过一个个静态文件来更新。并且想要发布还需要去向github提交更改。

    +

    介绍

    +

    qexo01.png

    +

    Github上有个开源项目名为Qexo,这是一个为静态站点而生的项目,官方介绍为“Qexo 是一个快速、强大、美观的在线 静态博客编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署, 为您的静态博客添加动态的元素”。程序方面目前支持Hexo、Hugo和Valaxy。如果你正在使用这些程序,可以尝试一下。这个项目支持在Vercel平台一键部署,免去了额外的花销。而且官方也有较为详细的配置文档,新手也很容易上手。Qexo 文档 (oplog.cn)
    +部署前需要确认你的hexo已经通过github action设置了自动化部署,如何设置github action可以参阅我之前的文章使用GitHub Action实现HEXO的自动编译和发布 | 渊澄|YCYC.WIN
    +还需要注意的是如果你是在vercel部署的,需要在项目设置那里将node.js版本降级为18.x。这一点文档里面也着重强调了。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/5/index.html b/page/5/index.html new file mode 100644 index 0000000000..84926f00e0 --- /dev/null +++ b/page/5/index.html @@ -0,0 +1,886 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    引言

    +

    今天想着在图片上加水印,然后去看了picgo的插件。找到两个水印插件,设置完成之后一上传图片picgo程序就会闪退,不知道是不是个例。看了下插件已经3年没更新了,可能和新版的picgo不太兼容。然后在picgo的github讨论区看到有人推荐piclist。
    +piclist是在picgo的基础上进行二次开发的图片上传工具。完整保留了picgo的全部功能,而且增加了更多细致化的设置选项,并且原生支持文字或图片水印,无需安装三方插件。
    +按下图所示,安装完piclist后设置页面会有一键从picgo迁移配置的选项,可以导入在picgo的基本上所有设置项目,无需重复进行配置。
    +piclist1.png

    +

    另外设置页面可供自定义的选项也比picgo要多,可以满足更多人的需求。在图片上传设置里面可以设置水印信息。如果要添加图片水印,路径要填入计算机本地的路径,填入互联网地址不生效。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    前几天写了一篇介绍在iOS端收发企业邮箱的方法。iOS端收发163域名邮箱邮件IMAP | 渊澄|YCYC.WIN,当时使用的是网易的免费企业邮。因为我之前就有域名加到网易企业邮了,管理员账号是用的原来的域名设置的,所以我想要变更为新的域名账号。界面上找了一圈没找到修改入口,于是我就给客服发了一封站内信,咨询如何更换管理员账号。于是今天上午不出意料的接到了网易打来的推销电话,没有告我如何更换管理员账号,反而是推销了一番他们的收费企业邮箱。还有让人不可思议的是,当时我提交的站内信仅仅留了联系邮箱,并未留下我的联系电话。。。
    +于是乎想起了之前在cloudflare看过一眼的电子邮件转发功能。这个功能是新建一个你的域名邮箱地址,然后可以将这个地址收到的邮件转发到你现有的其他邮箱里面去。

    +

    操作

    +

    进入cloudflare相应的域名主页,左侧导航找到电子邮件路由。
    +image.png|300
    +设置方法很简单,根据界面提示操作就可以了。创建一个自定义地址,然后操作选择“转发电子邮件”,接着输入你现有的outlook电子邮箱地址。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    如果电脑没有安装homebrew,需要先安装homebrew。

    +
    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    之前我在安装git的时候已经安装过了所以这里跳过。执行下面命令安装picgo。

    +
    1
    brew install picgo --cask
    +

    截屏2024-09-21 21.44.41.png|300

    +

    安装完成之后在启动台就可以看到picgo的图标了,不出意外的话是无法直接打开的。这里我们需要设置一下mac的安全性策略,将允许从以下位置下载的app更改为“任何来源”。
    +image.png|475

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    安装homebrew和git

    +

    安装homebrew

    +
    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    等待homebrew安装完成之后开始安装git

    +
    1
    brew install git
    +

    配置github账户信息并生成ssh

    +

    安装完成git之后开始配置github账户信息

    +
    1
    2
    git config --global user.name "miaoyanginfo"
    git config --global user.email "paulmiao@me.com"
    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    将Github的图床部署到Cloudflare的Pages,可以享受cloudflare的加速服务,速度虽然比不上国内,但比起github原生的速度还是要强上不少。过程很简单,在Cloudflare新建一个Pages项目,链接到Github账户,选择图床源,一路下一步,完成部署。
    +然后设置自定义域名,例如img.ycyc.win,使用cname协议解析到Cloudflare分配的默认项目地址。
    +image.png

    +

    例如原来在Github的图片地址为’https://raw.githubusercontent.com/miaoyanginfo/hexo-img/main/img/202409131248235.png
    +现在替换为‘https://img.ycyc.win/img/202409131248235.png ’即可。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/6/index.html b/page/6/index.html new file mode 100644 index 0000000000..d2a24beb5b --- /dev/null +++ b/page/6/index.html @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    引言

    +

    昨天注册了一个ycyc.win的域名,想着把之前的miaoyang.win换掉。虽然主域名已经解析到了站点,也可以正常访问了,但旧域名还在正常工作,并且搜索引擎收录的也是旧域名。那如何能使旧域名跳转到新域名,而且要保证搜索引擎收录的页面也能正常跳转呢?需要用到之前给图床加速的cloudflare的重定向规则功能。

    +

    操作

    +

    我们进入到旧域名的cloudflare页面,找到规则-重定向规则,然后新建一条。
    +image.png
    +按照图中所示填入新旧域名,然后保存生效。这次状态代码那里要选择301。

    +

    测试

    +

    进入搜索引擎找一个被收录的旧域名页面打开,看其是否跳转到了新域名,而且页面是否正确。
    +https://miaoyang.win/posts/2353

    +

    后记

    +

    之前想要实现以上功能,大部分情况下都需要另外搭建一台nginx服务器,然后设置301跳转。现在只要在cloudflare简单设置一下,就可以省去搭建单独服务器的成本,并且可以利用其内置的多种类型条件,实现不同的功能。

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    引言

    +

    随着移动互联网的普及,现在电子邮箱的用处已经没有原先那么大了,但是有些网站注册和敏感的操作还是需要邮箱验证码。常用的类似于163、QQ、微软的主流邮箱服务的配置已经在手机邮件客户端内置了,只要输入邮箱地址和密码就可以很方便的接入手机邮件客户端。但是诸如一些非主流的企业邮箱想要接入手机端邮件APP就有些繁琐了,除了需要邮箱地址密码等基础信息外,还需要获取邮件服务器的地址和端口、加密方式等额外信息。下面记录一下如何将基于163服务的企业邮箱接入到iOS的邮件APP来进行邮件的收发。
    +image.png

    +

    相关协议

    +

    之前想要在三方客户端收发邮件是需要开通邮箱的POP3和SMTP协议的,然后在三方客户端输入pop3和smtp地址以及邮箱和密码就可以接入三方客户端了。而现在越来越多的邮箱已经取消的对POP3协议的支持,改用IMAP协议。其实原理差不多,只是IMAP输入的不是邮箱的登录密码,而是随机生成的授权码。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    昨天不是在处理阿里云域名往porkbun转移的事嘛,然后一直联系阿里售后工单也没有进展。今天闲来无事看了看porkbun上的域名价格,看看有啥优惠合适的域名再注册一个。搜了一会发现ycyc.win还没有注册,ycyc寓意渊澄YC,是我儿女的名字,子渊和子澄。而且现在.win域名注册也有优惠,第一年3.56美刀,续费4.98美刀,折合每年35块钱左右,于是一口气注册了10年。最终一共花了35.6美刀,支付宝直接付款,折合人民币254.68元。每年也就20几块钱。😜
    +image.png

    +

    现在已经将域名的NS服务器更改到了cloudflare,也解析到了目前这个站点,现在就可以通过https://ycyc.win 来访问渊澄YC站点了。随后我会将之前miaoyang.win的主要业务陆续切到ycyc.win这个域名来。
    +现在发现拼音状态下输入ycyc出来的词语是阴差阳错😳

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    我现在用的这个域名miaoyang.win是2016年的时候在阿里云注册的,当时.win域名有优惠活动,好像是5元还是10元每年,最多可以一次性注册10年。所以我注册了10年两个.win的域名。
    +好巧不巧,注册了没几年,具体什么时候我忘记了,阿里云被取消了.org、.win、.name等域名的注册管理机构许可,域名被强制转移到了阿里巴巴国际站。 当时想着距离到期时间还长,而且我的域名NS服务器也转移到了cloudflare,所以就没怎么关心续费和转移的事情。
    +现在眼看着马上还有两年就到期了,所以试着去阿里云国际站看看续费的事情,不看不知道,一看吓一跳,不仅续费费用比其他域名注册商要高,一年要6.19美刀,而且在支付的时候还需要添加一张外币信用卡才能付款,中国大陆还不支持paypal。最让人受不了的是居然连自家的支付宝也不支持。。。想想现在许多国外域名主机商都开始支持支付宝直接付款了,阿里云国际站居然不支持自己的支付宝付款。。😠

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    家里有两台小爱音箱,一台是在2017年首发时候淘宝加价买的小米小爱音箱第一代,用到现在已经7年了。音质放到现在还是很能打。另一台是今年在闲鱼买的小米小爱音箱Play增强版,翻了一下记录花了85块钱,而现在全新的官网售价也才129块。当初买这个是看中了其可以充当蓝牙Mesh网关,支持红外控制家电,还有机身LED时间显示。

    +

    image.png

    +

    但到手使用了一段时间之后才发现这个音箱很垃圾,相当不推荐购买。首先是唤醒延迟,一般需要喊两三次小爱同学才会唤醒,而且反应迟钝,在接收到唤醒指令之后还要反应1-2s才会做出回应。在一个就是音质和第一代AI音箱相比差了一条街的距离,可以说根本没有音质可言,也就是当个喇叭听个响。还有这音箱偶尔还会死机,具体表现为唤醒无反应,顶部按键无反应,LED时钟卡住不动。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/7/index.html b/page/7/index.html new file mode 100644 index 0000000000..94c5c3e6f9 --- /dev/null +++ b/page/7/index.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    HEXO默认使用的MarkDown渲染器是不支持emoji表情的,即使是你在页面插入了例如‘😃’这样的emoji代码,也无法正常识别为😃表情图标。
    +这样就需要替换HEXO默认的渲染器。运行下面的命令,首先卸载原来的渲染器,然后安装新的渲染器,最后安装支持emoji的渲染器插件。

    +
    1
    2
    3
    npm un hexo-renderer-marked --save  
    npm i hexo-renderer-markdown-it --save
    npm install markdown-it-emoji --save
    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    虽然小雅也是基于Alist的docker容器,但它是相对独立的,并且阉割也许多Alist的功能,无法像Alist那样和其他网盘进行文件复制。那有没有一种可能将小雅容器接入Alist呢,让小雅里面的资源也能轻松复制到其他网盘中?
    +今天咱们来搞小雅套娃操作,也就是将小雅接入到完整的Alist平台,将小雅中的资源转存到接入Alist的其他网盘中去。

    +

    前提

    +

    正常运行的小雅容器和Alist容器。

    +

    获取小雅链接令牌

    +

    使用ssh工具登录到小雅的宿主机。
    +运行以下命令:

    +
    1
    2
    3
    docker exec -i xiaoya sqlite3 data/data.db << EOF
    select value from x_setting_items where key = "token";
    EOF
    +
    +

    将命令中的xiaoya替换为你实际小雅容器的名称。

    +
    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前提

    +

    注册Github/Cloudflare账户并处于正常状态。

    +

    Github操作

    +

    Fork BPB项目到你的Github仓库。
    +BPB项目地址:bia-pain-bache/BPB-Worker-Panel: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)
    +image.png
    +Fork之后就会得到以你的用户为为开头的BPB项目地址。我Fork后的项目地址为miaoyanginfo/BPB: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)

    +

    Github这边的操作就基本上完成了。接着我们需要去到Cloudflare操作。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    想要多终端同时处理Obisdian怎么搞,可以借助三方插件remotely save配合alist的webdav协议来将文件存到接入Alist的各种网盘。
    +Alist是一个可以任意接入主流网盘的平台,并且可以通过alist来同步网盘间的文件,并且部署起来也很简单,只需要一条docker命令即可完成。详细的介绍可以直达官网了解Home | AList文档 (nn.ci)

    +

    安装配置插件

    +

    搜索安装并启用三方插件Remotely Save。这个插件支持多种包括亚马逊S3、微软OneDrive等主流网盘,也支持WEBDAV传输协议。我们今天就是要使用webdav协议来同步obisdian项目中的文件。
    +image.png

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近发现了一款使用体验不错的MarkDown编辑器,Obsidian。之前在电脑端一直使用微软的VScode来更新hexo和同步Github。试用了两天之后,感觉与vscode相比,obsidian轻量不少,启动和反应速度更快,界面更加适于写作。安装了三方插件之后,我觉得是可以取代vscode来作为日常hexo更新工具使用了。
    +image.png

    +

    目前我安装了三个插件,第一个是Templater,创建相应的模板之后可以直接在文章中调用,用于编辑文章的front-matter。这个插件设置比较简单,只要指定模板存放的文件夹,然后在该文件夹新建模板文件即可。使用的是由在界面左侧有快速插入按钮,选择相应模板即可。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/8/index.html b/page/8/index.html new file mode 100644 index 0000000000..90049cd8ce --- /dev/null +++ b/page/8/index.html @@ -0,0 +1,912 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    20240910152713
    +昨儿个凌晨,苹果召开了一年一度的秋季新品发布会,不知道从什么时候开始被誉为了科技界的春晚。
    +早上起来看苹果的公众号大概了解了一下发布的新品,依旧是没有什么亮点可言,都是一些常规升级:iPhone16系列,包括pro Max机型,Apple Watch 10代,还有Airpods第四代,包括一款支持主动降噪的型号。
    +没有期待中的新款Apple TV。
    +但是iPhone16系列会搭载最新的iOS18操作系统,在苹果iOS18的页面(https://www.apple.com/ios/ios-18/) 增强了AI(Apple Intelligence)功能,期待在iPhone上有惊艳表现,但据介绍最低只支持到iPhone 15Pro。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    image.png

    +

    前言

    +

    之前写过一篇文章,如何设置github图床(https://miaoyang.win/posts/23057) ,由于github在国内的访问时长抽风,导致浏览体验不太理想,所以当初使用了Jsdelivr的加速服务,也就是在Picgo自定义域名那里填写https://cdn.jsdelivr.net/gh/GitHub用户名/仓库名 使用Jsdelivr的cdn来加速图床的访问。
    +但是最近Jsdelivr在国内的访问也是时断时续,经常出现打不开的情况。于是想着看看还有什么可用的国内加速服务。一路搜索找到了jsdmirror这个服务,详细介绍可查看项目Github页面(https://github.com/54ayao/JSDMirror) ,太深奥的专业术语咱也看不懂,只知道这个服务可以代替Jsdelivr,加速国内的访问。
    +然后拜读了Leehow的这篇文章通过 Cloudflare 和 JsDelivr 免费加速博客 GitHub 图床等静态资源 ,于是决定放手一试,用cloudflare来加速图床的访问。

    +

    实现的效果

    +

    最终实现的效果:使用自己的二级域名https://cdn.miaoyang.win 来替换jsdelivr的https://cdn.jsdelivr.net 来加速github图床,并且根据访问者的ip匹配规则,国内ip调用jsdmirror的服务,国外ip调用jsdelivr。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    好久没有更新了,最近除了工作,其他时间都在研究小雅Alist的使用。什么是小雅Alist?它是一个基于Alist搭建的影音分享的docker容器,部署完成之后支持webdav协议,可以连接infuse、kodi、potplayer、nplayer、vidhub等等众多支持webdav协议的影音软件,资源主要来自于作者分享的各个网络云盘的资源,比如阿里云、115等等。
    +20240904095057
    +之前小雅Alist里面的资源都是来自于阿里云盘的,因为之前阿里云盘声称是永不限速,很长一段时间都可以通过小雅来流畅观看阿里云盘里面的视频资源。但是很快就被打脸了。大概在7月底的阿里云盘推出了三方权益包,每月需要额外花十几块钱办理这个包,里面有1TB的流量,可以将阿里云盘挂载到包括小雅Alist在内的其他第三方应用,享受高速传输服务,。如果你不办理这个权益包,速度会被限制在500kb/s左右,别说4k了,连1080的影片都无法流畅观看。让网友无法接受的是之前办理了阿里云盘VIP甚至是SVIP的网友,也需要单独购买这个三方权益包才可以不被限速,而且这个权益包只有1TB流量,用完之后,还是会被限速。。。
    +于是乎小雅开始转战115网盘,因为115有个转存阿里云盘的功能,简单来说就是,如果这个阿里的资源在115网盘上也有,会立即转存到你自己的网盘中。这样就跳过了阿里云盘的限制。当然115这边也有限制,需要开通会员才可以实现这个功能。但是115推出了优惠活动,包年会员115元,吸引了很多网友。而且最新的很多资源小雅都放到了115网盘中,所以想要玩小雅Alist,必须要办个115会员了。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    20240904100521
    +进入六月份以后国内众多的docker加速镜像突然停止了服务,外加docker官方源在国内被屏蔽,导致拉取docker镜像成了难题,就算是挂上梯子,速度也不理想。有网友发布了通过cloudflare的worker服务来加速docker镜像拉取的教程,我也实际操作了一遍,操作不复杂,而且加速效果明显,感兴趣的同学可以根据我下面的步骤操作。

    +

    将域名停靠到cloudflare

    +

    先去注册cloudflare账号,然后添加你的域名,将域名的NS地址改到cloudflare,等待生效。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近入手了一台京东AX1800pro 亚瑟路由器,64GB版本的,算上各种优惠后不到80块钱拿下。
    +到手后看到版本是R2242,按理说应该是是符合网上大神教程里面的免拆刷机版本的,但是按照教程一步一步折腾了好几次之后都没成功,后来回想可能是第一次开机之后在wan口插了网线,连接了互联网,导致被打了补丁所致。于是乎只剩下拆机通过TTL来刷机了。
    +过程倒是挺顺利的。
    +20240904101100
    +首先是将顶部的盖板撬开,拆除里面的两颗螺丝,接着底部的橡胶垫边缘撬起,在六边形的六个角有六颗螺丝,拆掉后就可以将底板拆掉。拆掉之后还有五颗螺丝固定主板的固定支架,拆掉后就可以将主板抽出了。
    +接着在主板TTL接口处焊接三个接线柱,分别是G、T、R三个口,对应CH340G模块的G、R、T,用杜邦线连接好,电脑上装好驱动,用网线连接路由器LAN口和电脑,就可以开始操作了。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/page/9/index.html b/page/9/index.html new file mode 100644 index 0000000000..9313080464 --- /dev/null +++ b/page/9/index.html @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    20240605104448
    +该剧改编自猫腻同名畅销小说,承接上季,范闲(张若昀 饰)率领使团回归途中,二皇子以费介、范思辙以及滕家遗孤的安危来威胁范闲,逼他向自己俯首称臣,二人的矛盾就此激发。范闲所面对的抱月楼迷局,以及接踵而至的春闱危机,都是二皇子精心给范闲布下的陷阱。

    +

    范闲与林婉儿如愿大婚,紧接着,范闲接手内库,却发现内库负债累累。 范闲拒绝了庆余堂大掌柜的相助,决定靠自己的力量解决内库危机,范闲相约城中众商贾相聚苍山,以售卖“库债”为机筹集了两千多万银两,解决了内库空虚问题。

    +

    悬空寺上,庆帝遭遇三连刺杀,范闲出手相救却导致武功全废。危机四伏,压力陡增,范闲别无选择,他必须以这样的身体下江南,挑战庞大的势力与既定的游戏规则,以求彻底夺回内库。

    +

    种子链接

    +

    https://1827552651-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzyeXCfWDMCUsuUrT3Z6v%2Fuploads%2FNPmNxNXaUFnXoGjSbn9q%2F庆余年.第二季.Joy.of.Life.S02.2024.Chinese.EP01-36.Complete.1080P.Disney.WEB-DL.H265.DDP2.0-Vampire.torrent?alt=media&token=ed8dcd91-4a8e-47bd-aad5-1502043e6dfe

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    前言

    +

    20240904101409
    +上周趁着清明假期,鼓捣了一下局域网iptv组播,然后自己也在一些平台和终端测试了一些主流的IPTV播放软件,结合自己手头现有设备的情况,推荐下面几款播放软件,如果你有更好的软件,欢迎推荐分享。
    +软件本身并不提供IPTV直播服务,需要我们将自己创建或是下载到的m3u文件导入到软件内进行播放。另外有部分软件支持epg节目预告,可以根据m3u里面的频道匹配该频道的节目播放单,实现节目预告。这里感谢51zmt提供的epg服务(http://epg.51zmt.top:8000/) 。另外该站点还支持台标匹配,你可以上传自己的m3u文件,然后匹配对应的频道台标LOGO。

    +

    kodi(全平台)

    +

    只要你的设备能安装和运行kodi,推荐使用kodi来播放IPTV的m3u。
    +首先需要在插件里面下载 iptv simply client 这个插件,安装好之后在插件设置里面设置好m3u源文件地址,设置好epg节目预告地址(http://epg.51zmt.top:8000/e.xml), 然后在主页面进去电视菜单,就可以观看IPTV了。
    +官网 https://kodi.tv

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    网络环境

    +

    山西太原联通宽带。光猫INTERNET口与IPTV口为不同的网络。IPTV口接联通送的IPTV盒子可以观看IPTV电视节目。
    +INTERNET口桥接模式连接华为AX3路由器(IP地址为192.168.1.2),AX3负责PPPOE拨号。
    +AX3下连一台刷了Openwrt的斐讯N1盒子(IP地址为192.168.1.2)用于科学工作。连了一台刷了Openwrt的网件AX206路由器(IP地址为192.168.1.4)用于扩展WIFI覆盖范围。
    +网件WAX206的LAN口与华为AX3的LAN口相连,并且与主路由AX3设置成了统一的SSID和密码,关闭了DHCP。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    N1刷了W大的电视盒子固件有两三年的时间了,期间配了T1遥控器,又扩容到了32G的存储,可以装下更多的APP了。运行KODI和日常的爱优腾都还算比较流畅,但唯独有一点,运行官方Youtube应用的时候会经常出现卡顿和死机的情况,体验不是很好,加之KODI下里面的Yotube插件也不能正常使用了,所以在N1上看油管视频一直没有一个很好的解决方案。
    +最近闲逛的时候发现有好多网友和我一样的情况,下面有热心网友推荐第三方的油管APP-smarttube。不仅可以流畅观看油管视频,而且可以免安装谷歌框架登录油管谷歌账号,同步观看记录和订阅频道。
    +image.png

    +

    这是软件的官网地址,可以下载稳定版和测试版:
    +https://smarttubenext.com/
    +安装方法也很简单,下载APK拷贝到优盘,插到N1上直接安装就可以了。
    +项目Github主页:yuliskov/SmartTube: SmartTube - an advanced player for set-top boxes and tvs running Android OS (github.com)

    + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + + +
    + + + +
    + + + + + + + +
    +

    + +

    + + +
    + + + + +
    +

    最近入手了一台爱普生的L3251彩色喷墨打印机,可以连WIFI实现网络共享,但有点遗憾的是机器原生并不支持苹果的Airprint协议,也就是无法通过iOS设备直接打印,但是官方提供了一款名为“Epson Smart Panel”的软件,在该软件中配置好打印机之后,可以直接通过该软件打印照片或文档等内容,也可以在相册中选择需要打印的图片,点击共享按钮,选择“使用epson打印”,系统可以直接跳到该软件,完成打印任务,如果你在共享中直接选择系统自带的打印服务,是发现不了打印机的。

    + +
    + + 阅读全文 » + +
    + + + +
    + + + + + +
    +
    + +
    +
    +
    + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/placeholder b/placeholder deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/posts/10203.html b/posts/10203.html new file mode 100644 index 0000000000..37c8119fc5 --- /dev/null +++ b/posts/10203.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +闲鱼710块大洋入手暴风播酷云NAS主机 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 闲鱼710块大洋入手暴风播酷云NAS主机 +

    + + +
    + + + + +

    前几天在闲鱼出掉了之前使用的NAS主板,因为在使用过程中发现,安装黑群晖之后在进行图片转码和播放影片时,CPU占用率很高,所以想着换一块性能更好一些的主板,然后这次再次把目光锁定在了网红NAS专用主板-华擎J3455ITX。

    +

    今天在闲鱼上搜索J3455的时候,找到一个卖家在出售回收回来的暴风播酷云,自带J3455ITX主板,8GB笔记本内存,16GB SSD硬盘加电源,关键是还有万由代工的双盘位机箱,加运费算下来一共710块大洋。

    +

    TIM截图20181221162058.jpg

    +

    因为买的人比较多,所以卖家在付款两天后才会发货,等收到货之后我会写一篇文章简单介绍一下这个主机,以及安装黑群晖系统的步骤。

    +

    因为家里下个月宽带会升到300M,所以我最近也买了新路由3还有千兆网线、水晶头,等到时候所有设备都准备就绪之后,我再来测试一下家庭千兆网络环境下的网速究竟能有多快。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/10394.html b/posts/10394.html new file mode 100644 index 0000000000..6adcb685a3 --- /dev/null +++ b/posts/10394.html @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +智能家居的精髓-人性化的自动化 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 智能家居的精髓-人性化的自动化 +

    + + +
    + + + + +

    个人认为,智能家居的核心是自动化,而智能家居的精髓所在,是人性化的自动化。所有设备根据设定好的条件自动运行,有条不紊,而不是掏出手机,点开APP来控制。

    +

    HomeAssistant系统提供了强大的自动化平台,利用各式各样的传感器来自动化控制各类设备。

    +

    举个例子,每天都有太阳升起和降落的时间,我们可以设置,每天太阳升起时关闭卧室的吊灯,太阳降落时打开卧室的吊灯。

    +

    当然这只是最简单的一个自动化,我们可以在其中添加更多的条件,让它越来越人性化。

    +

    太阳降落时,如果我不在家,就不用开灯,我在家的时候才打开卧室的吊灯。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/10805.html b/posts/10805.html new file mode 100644 index 0000000000..c6989e0159 --- /dev/null +++ b/posts/10805.html @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用花生壳DDNS来远程管理Padavan路由器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用花生壳DDNS来远程管理Padavan路由器 +

    + + +
    + + + + +

    Padavan固件内置了很多DDNS服务商,但唯独没有我们日常使用较多的Oray花生壳,下面我将教大家如何再Padavan系统中使用花生壳DDNS实现远程登陆我们的路由器管理页面。

    +

    登陆路由器,前往【高级设置】-【外部网络】-【动态域名解析】

    +

    在"服务器"一栏中选择"custom",“DDNS服务器"中输入"ddns.oray.com”,然后填入你在花生壳注册的域名,以及你的花生壳账户及密码,最后保存页面设置。

    +

    TIM截图20181229084749.jpg

    +

    然后我们切换到"端口转发"选项卡,把路由器的80端口转发到任意一个其他端口,下面图片里我将路由器的80端口转发到了1234端口,大家可以将1234换为自己喜欢的端口。

    +

    TIM截图20181229085041.jpg

    +

    保存设置之后,我们在远程访问http://花生壳域名:1234 就可以访问到我们的路由器管理界面了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/11416.html b/posts/11416.html new file mode 100644 index 0000000000..0bd1d6ba02 --- /dev/null +++ b/posts/11416.html @@ -0,0 +1,537 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +简化操作安装hassctl命令 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 简化操作安装hassctl命令 +

    + + +
    + + + + +

    现在我们安装HASSCTL脚本,使用该脚本可以很方便的开启、停止、重启、升级HomeAssistant以及检查HomeAssistant配置文件是否有误。

    +
    sudo curl -o /usr/local/bin/hassctl https://raw.githubusercontent.com/dale3h/hassctl/master/hassctl && sudo chmod +x /usr/local/bin/hassctl
    +
    +

    安装完成之后,我们可以使用以下命令:

    +
    hassctl start   ###快速启动homeassistant服务###
    +hassctl stop   ###快速停止homeassistant服务### 
    +hassctl restart   ###快速重启homeassistant服务### 
    +hassctl config   ###检查homeassistant配置文件是否有误###
    +hassctl update-hass  ###升级homeassistant到最新版本###
    +
    +

    更详细的使用说明可以参照作者的GitHub项目主页:https://github.com/dale3h/hassctl

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/11923.html b/posts/11923.html new file mode 100644 index 0000000000..be77abdf58 --- /dev/null +++ b/posts/11923.html @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +更换服务器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 更换服务器 +

    + + +
    + + + + +

    仔细一看,距离上次更新已经有大半年之久了,真是惭愧,一直没有时间静下心来更新。

    +

    期间很长时间是因为原先的服务器被墙了,暂时没有找到合适和服务器来替换。而就在昨天,在Godaddy上无意间搜索,竟然发现我之前被盗的域名miaoyang.info可以注册了,所以我立即下手注册了,接着在Vultr上购买了VPS,安装了宝塔面板,把被墙服务器的数据又倒了过来,这才暂时算是正常了。
    +目前网站的主域名是miaoyang.info,将miaoyang.win以及miaoziyuan.com两个域名做了跳转,现在上述三个域名都可以直达本站。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/11994.html b/posts/11994.html new file mode 100644 index 0000000000..9f715c69ed --- /dev/null +++ b/posts/11994.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用cloudflare的worker加速docker镜像下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用cloudflare的worker加速docker镜像下载 +

    + + +
    + + + + +

    20240904100521
    +进入六月份以后国内众多的docker加速镜像突然停止了服务,外加docker官方源在国内被屏蔽,导致拉取docker镜像成了难题,就算是挂上梯子,速度也不理想。有网友发布了通过cloudflare的worker服务来加速docker镜像拉取的教程,我也实际操作了一遍,操作不复杂,而且加速效果明显,感兴趣的同学可以根据我下面的步骤操作。

    +

    将域名停靠到cloudflare

    +

    先去注册cloudflare账号,然后添加你的域名,将域名的NS地址改到cloudflare,等待生效。

    + +

    新建worker项目

    +

    进入左侧的worker和pages菜单
    +20240708094217
    +新建一个worker项目,然后自己随意起个项目名字,最后点击右下角的部署按钮。
    +20240708094525

    +

    复制代码

    +

    创建成功之后点击如图所示的编辑代码按钮。
    +20240708094650
    +将下面的代码全部复制过去,然后点击右上角的部署按钮。
    +20240708094926

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    'use strict'
    const hub_host = 'registry-1.docker.io'
    const auth_url = 'https://auth.docker.io'
    const workers_url = 'https://docker.miaoyang.win'
    const PREFLIGHT_INIT = {
    status: 204,
    headers: new Headers({
    'access-control-allow-origin': '*',
    'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS',
    'access-control-max-age': '1728000',
    }),
    }
    function makeRes(body, status = 200, headers = {}) {
    headers['access-control-allow-origin'] = '*'
    return new Response(body, {status, headers})
    }
    function newUrl(urlStr) {
    try {
    return new URL(urlStr)
    } catch (err) {
    return null
    }
    }
    addEventListener('fetch', e => {
    const ret = fetchHandler(e)
    .catch(err => makeRes('cfworker error:n' + err.stack, 502))
    e.respondWith(ret)
    })
    async function fetchHandler(e) {
    const getReqHeader = (key) => e.request.headers.get(key);
    let url = new URL(e.request.url);
    if (url.pathname === '/token') {
    let token_parameter = {
    headers: {
    'Host': 'auth.docker.io',
    'User-Agent': getReqHeader("User-Agent"),
    'Accept': getReqHeader("Accept"),
    'Accept-Language': getReqHeader("Accept-Language"),
    'Accept-Encoding': getReqHeader("Accept-Encoding"),
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0'
    }
    };
    let token_url = auth_url + url.pathname + url.search
    return fetch(new Request(token_url, e.request), token_parameter)
    }
    url.hostname = hub_host;
    let parameter = {
    headers: {
    'Host': hub_host,
    'User-Agent': getReqHeader("User-Agent"),
    'Accept': getReqHeader("Accept"),
    'Accept-Language': getReqHeader("Accept-Language"),
    'Accept-Encoding': getReqHeader("Accept-Encoding"),
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0'
    },
    cacheTtl: 3600
    };
    if (e.request.headers.has("Authorization")) {
    parameter.headers.Authorization = getReqHeader("Authorization");
    }
    let original_response = await fetch(new Request(url, e.request), parameter)
    let original_response_clone = original_response.clone();
    let original_text = original_response_clone.body;
    let response_headers = original_response.headers;
    let new_response_headers = new Headers(response_headers);
    let status = original_response.status;
    if (new_response_headers.get("Www-Authenticate")) {
    let auth = new_response_headers.get("Www-Authenticate");
    let re = new RegExp(auth_url, 'g');
    new_response_headers.set("Www-Authenticate", response_headers.get("Www-Authenticate").replace(re, workers_url));
    }
    if (new_response_headers.get("Location")) {
    return httpHandler(e.request, new_response_headers.get("Location"))
    }
    let response = new Response(original_text, {
    status,
    headers: new_response_headers
    })
    return response;
    }
    function httpHandler(req, pathname) {
    const reqHdrRaw = req.headers
    // preflight
    if (req.method === 'OPTIONS' &&
    reqHdrRaw.has('access-control-request-headers')
    ) {
    return new Response(null, PREFLIGHT_INIT)
    }
    let rawLen = ''
    const reqHdrNew = new Headers(reqHdrRaw)
    const refer = reqHdrNew.get('referer')
    let urlStr = pathname
    const urlObj = newUrl(urlStr)
    /** @type {RequestInit} */
    const reqInit = {
    method: req.method,
    headers: reqHdrNew,
    redirect: 'follow',
    body: req.body
    }
    return proxy(urlObj, reqInit, rawLen, 0)
    }
    async function proxy(urlObj, reqInit, rawLen) {
    const res = await fetch(urlObj.href, reqInit)
    const resHdrOld = res.headers
    const resHdrNew = new Headers(resHdrOld)
    // verify
    if (rawLen) {
    const newLen = resHdrOld.get('content-length') || ''
    const badLen = (rawLen !== newLen)
    if (badLen) {
    return makeRes(res.body, 400, {
    '--error': `bad len: ${newLen}, except: ${rawLen}`,
    'access-control-expose-headers': '--error',
    })
    }
    }
    const status = res.status
    resHdrNew.set('access-control-expose-headers', '*')
    resHdrNew.set('access-control-allow-origin', '*')
    resHdrNew.set('Cache-Control', 'max-age=1500')
    resHdrNew.delete('content-security-policy')
    resHdrNew.delete('content-security-policy-report-only')
    resHdrNew.delete('clear-site-data')
    return new Response(res.body, {
    status,
    headers: resHdrNew
    })
    }
    +

    添加自定义域名

    +

    之后进入到worker项目页面点击设置-触发器,添加一个自定义域,这个自定义域可以是你解析到cloudflare的域名的一个二级域名,例如docker.example.com 。然后将该域名添加一条路由。
    +20240708104819

    +

    测试加速效果

    +

    如果你需要拉取的镜像homeassistant/aarch64-homeassistant:latest
    +现在需要在docker镜像前面加上你的自定义域,命令如下

    +
    1
    docker pull docker.example.com/homeassistant/aarch64-homeassistant:latest
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/12103.html b/posts/12103.html new file mode 100644 index 0000000000..78ce0367be --- /dev/null +++ b/posts/12103.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +苹果2019年初正式发售国行版HomePod 售价2799 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 苹果2019年初正式发售国行版HomePod 售价2799 +

    + + +
    + + + + +

    近日,苹果升级了智能音箱HomePod的固件,使其终于能够支持中文了,同步支持的语言还包括广东话。

    +

    而苹果中国官网也随即挂出了国行HomePod的页面,有白色和深空灰两种配色,售价均为2799元人民币,预计会在2019年初开放购买。

    +

    TIM截图20181206135234.jpg

    +

    HomePod是苹果公司发布的一款互联网智能音箱,内置自家的Siri语音助手,配合iPhone手机及Apple Music账户可以实现信息查询、播放音乐、接打电话、AirPlay等功能,配合家庭APP及HomeKit配件,可以实现智能家庭的语音控制。

    +

    HomePod同时也支持多台HomePod串联,组成多声道音响系统,也支持多个HomePod播放不同的内容,组成家庭背景音乐系统。

    +

    目前国内的各品牌智能音箱,无论从外观、功能及音质方面,都无法和HomePod直接竞争,当然也包括价格,而随着HomePod国行版的正式发售,苹果在国内的智能音箱及智能家居领域,必会有所斩获,毕竟苹果的用户体验是有目共睹的。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/12783.html b/posts/12783.html new file mode 100644 index 0000000000..33e15f9f46 --- /dev/null +++ b/posts/12783.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +京东AX1800 pro拆机刷uboot及华硕固件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 京东AX1800 pro拆机刷uboot及华硕固件 +

    + + +
    + + + + +

    最近入手了一台京东AX1800pro 亚瑟路由器,64GB版本的,算上各种优惠后不到80块钱拿下。
    +到手后看到版本是R2242,按理说应该是是符合网上大神教程里面的免拆刷机版本的,但是按照教程一步一步折腾了好几次之后都没成功,后来回想可能是第一次开机之后在wan口插了网线,连接了互联网,导致被打了补丁所致。于是乎只剩下拆机通过TTL来刷机了。
    +过程倒是挺顺利的。
    +20240904101100
    +首先是将顶部的盖板撬开,拆除里面的两颗螺丝,接着底部的橡胶垫边缘撬起,在六边形的六个角有六颗螺丝,拆掉后就可以将底板拆掉。拆掉之后还有五颗螺丝固定主板的固定支架,拆掉后就可以将主板抽出了。
    +接着在主板TTL接口处焊接三个接线柱,分别是G、T、R三个口,对应CH340G模块的G、R、T,用杜邦线连接好,电脑上装好驱动,用网线连接路由器LAN口和电脑,就可以开始操作了。

    + +

    将uboot.mbn放到tftpd的根目录。刷机过程中保持tftpd软件为开启状态。
    +用putty连接对应的COM口,波特率为115200。
    +通电开启,putty界面按回车键出现IPQ6018命令行,输入

    +
    1
    2
    tftpboot u-boot.mbn

    +

    等待命令执行完再输入

    +
    1
    tftpboot u-boot.mbn && flash 0:APPSBL && flash 0:APPSBL_1
    +

    执行完毕后断开TTL连接然后,重启路由器即可。电脑配置192.168.1网段的IP,浏览器进入192.168.1.1即可上传固件刷机。注意先上传华硕底包,然后进入路由器后台选择固件升级,再上传正式固件即可。
    +uboot及固件下载链接:
    +链接:https://pan.baidu.com/s/1Nt1q3qWMUTlxAurM6av95A?pwd=76ao
    +提取码:76ao

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/13016.html b/posts/13016.html new file mode 100644 index 0000000000..81186b1d85 --- /dev/null +++ b/posts/13016.html @@ -0,0 +1,562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Obsidian格式化插件-Linter | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Obsidian格式化插件-Linter +

    + + +
    + + + + +

    今天介绍一款Obsidian神级插件-Linter。
    +项目主页platers/obsidian-linter: An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility. (github.com)
    +Linter是一款可以让你的Obsidian文件更加整齐统一美观的插件,而我得知到它的途径是我想要实现如何在Obsidian的文章中可以自动更新文章的修改时间。
    +Hexo日志的Front-matter有date和updated两个参数,date是文章的创建时间,updated是最后修改时间。之前用vscode通过github action部署之后这两个时间默认是一样的,都是项目最后部署的时间,除非你手动在每篇文章都指定这两个字段。
    +转到Obsidian之后,我用templater插件创建了Front-matter模板,虽然可以简化手动输入的操作,但是updated字段在你首次插入模板之后就固定下来了,不会随着你修改的时间而变化,除非你手动去修正。
    +然后就是一通搜索,看看有没有办法能获取到每次文章真正修改的时间,并写入到文章的Front-matter中去。
    +然后就是有人推荐一款名为Linter的插件。看上去设置比较繁琐,但实际安装调整完之后感觉还好。只要设置正确,都能按照你的预期来执行。

    + +

    如何搜索安装就不说了。着重写一下我目前实现的功能和相关的设置。还有就是如果设置得当的话,完全可以弃用templater来导入front-matter模板了。

    +

    自动将文件名设置为title并写入front-matter。

    +

    在插件的YAML选项卡找到下图所示的选项设置保存。

    +

    image.png

    +

    自动将标签和分类字段添加到front-matter

    +

    在插件的YAML选项卡找到下图所示的选项设置保存。
    +image.png

    +

    如果你还希望插入其他字段,可以一并在这里输入

    +

    自动将创建时间和最后修改时间写入front-matter

    +

    在YAML选项卡找到YAML时间戳。
    +image.png

    +

    image.png

    +

    日期格式按照图中所示填写。

    +

    设置完成之后在基础选项卡参照下图按需设置

    +

    image.png

    +

    测试

    +

    一切就绪之后可以新建一篇文章进行测试。
    +手动保存之后会自动添加front-matter内容,并且会更新当前时间修改updated字段的时间。
    +目前发现一个问题,如果我打开之前的文章,没有做任何修改,直接保存后,updated时间会更新到当前时间。
    +image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/13021.html b/posts/13021.html new file mode 100644 index 0000000000..ac054ce100 --- /dev/null +++ b/posts/13021.html @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +目前群晖搭建WordPress存在的问题 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 目前群晖搭建WordPress存在的问题 +

    + + +
    + + + + +

    现在在群晖上将域名进行了DDNS解析,目前实现了使用域名+端口的方式来访问站点。由于电信运营商封锁了80和443端口,所以现在使用8012端口来替代443访问。

    +

    目前存在的主要问题是,必须手动输入https://miaoyang:8012才可以访问,不输入https直接访问会有报错。

    +

    尝试使用默认的443端口采用反向代理的方法来跳转到8012端口,但是现在群晖系统内设置了反向代理也没有生效,暂时不知道是哪里的问题。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/1316.html b/posts/1316.html new file mode 100644 index 0000000000..181ad3128a --- /dev/null +++ b/posts/1316.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +靠谱的serv00保活办法-利用青龙定时启动PM2 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 靠谱的serv00保活办法-利用青龙定时启动PM2 +

    + + +
    + + + + +

    经过一个星期的测试,利用青龙面板定时执行pm2 resurrect 能持续保持任务运行。

    +

    serv00上面的设置

    +

    首先你需要在serv00上面安装PM2命令,具体方法可以参考我的上一篇文章(serv00安装PM2守护程序及应用保活测试 | 渊澄
    +然后将你所有需要后台保持的应用使用pm2命令启动。
    +使用pm2 list查看所有任务是否已启动,确认无误之后使用pm2 save保存当前进度。

    +

    青龙面板相关设置

    +

    请确保青龙面板已搭建成功并正常运行。
    +首先需要安装Linux sshpass依赖。
    +image.png

    + +

    接着创建一个任务脚本,将下面命令复制并命名为 serv00.sh

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/bash

    HOST="你的服务器地址"

    USERNAME=serv00用户名

    PASSWORD=serv00密码

    sshpass -p ${PASSWORD} ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt ${USERNAME}@${HOST} << EOF

    pm2 resurrect

    exit

    EOF

    echo "finished"
    +
    +

    将脚本中的服务器地址、用户名和密码修改成你的信息。
    +image.png

    +
    +

    最后创建一个定时任务就可以了。

    +
    1
    task serv00/serv00.sh
    +

    定时规则可以根据自己情况做修改,下图所示为一个小时执行一次。详细的crontab规则可参考(crontab 定时任务规则收藏 | 渊澄
    +image.png

    +

    试运行

    +

    点击运行脚本查看日志,如果出现下图所示日志,则说明任务正常运行了。否则根据日志排查错误。
    +image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/13691.html b/posts/13691.html new file mode 100644 index 0000000000..5123d9ac9f --- /dev/null +++ b/posts/13691.html @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +嘿嘿,ycyc.win | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 嘿嘿,ycyc.win +

    + + +
    + + + + +

    昨天不是在处理阿里云域名往porkbun转移的事嘛,然后一直联系阿里售后工单也没有进展。今天闲来无事看了看porkbun上的域名价格,看看有啥优惠合适的域名再注册一个。搜了一会发现ycyc.win还没有注册,ycyc寓意渊澄YC,是我儿女的名字,子渊和子澄。而且现在.win域名注册也有优惠,第一年3.56美刀,续费4.98美刀,折合每年35块钱左右,于是一口气注册了10年。最终一共花了35.6美刀,支付宝直接付款,折合人民币254.68元。每年也就20几块钱。😜
    +image.png

    +

    现在已经将域名的NS服务器更改到了cloudflare,也解析到了目前这个站点,现在就可以通过https://ycyc.win 来访问渊澄YC站点了。随后我会将之前miaoyang.win的主要业务陆续切到ycyc.win这个域名来。
    +现在发现拼音状态下输入ycyc出来的词语是阴差阳错😳

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/14057.html b/posts/14057.html new file mode 100644 index 0000000000..71a9b13078 --- /dev/null +++ b/posts/14057.html @@ -0,0 +1,544 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖开启NFS文件共享服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖开启NFS文件共享服务 +

    + + +
    + + + + +

    NFS是一种文件传输方式,类似于SAMBA。

    +

    前往控制面板,文件服务,在NFS处启用NFS服务。
    +TIM截图20180422221904.png

    +

    接着进入共享文件夹选项,编辑你需要设置NFS共享的文件夹,切换到权限选项卡,确保已正确设置了读写权限

    +

    TIM截图20180422222200.png

    +

    然后切换到NFS权限选项卡,按照下图进行设置,然后保存即可。
    +TIM截图20180422222343.png

    +

    设置完成之后我们就可以在局域网内的设备上使用NFS来传输文件了,比如在KODI中,我们可以通过NFS浏览到NAS中共享的文件,经测试NFS比传统的SAMBA传输更快,占用更少的带宽。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/16289.html b/posts/16289.html new file mode 100644 index 0000000000..7e084de0ca --- /dev/null +++ b/posts/16289.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +WordPress数据的备份与还原 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + WordPress数据的备份与还原 +

    + + +
    + + + + +
    +

    刚刚重装了VPS系统,分享一下如何备份和还原WordPress的数据。

    + + +

    首先我们需要将数据库进行备份,登陆PHPMYADMIN,然后找到WordPress所在的数据库,找到"导出"选项卡,将数据库备份下载到本地。

    +

    微信截图_20180814154750.png

    +

    接着我们用FTP工具登陆到网站目录,可以备份整个目录,也可以只备份wp-content文件夹,因为这个文件夹存放着我们上传的主题、插件及图片附件等文件。

    + + +

    备份完成之后我们介绍一下如何还原。

    + + +

    从wordpress官网下载最新版本的程序,然后上传到空间,接着新建一个数据库,名称随意,可以使用之前的名称,也可以使用新名称。然后在PHPMYADMIN中找到"导入"选项卡,将我们之前下载到本地的数据库备份文件上传导入。

    +

    微信截图_20180814155528.png

    +

    然后我们用FTP工具将之前备份的wp-content文件夹上传覆盖。在根目录下将wp-config-sample.php文件复制一份并重命名为wp-config.php。编辑wp-config.php文件,填入数据库地址、名称、用户名及密码,然后保存。

    + + +

    至此,WordPress的备份及还原工作结束。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/16703.html b/posts/16703.html new file mode 100644 index 0000000000..f39238e38f --- /dev/null +++ b/posts/16703.html @@ -0,0 +1,537 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用cloudflare重定向规则无缝切换域名 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用cloudflare重定向规则无缝切换域名 +

    + + +
    + + + + +

    引言

    +

    昨天注册了一个ycyc.win的域名,想着把之前的miaoyang.win换掉。虽然主域名已经解析到了站点,也可以正常访问了,但旧域名还在正常工作,并且搜索引擎收录的也是旧域名。那如何能使旧域名跳转到新域名,而且要保证搜索引擎收录的页面也能正常跳转呢?需要用到之前给图床加速的cloudflare的重定向规则功能。

    +

    操作

    +

    我们进入到旧域名的cloudflare页面,找到规则-重定向规则,然后新建一条。
    +image.png
    +按照图中所示填入新旧域名,然后保存生效。这次状态代码那里要选择301。

    +

    测试

    +

    进入搜索引擎找一个被收录的旧域名页面打开,看其是否跳转到了新域名,而且页面是否正确。
    +https://miaoyang.win/posts/2353

    +

    后记

    +

    之前想要实现以上功能,大部分情况下都需要另外搭建一台nginx服务器,然后设置301跳转。现在只要在cloudflare简单设置一下,就可以省去搭建单独服务器的成本,并且可以利用其内置的多种类型条件,实现不同的功能。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/16783.html b/posts/16783.html new file mode 100644 index 0000000000..8a0d81d3a6 --- /dev/null +++ b/posts/16783.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +来宜家网购吧 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 来宜家网购吧 +

    + + +
    + + + + +

    目前宜家官网(https://www.ikea.cn/cn/zh/)已开通网上商城服务,可配送的城市已由之前的34个扩展到149个,覆盖国内大部分一二三线城市,而我所在的太原也赫然在列。(具体覆盖城市点这里查看

    +

    management-theory-and-IKEA.jpg

    +

    其实自己也算是半个宜家粉,因为所在城市没有宜家家居,之前购买宜家的东西都是通过淘宝代购。

    +

    我试着在宜家网上商城下了两个订单,如果只是小件物品的话,运费只需要9.9元/单,大件家具的话只能通过货车运送,运费应该是最低69元。配送时限方面,小件物品一般会在3天内送达,大件物品需要7个工作日左右。

    +

    具体的购物流程我就不写了,和大部分网上商城一样,先注册账户,然后商品加入购物车,最后结账付款。需要注意的是订货之前必须查到你的收货地址的邮编,因为宜家是按照邮编来计算运费的,付款方面支持微信及支付宝。

    +

    购物的时候记得加入会员俱乐部,会员不仅能享受部分商品的会员价,退货时限延长到365天,凭会员卡好像还可以在宜家商场喝免费咖啡哈。

    +

    PS:刚刚接到京东物流的电话,说快递分发错站点了,明天就会送过来。
    +所以推断宜家的快递用的应该是京东物流,至少山西太原是用京东物流来配送,昨天中午下的单今天就送来了,给京东物流点个赞。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/16982.html b/posts/16982.html new file mode 100644 index 0000000000..082300965d --- /dev/null +++ b/posts/16982.html @@ -0,0 +1,532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖DSM获取root密码的方法 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖DSM获取root密码的方法 +

    + + +
    + + + + +

    用Putty登录群晖NAS的时候发现输入root用户然后输入admin密码之后无法登录,只能用admin的账户和密码才能登录,如果要获取root权限,必须输入 sudo -i然后输入admin的密码才可以。

    +

    也就是说我们并不知道群晖默认的root密码是多少,那我们可以用下面的命令来修改root密码

    +
    synouser --setpw root newpassword
    +
    +

    将newpassword替换成你要设置的密码就可以了。

    +

    这样就可以用root账户直接登录了。暂时没有发现修改root密码后对系统产生的影响。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/18268.html b/posts/18268.html new file mode 100644 index 0000000000..2236e93b66 --- /dev/null +++ b/posts/18268.html @@ -0,0 +1,564 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +利用cloudflare+outlook创建自定义域名邮箱收发邮件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 利用cloudflare+outlook创建自定义域名邮箱收发邮件 +

    + + +
    + + + + +

    前言

    +

    前几天写了一篇介绍在iOS端收发企业邮箱的方法。iOS端收发163域名邮箱邮件IMAP | 渊澄|YCYC.WIN,当时使用的是网易的免费企业邮。因为我之前就有域名加到网易企业邮了,管理员账号是用的原来的域名设置的,所以我想要变更为新的域名账号。界面上找了一圈没找到修改入口,于是我就给客服发了一封站内信,咨询如何更换管理员账号。于是今天上午不出意料的接到了网易打来的推销电话,没有告我如何更换管理员账号,反而是推销了一番他们的收费企业邮箱。还有让人不可思议的是,当时我提交的站内信仅仅留了联系邮箱,并未留下我的联系电话。。。
    +于是乎想起了之前在cloudflare看过一眼的电子邮件转发功能。这个功能是新建一个你的域名邮箱地址,然后可以将这个地址收到的邮件转发到你现有的其他邮箱里面去。

    +

    操作

    +

    进入cloudflare相应的域名主页,左侧导航找到电子邮件路由。
    +image.png|300
    +设置方法很简单,根据界面提示操作就可以了。创建一个自定义地址,然后操作选择“转发电子邮件”,接着输入你现有的outlook电子邮箱地址。

    + +

    image.png|300
    +添加完成之后cloudflare会自动为域名做相关解析,并且会向你的outlook邮箱发送验证链接。
    +image.png
    +等待验证完成后状态变为活动即可。

    +

    image.png

    +

    这里需要说一下catch-all功能,开启这个功能后,所有来自你域名的邮件都会被转发到你指定的邮箱。也就是说理论上你可以创建无数个虚拟邮箱地址,邮件都会被转到你设置好的邮箱里面去。

    +

    outlook添加别名实现邮件发送

    +

    参考【小白向】文章中关于在outlook添加别名的路径好像已经失效了。经过查阅微软相关文档,在 Outlook.com 中添加或删除电子邮件别名 - Microsoft 支持,可以在该帮助文档内点击链接前往别名管理页面( https://go.microsoft.com/fwlink/p/?linkid=864833 )。
    +在下图所示页面中选择“将现有电子邮件地址添加为 Microsoft 帐户别名”并输入你的自定义邮箱地址,点击添加别名。

    +

    image.png

    +

    随后你的邮箱会收到一封验证邮件。点击验证邮件链接完成验证即可。

    +

    验证

    +

    设置完成之后就可以试着往你创建的自定义邮箱里面发一封邮件了,看看你设置好的转发邮箱里面有没有收到。发送的时候在你的outlook发件人那里填入你设置的自定义邮箱地址就可以了。
    +image.png

    +

    后记

    +

    当然这也并非真正意义上的企业邮箱,只是套壳了自定义域名,利用了cloudflare的邮件转发,核心服务还是调用的微软的outlook。

    +

    引用

    +

    【小白向】使用Cloudflare搭建无服务器无成本域名邮箱 - 鱼のBlog (fishze.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/18367.html b/posts/18367.html new file mode 100644 index 0000000000..5b1a73aed7 --- /dev/null +++ b/posts/18367.html @@ -0,0 +1,525 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +crontab 定时任务规则收藏 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + crontab 定时任务规则收藏 +

    + + +
    + + + + +

    定时规则由六位组成,分辨是分、时、天、月、星期。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    *    *    *    *    *
    - - - - -
    | | | | |
    | | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
    | | | +---------- 月份 (1 - 12)
    | | +--------------- 一个月中的第几天 (1 - 31)
    | +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)
    +

    引用来源:Runoob

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/20185.html b/posts/20185.html new file mode 100644 index 0000000000..6b49aeecde --- /dev/null +++ b/posts/20185.html @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Github+Cloudflare Pages图床部署 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Github+Cloudflare Pages图床部署 +

    + + +
    + + + + +

    将Github的图床部署到Cloudflare的Pages,可以享受cloudflare的加速服务,速度虽然比不上国内,但比起github原生的速度还是要强上不少。过程很简单,在Cloudflare新建一个Pages项目,链接到Github账户,选择图床源,一路下一步,完成部署。
    +然后设置自定义域名,例如img.ycyc.win,使用cname协议解析到Cloudflare分配的默认项目地址。
    +image.png

    +

    例如原来在Github的图片地址为’https://raw.githubusercontent.com/miaoyanginfo/hexo-img/main/img/202409131248235.png
    +现在替换为‘https://img.ycyc.win/img/202409131248235.png ’即可。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/20287.html b/posts/20287.html new file mode 100644 index 0000000000..946de0b75c --- /dev/null +++ b/posts/20287.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +如何搭建outline服务器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 如何搭建outline服务器 +

    + + +
    + + + + +

    Debian8系统进行如下操作:

    +

    ####切换到root权限####

    +
    sudo -i
    +
    +

    ####安装docker####

    +
    curl -sS https://get.docker.com/ ' sh
    +
    +

     

    +

    ####启动docker####

    +
    systemctl start docker
    +
    +

    ####将docker加入系统服务####

    +
    systemctl enable docker
    +
    +

    ####查看docker运行状态,返回值应有绿色running字样####

    +
    systemctl status docker
    +
    +

     

    +

    ####一键安装outline server####

    +
    wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh ' bash
    +
    +

    安装完成之后将{}内的内容进行复制,然后下载并安装outline manager软件,将复制到的内容粘贴到软件相应的地址即可。

    +

    之后就可以用outline manager软件来生成outline的key及查看流量的消耗。

    +

    TIM截图20180419112617.png

    +

    outline官方网站:https://getoutline.org/en/home

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/20537.html b/posts/20537.html new file mode 100644 index 0000000000..75ca53fabf --- /dev/null +++ b/posts/20537.html @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +苹果又发新iPhone了 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 苹果又发新iPhone了 +

    + + +
    + + + + +

    20240910152713
    +昨儿个凌晨,苹果召开了一年一度的秋季新品发布会,不知道从什么时候开始被誉为了科技界的春晚。
    +早上起来看苹果的公众号大概了解了一下发布的新品,依旧是没有什么亮点可言,都是一些常规升级:iPhone16系列,包括pro Max机型,Apple Watch 10代,还有Airpods第四代,包括一款支持主动降噪的型号。
    +没有期待中的新款Apple TV。
    +但是iPhone16系列会搭载最新的iOS18操作系统,在苹果iOS18的页面(https://www.apple.com/ios/ios-18/) 增强了AI(Apple Intelligence)功能,期待在iPhone上有惊艳表现,但据介绍最低只支持到iPhone 15Pro。

    + +

    今天不对新品做什么评论,只是想单纯吐槽一下苹果的创新已经大不如前了,虽然这是众所周知、无可奈何的事实。近年来发布的新品除了Apple vision pro之外,很难再找到一款类似于当年iPhone4那么跨时代、让人兴奋的产品了,而这个vision pro 居然还需要用一根线外接一个充电宝才能用。
    +20240910155144
    +第一次用苹果的手机就是iPhone4,经典的设计,玻璃背板,金属机框,retina高清屏,还有流畅的iOS系统;然后是iPhone4S,在外形与上一代保持一致的情况下,首次搭载了siri语音助手;iphone5是更大的屏幕,更薄的机身;iPhone5s首次在home键上融入了TouchID,让解锁更方便,并且首次使用了土豪金配色。。。
    +接下来的每代iPhone就没什么值得记忆的亮点了,无非是更快的处理器,更高的摄像头像素,还有更大的屏幕。就算是这些毫无亮点毫无新意的换代,也让国内友商竞相模仿,最不能忍受的是为了降低机身厚度,居然砍掉了3.5mm耳机孔,发展到现在市面上主流的手机,都不带耳机孔了。。。还有机身左侧的静音按钮,也在最新款的iphone上被砍掉了。。
    +但不可否认苹果依然是当今最具影响力的手机公司,而且iPhone的市场占有率好像也越来越高了(是不是得益于国产手机的售价也不便宜?),其他地方不周到,我周边平均每10个人至少有3-4个是用苹果手机的。当年iphone4-iphoneX时代应该没有这么高的占有率,毕竟当时苹果的售价是遥遥领先的。
    +当然作为一名三流果粉,还是希望苹果越来越好,发布更多改变时代的好产品。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/21117.html b/posts/21117.html new file mode 100644 index 0000000000..d46aa020a8 --- /dev/null +++ b/posts/21117.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +山西太原联通IPTV局域网组播openwrt设置教程(附M3U文件) | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 山西太原联通IPTV局域网组播openwrt设置教程(附M3U文件) +

    + + +
    + + + + +

    网络环境

    +

    山西太原联通宽带。光猫INTERNET口与IPTV口为不同的网络。IPTV口接联通送的IPTV盒子可以观看IPTV电视节目。
    +INTERNET口桥接模式连接华为AX3路由器(IP地址为192.168.1.2),AX3负责PPPOE拨号。
    +AX3下连一台刷了Openwrt的斐讯N1盒子(IP地址为192.168.1.2)用于科学工作。连了一台刷了Openwrt的网件AX206路由器(IP地址为192.168.1.4)用于扩展WIFI覆盖范围。
    +网件WAX206的LAN口与华为AX3的LAN口相连,并且与主路由AX3设置成了统一的SSID和密码,关闭了DHCP。

    + +

    接口设置

    +

    将光猫IPTV口出来的网线连接到WAX206的WAN口,并将WAN口改为DHCP模式。
    +(这里有个坑,一开始我将IPTV的网线插到LAN口,到最后也是可以正常观看IPTV的,但是会倒是局域网内的设备无法访问互联网,所以需要将IPTV网线接到WAN口)
    +20240405171612
    +网关跃点数改为200或更大。
    +20240405171636

    +

    防火墙设置为lan。
    +20240405171658

    +

    关闭DHCP服务。
    +20240405171718

    +

    UDPXY设置

    +

    登录WAX206的后台安装udpxy插件。
    +20240405171538
    +Udpxy插件设置如图:要注意绑定IP接口和源IP接口不要填错,端口可随意设置成未被占用的其他端口。
    +20240405171741

    +

    接着我们在电脑上telnet一下192.168.1.4 7000 这个端口看是否正常运行。

    +

    组播地址转换

    +

    接着就是找本地运营商的IPTV组播地址了。可以前往kodi中文网,或是github上找别人分享的m3u地址。
    +一般我们在网上找到的M3U地址类似于下面这种:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #EXTINF:-1,CCTV1-综合
    rtp://226.0.1.157:3086
    #EXTINF:-1,CCTV2
    rtp://226.0.1.158:3087
    #EXTINF:-1,CCTV3
    rtp://226.0.1.141:2018
    #EXTINF:-1,CCTV4
    rtp://226.0.1.21:3036
    #EXTINF:-1,CCTV5
    rtp://226.0.1.135:2020
    +

    我们需要批量将里面的rtp://替换为http://192.168.1.4:7000/upd/
    +替换后类似于这样:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #EXTINF:-1,CCTV1
    http://192.168.1.4:7000/udp/226.0.2.18:8056
    #EXTINF:-1,CCTV2
    http://192.168.1.4:7000/udp/226.0.2.19:8064
    #EXTINF:-1,CCTV3
    http://192.168.1.4:7000/udp/226.0.2.20:8072
    #EXTINF:-1,CCTV4
    http://192.168.1.4:7000/udp/226.0.2.21:8080
    #EXTINF:-1,CCTV5
    http://192.168.1.4:7000/udp/226.0.2.22:8088
    +

    测试播放

    +

    一切正常的话,我们在电脑端用VLC或potplayer打开我们修改好的M3U文件就可以正常观看IPTV了。
    +20240405171803

    +

    如果你家的网络环境和我这边的类似,可以按照我的教程来操作。

    +

    M3U分享

    +

    另分享一份我整理出来的山西联通可用的M3U文件,将文件中的192.168.1.4:7000换成你局域网的地址和端口就可以了。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    #EXTM3U
    #EXTINF:-1 tvg-id="1" tvg-name="CCTV1" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV1.png" group-title="央视",CCTV1-HD
    http://192.168.1.4:7000/udp/226.0.2.153:9136
    #EXTINF:-1 tvg-id="2" tvg-name="CCTV2" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV2.png" group-title="央视",CCTV2-HD
    http://192.168.1.4:7000/udp/226.0.2.154:9144
    #EXTINF:-1 tvg-id="3" tvg-name="CCTV3" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV3.png" group-title="央视",CCTV3-HD
    http://192.168.1.4:7000/udp/226.0.2.208:9576
    #EXTINF:-1 tvg-id="4" tvg-name="CCTV4" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV4.png" group-title="央视",CCTV4-HD
    http://192.168.1.4:7000/udp/226.0.2.156:9160
    #EXTINF:-1 tvg-id="5" tvg-name="CCTV5" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV5.png" group-title="央视",CCTV5-HD
    http://192.168.1.4:7000/udp/226.0.2.209:9584
    #EXTINF:-1 tvg-id="6" tvg-name="CCTV6" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV6.png" group-title="央视",CCTV6-HD
    http://192.168.1.4:7000/udp/226.0.2.210:9592
    #EXTINF:-1 tvg-id="7" tvg-name="CCTV7" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV7.png" group-title="央视",CCTV7-HD
    http://192.168.1.4:7000/udp/226.0.2.159:9184
    #EXTINF:-1 tvg-id="8" tvg-name="CCTV8" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV8.png" group-title="央视",CCTV8-HD
    http://192.168.1.4:7000/udp/226.0.2.211:9600
    #EXTINF:-1 tvg-id="9" tvg-name="CCTV9" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV9.png" group-title="央视",CCTV9-HD
    http://192.168.1.4:7000/udp/226.0.2.161:9200
    #EXTINF:-1 tvg-id="10" tvg-name="CCTV10" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV10.png" group-title="央视",CCTV10-HD
    http://192.168.1.4:7000/udp/226.0.2.162:9208
    #EXTINF:-1 tvg-id="11" tvg-name="CCTV11" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV11.png" group-title="央视",CCTV11-HD
    http://192.168.1.4:7000/udp/226.0.1.28:3021
    #EXTINF:-1 tvg-id="12" tvg-name="CCTV12" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV12.png" group-title="央视",CCTV12-HD
    http://192.168.1.4:7000/udp/226.0.2.164:9224
    #EXTINF:-1 tvg-id="13" tvg-name="CCTV13" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV13.png" group-title="央视",CCTV13-HD
    http://192.168.1.4:7000/udp/226.0.2.165:9232
    #EXTINF:-1 tvg-id="14" tvg-name="CCTV14" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV14.png" group-title="央视",CCTV14-HD
    http://192.168.1.4:7000/udp/226.0.2.166:9240
    #EXTINF:-1 tvg-id="15" tvg-name="CCTV5+" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV5+.png" group-title="央视",CCTV5+-HD
    http://192.168.1.4:7000/udp/226.0.2.168:9256
    #EXTINF:-1 tvg-id="7249" tvg-name="CCTV16" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV16.png" group-title="央视",CCTV16-HD
    http://192.168.1.4:7000/udp/226.0.2.169:9264
    #EXTINF:-1 tvg-id="17" tvg-name="CCTV17" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV17.png" group-title="央视",CCTV17-HD
    http://192.168.1.4:7000/udp/226.0.2.170:9272
    #EXTINF:-1 tvg-id="6584" tvg-name="央视台球" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVtaiqiu.png" group-title="央视",CCTV央视台球HD
    http://192.168.1.4:7000/udp/226.0.2.216:9640
    #EXTINF:-1 tvg-id="6568" tvg-name="高尔夫网球" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE13.jpg" group-title="央视",CCTV高尔夫网球HD
    http://192.168.1.4:7000/udp/226.0.2.217:9648
    #EXTINF:-1 tvg-id="9" tvg-name="CCTV8" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV8.png" group-title="央视",CCTV电视指南HD
    http://192.168.1.4:7000/udp/226.0.2.218:9656
    #EXTINF:-1 tvg-id="6569" tvg-name="央视精品" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVwenhuajingpin.png" group-title="央视",CCTV央视精品HD
    http://192.168.1.4:7000/udp/226.0.2.219:9664
    #EXTINF:-1 tvg-id="6557" tvg-name="风云音乐" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVfengyunyinyue.png" group-title="央视",CCTV风云音乐HD
    http://192.168.1.4:7000/udp/226.0.2.220:9672
    #EXTINF:-1 tvg-id="6558" tvg-name="第一剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVdiyijuchang.png" group-title="央视",CCTV第一剧场HD
    http://192.168.1.4:7000/udp/226.0.2.221:9680
    #EXTINF:-1 tvg-id="6560" tvg-name="世界地理" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVshijiedili.png" group-title="央视",CCTV世界地理HD
    http://192.168.1.4:7000/udp/226.0.2.222:9688
    #EXTINF:-1 tvg-id="6563" tvg-name="兵器科技" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE8.jpg" group-title="央视",CCTV兵器科技HD
    http://192.168.1.4:7000/udp/226.0.2.223:9696
    #EXTINF:-1 tvg-id="6562" tvg-name="怀旧剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE7.jpg" group-title="央视",CCTV怀旧剧场HD
    http://192.168.1.4:7000/udp/226.0.2.224:9704
    #EXTINF:-1 tvg-id="6000" tvg-name="风云足球" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVfengyunzuqiu.png" group-title="央视",CCTV风云足球HD
    http://192.168.1.4:7000/udp/226.0.2.225:9712
    #EXTINF:-1 tvg-id="6564" tvg-name="女性时尚" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVnvxing.png" group-title="央视",CCTV女性时尚HD
    http://192.168.1.4:7000/udp/226.0.2.226:9720
    #EXTINF:-1 tvg-id="6559" tvg-name="风云剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTBfengyun.png" group-title="央视",CCTV风云剧场HD
    http://192.168.1.4:7000/udp/226.0.2.227:9728
    #EXTINF:-1 tvg-id="6246" tvg-name="CHC家庭电影" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CHC2.jpg" group-title="地方",CHC家庭影院
    http://192.168.1.4:7000/udp/226.0.2.240:9820
    #EXTINF:-1 tvg-id="54" tvg-name="山西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.152:9128
    #EXTINF:-1 tvg-id="" tvg-name="黄河电视台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/huanghetv.jpg" group-title="本地",山西黄河HD
    http://192.168.1.4:7000/udp/226.0.2.235:9792
    #EXTINF:-1 tvg-id="" tvg-name="山西经济与科技" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西经济与科技HD
    http://192.168.1.4:7000/udp/226.0.2.236:9800
    #EXTINF:-1 tvg-id="" tvg-name="山西影视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西影视HD
    http://192.168.1.4:7000/udp/226.0.2.237:9808
    #EXTINF:-1 tvg-id="" tvg-name="山西社会与法治" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西社会与法治HD
    http://192.168.1.4:7000/udp/226.0.2.238:9816
    #EXTINF:-1 tvg-id="" tvg-name="山西文体生活" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西文体生活HD
    http://192.168.1.4:7000/udp/226.0.2.16:8040
    #EXTINF:-1 tvg-id="" tvg-name="太原一台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_1.png" group-title="本地",太原1
    http://192.168.1.4:7000/udp/226.0.2.201:9520
    #EXTINF:-1 tvg-id="" tvg-name="太原二台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_2.png" group-title="本地",太原2
    http://192.168.1.4:7000/udp/226.0.2.202:9528
    #EXTINF:-1 tvg-id="" tvg-name="太原三台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_3.png" group-title="本地",太原3
    http://192.168.1.4:7000/udp/226.0.2.203:9536
    #EXTINF:-1 tvg-id="" tvg-name="太原四台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_4.png" group-title="本地",太原4
    http://192.168.1.4:7000/udp/226.0.2.204:9544
    #EXTINF:-1 tvg-id="" tvg-name="太原五台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_5.png" group-title="本地",太原5
    http://192.168.1.4:7000/udp/226.0.2.205:9552
    #EXTINF:-1 tvg-id="" tvg-name="太原教育" tvg-logo="" group-title="本地",太原教育
    http://192.168.1.4:7000/udp/226.0.2.206:9560
    #EXTINF:-1 tvg-id="" tvg-name="阳曲" tvg-logo="" group-title="本地",阳曲
    http://192.168.1.4:7000/udp/226.0.2.196:9480
    #EXTINF:-1 tvg-id="" tvg-name="清徐" tvg-logo="" group-title="本地",清徐HD
    http://192.168.1.4:7000/udp/226.0.2.191:9440
    #EXTINF:-1 tvg-id="" tvg-name="大同教育" tvg-logo="" group-title="本地",大同教育HD
    http://192.168.1.4:7000/udp/226.0.2.232:9772
    #EXTINF:-1 tvg-id="" tvg-name="孝义电视台" tvg-logo="" group-title="本地",孝义电视台
    http://192.168.1.4:7000/udp/226.0.2.189:9424
    #EXTINF:-1 tvg-id="" tvg-name="阳泉-1新闻综合" tvg-logo="" group-title="本地",阳泉-1新闻综合
    http://192.168.1.4:7000/udp/226.0.2.233:9776
    #EXTINF:-1 tvg-id="" tvg-name="阳泉-2科教" tvg-logo="" group-title="本地",阳泉-2科教
    http://192.168.1.4:7000/udp/226.0.2.234:9784
    #EXTINF:-1 tvg-id="" tvg-name="朔州-1" tvg-logo="" group-title="本地",朔州-1
    http://192.168.1.4:7000/udp/226.0.2.185:9392
    #EXTINF:-1 tvg-id="" tvg-name="朔州-2" tvg-logo="" group-title="本地",朔州-2
    http://192.168.1.4:7000/udp/226.0.2.186:9400
    #EXTINF:-1 tvg-id="" tvg-name="太原佰乐购" tvg-logo="" group-title="本地",太原佰乐购
    http://192.168.1.4:7000/udp/226.0.2.215:9632
    #EXTINF:-1 tvg-id="" tvg-name="晋能控股" tvg-logo="" group-title="本地",晋能控股
    http://192.168.1.4:7000/udp/226.0.2.229:9744
    #EXTINF:-1 tvg-id="" tvg-name="盐湖频道" tvg-logo="" group-title="本地",运城盐湖频道
    http://192.168.1.4:7000/udp/226.0.2.106:9006
    #EXTINF:-1 tvg-id="27" tvg-name="湖南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hunan.png" group-title="卫视",湖南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.143:9056
    #EXTINF:-1 tvg-id="69" tvg-name="金鹰卡通" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/jinyingkatong.png" group-title="卫视",金鹰卡通HD
    http://192.168.1.4:7000/udp/226.0.2.172:9288
    #EXTINF:-1 tvg-id="2025" tvg-name="金鹰纪实" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jinyingjishi.png" group-title="卫视",金鹰纪实HD
    http://192.168.1.4:7000/udp/226.0.2.194:9464
    #EXTINF:-1 tvg-id="36" tvg-name="辽宁卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/liaoning.png" group-title="卫视",辽宁卫视HD
    http://192.168.1.4:7000/udp/226.0.2.173:9296
    #EXTINF:-1 tvg-id="40" tvg-name="重庆卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/chongqing.png" group-title="卫视",重庆卫视HD
    http://192.168.1.4:7000/udp/226.0.2.174:9304
    #EXTINF:-1 tvg-id="31" tvg-name="东方卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/dongfang.png" group-title="卫视",东方卫视HD
    http://192.168.1.4:7000/udp/226.0.2.175:9312
    #EXTINF:-1 tvg-id="" tvg-name="东方财经" tvg-logo="http://192.168.1.2:8123/local/tv_logo/dongfangcaijing.jpg" group-title="卫视",东方财经HD
    http://192.168.1.4:7000/udp/226.0.2.76:8520
    #EXTINF:-1 tvg-id="1988" tvg-name="上海纪实" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanghaijishi.png" group-title="卫视",上海纪实HD
    http://192.168.1.4:7000/udp/226.0.2.193:9456
    #EXTINF:-1 tvg-id="29" tvg-name="江苏卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jiangsu.png" group-title="卫视",江苏卫视HD
    http://192.168.1.4:7000/udp/226.0.2.176:9320
    #EXTINF:-1 tvg-id="30" tvg-name="北京卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/beijing.png" group-title="卫视",北京卫视HD
    http://192.168.1.4:7000/udp/226.0.2.177:9328
    #EXTINF:-1 tvg-id="45" tvg-name="河北卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hebei.png" group-title="卫视",河北卫视HD
    http://192.168.1.4:7000/udp/226.0.2.178:9336
    #EXTINF:-1 tvg-id="47" tvg-name="河南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/henan.png" group-title="卫视",河南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.52:8328
    #EXTINF:-1 tvg-id="50" tvg-name="江西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jiangxi.png" group-title="卫视",江西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.54:8344
    #EXTINF:-1 tvg-id="56" tvg-name="四川卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/sichuan.png" group-title="卫视",四川卫视HD
    http://192.168.1.4:7000/udp/226.0.2.179:9344
    #EXTINF:-1 tvg-id="44" tvg-name="贵州卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guizhou.png" group-title="卫视",贵州卫视HD
    http://192.168.1.4:7000/udp/226.0.2.180:9352
    #EXTINF:-1 tvg-id="28" tvg-name="浙江卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/zhejiang.png" group-title="卫视",浙江卫视HD
    http://192.168.1.4:7000/udp/226.0.2.144:9064
    #EXTINF:-1 tvg-id="32" tvg-name="安徽卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/anhui.png" group-title="卫视",安徽卫视HD
    http://192.168.1.4:7000/udp/226.0.2.145:9072
    #EXTINF:-1 tvg-id="33" tvg-name="广东卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guangdong.png" group-title="卫视",广东卫视HD
    http://192.168.1.4:7000/udp/226.0.2.146:9080
    #EXTINF:-1 tvg-id="34" tvg-name="深圳卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shenzhen.png" group-title="卫视",深圳卫视HD
    http://192.168.1.4:7000/udp/226.0.2.147:9088
    #EXTINF:-1 tvg-id="39" tvg-name="天津卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/tianjin.png" group-title="卫视",天津卫视HD
    http://192.168.1.4:7000/udp/226.0.2.148:9096
    #EXTINF:-1 tvg-id="38" tvg-name="山东卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shandong.png" group-title="卫视",山东卫视HD
    http://192.168.1.4:7000/udp/226.0.2.149:9104
    #EXTINF:-1 tvg-id="48" tvg-name="湖北卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hubei.png" group-title="卫视",湖北卫视HD
    http://192.168.1.4:7000/udp/226.0.2.150:9112
    #EXTINF:-1 tvg-id="41" tvg-name="东南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/dongnan.png" group-title="卫视",东南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.188:9416
    #EXTINF:-1 tvg-id="46" tvg-name="黑龙江卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/heilongjiang.png" group-title="卫视",黑龙江卫视HD
    http://192.168.1.4:7000/udp/226.0.2.151:9120
    #EXTINF:-1 tvg-id="43" tvg-name="广西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guangxi.png" group-title="卫视",广西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.231:9760
    #EXTINF:-1 tvg-id="37" tvg-name="旅游卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/lvyou.png" group-title="卫视",海南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.212:9608
    #EXTINF:-1 tvg-id="51" tvg-name="吉林卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jilin.png" group-title="卫视",吉林卫视HD
    http://192.168.1.4:7000/udp/226.0.2.58:8376
    #EXTINF:-1 tvg-id="73" tvg-name="中国教育1台" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/中国教育1台.png" group-title="地方",CETV1-HD
    http://192.168.1.4:7000/udp/226.0.2.181:9360
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",金色学堂HD
    http://192.168.1.4:7000/udp/226.0.2.182:9368
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",动漫秀场HD
    http://192.168.1.4:7000/udp/226.0.2.183:9376
    #EXTINF:-1 tvg-id="6585" tvg-name="茶频道" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/DOCUMENTARY-CHANNEL.jpg" group-title="地方",茶频道HD
    http://192.168.1.4:7000/udp/226.0.2.213:9616
    #EXTINF:-1 tvg-id="6595" tvg-name="快乐垂钓" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/KUAILECHUIDIAO.jpg" group-title="地方",快乐垂钓HD
    http://192.168.1.4:7000/udp/226.0.2.214:9624
    #EXTINF:-1 tvg-id="6555" tvg-name="梨园" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE20.jpg" group-title="地方",梨园频道HD
    http://192.168.1.4:7000/udp/226.0.2.115:8832
    #EXTINF:-1 tvg-id="6591" tvg-name="文物宝库" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/WENWUBAOKU.jpg" group-title="地方",文物宝库HD
    http://192.168.1.4:7000/udp/226.0.2.110:8792
    #EXTINF:-1 tvg-id="6581" tvg-name="早期教育" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE33.jpg" group-title="地方",CETV早期教育HD
    http://192.168.1.4:7000/udp/226.0.2.99:8704
    #EXTINF:-1 tvg-id="6586" tvg-name="武术世界" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/WUSHUSHIJIE.jpg" group-title="地方",武术世界HD
    http://192.168.1.4:7000/udp/226.0.2.97:8688
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",乐游HD
    http://192.168.1.4:7000/udp/226.0.2.77:8528
    #EXTINF:-1 tvg-id="1983" tvg-name="游戏风云" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/youxifengyun.png" group-title="地方",游戏风云HD
    http://192.168.1.4:7000/udp/226.0.2.78:8536
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",都市剧场HD
    http://192.168.1.4:7000/udp/226.0.2.81:8560
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",法治天地HD
    http://192.168.1.4:7000/udp/226.0.2.83:8576
    #EXTINF:-1 tvg-id="1981" tvg-name="生活时尚" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/shenghuoshishang.png" group-title="地方",生活时尚HD
    http://192.168.1.4:7000/udp/226.0.2.84:8584
    +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/21296.html b/posts/21296.html new file mode 100644 index 0000000000..53d93de2e4 --- /dev/null +++ b/posts/21296.html @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +更新Cloudflare SSL TLS策略规则,部署免费CA | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 更新Cloudflare SSL TLS策略规则,部署免费CA +

    + + +
    + + + + +

    之前在部署站点的时候因为浏览器提示不安全,所以将停靠在Cloudflare的域名选择的SSL/TLS策略是【灵活】模式,Cloudflare给出的说明是“仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立”,意思就是访问者到Cloudflare之间使用的是HTTPS,而Cloudflare到源服务器之间使用的是HTTP协议。这样设置之后虽然浏览器没有安全警告了,但是由于源服务器没有部署SSL证书,使用的是HTTP协议,从Clouflare到源服务器之间还是容易被黑客监听造成信息泄露隐患。
    +所以今天我将Cloudflare的证书策略调整为了【完全(严格)】模式,此模式的意思是“启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书”。而如果你要选择更为高级的【严格】模式,则需要升级账户为企业账户才能设置。

    +

    image.png

    + +

    但是由于我的源服务器还没有部署证书,所以现在访问会提示证书错误,如下图所示。
    +image.png接下来就需要在你的源服务器部署证书了,当然你也可以使用Cloudflare免费的CA证书,有效期为15年。
    +按下图进入源服务器界面,按照提示生成证书和密钥,然后上传到源服务器就可以了。

    +

    image.png
    +证书部署完成后就可以正常使用https访问站点了,而且目前全链路都是https。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/21876.html b/posts/21876.html new file mode 100644 index 0000000000..e4a37629e5 --- /dev/null +++ b/posts/21876.html @@ -0,0 +1,567 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +域名从阿里云转移到porkbun记录 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 域名从阿里云转移到porkbun记录 +

    + + +
    + + + + +

    前言

    +

    我现在用的这个域名miaoyang.win是2016年的时候在阿里云注册的,当时.win域名有优惠活动,好像是5元还是10元每年,最多可以一次性注册10年。所以我注册了10年两个.win的域名。
    +好巧不巧,注册了没几年,具体什么时候我忘记了,阿里云被取消了.org、.win、.name等域名的注册管理机构许可,域名被强制转移到了阿里巴巴国际站。 当时想着距离到期时间还长,而且我的域名NS服务器也转移到了cloudflare,所以就没怎么关心续费和转移的事情。
    +现在眼看着马上还有两年就到期了,所以试着去阿里云国际站看看续费的事情,不看不知道,一看吓一跳,不仅续费费用比其他域名注册商要高,一年要6.19美刀,而且在支付的时候还需要添加一张外币信用卡才能付款,中国大陆还不支持paypal。最让人受不了的是居然连自家的支付宝也不支持。。。想想现在许多国外域名主机商都开始支持支付宝直接付款了,阿里云国际站居然不支持自己的支付宝付款。。😠

    + +

    image.png

    +

    好吧,只能使大招了,乾坤大挪移,把域名转移到其他注册商去。

    +

    对比了一下.win域名转移到godaddy需要285块大洋。而转移到porkbun只需要4.29美刀/年,并且也支持支付宝直接付款。
    +image.png

    +

    域名转移流程

    +

    转移第一步是前往原注册商那里获取转移授权码。大部分域名注册商限制新域名必须注册满60天以后才能进行转出操作,当然我这个域名已经注册8年了,不存在这个限制。另外注册商都不想要域名被转出去,所以转移码获取入口相对来说比较隐蔽,有的需要联系客服才能获取。好在阿里云这个转出功能标示还是比较明显的。

    +

    image.png

    +

    在获取到这个授权码之后就可以到你要转入的注册商那里填入域名和授权码进行付费了,一般域名在注册商之间转移操作,新的域名注册商会收取一年的续费费用。

    +

    image.png

    +

    但是我就是卡在第一步了,按照提示输入邮箱验证码之后直接报错返回到第一步了,并且报错信息一闪而过,看不清楚,目前正在提交工单等待售后处理。。。

    +

    2024/9/15更新

    +

    经过三天的等待终于获取到了转移授权码。在porkbun的域名转移页面填入域名和对应的转移授权码之后,完成付款即可等待转移生效。
    +我的这个域名转移收费4.29美元,折合人民币30.69元。支持支付宝付款。
    +image.png

    +

    再次前往阿里云查看域名转出进度。点击立即转出,验证邮箱链接之后,可加快转出速度。一般转移需要等待的时间比新注册要长一点,最慢需要5-7天才能完成转移。
    +image.png

    +

    我这边等了5分钟左右,porkbun处显示域名状态已经正常了。如果超时没有完成,需要联系转入的域名注册商进行处理。
    +等待转移成功之后就可以在新的域名注册商处进行域名管理和续费了。
    +image.png

    +

    后记

    +

    域名转移其实很简单,在原注册商那里获取到转移码就成功了一大半了。关键在于如何选择新转入的域名注册商,除了续费价格因素外,还要尽量找一些业界口碑好的注册商。当然目前国内审查机制越来越严格,政策三天两头做调整,而且还强制实名和备案。所以建议有条件的朋友都尽量把域名转移到国外域名注册商去。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/2192.html b/posts/2192.html new file mode 100644 index 0000000000..df894daffd --- /dev/null +++ b/posts/2192.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +picgo422错误代码 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + picgo422错误代码 +

    + + +
    + + + + +

    刚刚在vscode中用picgo上传图片失败,提示检查网络或设置。起初真的以为是token到期了或是网络不通,确定了网络正常之后又检查了token,发现也在有效期。
    +于是下载了picgo的windows客户端上传同样的图片,发现还是上传失败。好在windows客户端可以查看日志详情。

    + +

    20230322145558
    +报错日志如下:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    2023-03-22 14:45:49 [PicGo INFO] Before transform 
    2023-03-22 14:45:49 [PicGo INFO] Transforming... Current transformer is [path]
    2023-03-22 14:45:49 [PicGo INFO] Before upload
    2023-03-22 14:45:49 [PicGo INFO] beforeUploadPlugins: renameFn running
    2023-03-22 14:45:49 [PicGo INFO] Uploading... Current uploader is [github]
    2023-03-22 14:45:50 [PicGo WARN] failed
    2023-03-22 14:45:50 [PicGo ERROR] {
    "method": "PUT",
    "url": "https://api.github.com/repos/miaoyanginfo/hexo-img/contents/img/aaa.png",
    "statusCode": 422,
    "message": "Request failed with status code 422",
    "stack": {},
    "response": {
    "status": 422,
    "statusCode": 422,
    "body": {
    "message": "Invalid request.\n\n\"sha\" wasn't supplied.",
    "documentation_url": "https://docs.github.com/rest/reference/repos#create-or-update-file-contents"
    }
    }
    }
    +

    网上搜了一下422报错应该是上传的图片文件名和已有的图片重名了,然后修改了文件名之后windows客户端和vscode插件上传正常了。
    +水一篇文章记录一下,分享给有相同报错的朋友。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/23057.html b/posts/23057.html new file mode 100644 index 0000000000..40b26caa95 --- /dev/null +++ b/posts/23057.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GitHub图床配置 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + GitHub图床配置 +

    + + +
    + + + + +

    自从部署了HEXO,就开始寻找一个靠谱的图床系统来用于托管网站的图片。
    +之前在群晖NAS上使用Chevereto系统部署了一套私有的图床系统,但是如果用于网站图片的托管,需要24小时开机,不仅费电,而且还会加大硬盘的读写,增加坏盘的风险,所以还是放弃了这个想法。
    +接着我在七牛云上部署了图床系统,想着他有10GB免费的额度,也够用了。但部署完成之后,第二天查看账单发现有了费用,名字叫做https-cdn-海外加速费用,咨询了客服工单之后说是因为我使用的域名没有备案,所以只能使用海外站点,如果你从国内访问的话就会产生费用。
    +于是我想到了用GitHub来部署图床,网上也有大把的教程,操作起来也很简单,需要配合PicGo来使用。

    +

    创建一个公开仓库

    +

    生成GitHub Token

    +

    进入GitHub账户设置-开发者设置-私人Token,生成一个新的token并复制。
    +

    + +

    安装PicGo设置

    +

    安装完成PicGo之之后按照下图进行设置。
    +
    +如果感觉在国内访问GitHub速度慢的话,可以在设置自定义域名那里填入https://cdn.miaoyang.win/gh/GitHub用户名/仓库名
    +来使用jsdeliver提供的免费cdn服务加速。
    +这样设置就完成了,将图片用PicGo上传之后,图片地址就会自动复制到粘贴板,使用起来很方便

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/2353.html b/posts/2353.html new file mode 100644 index 0000000000..1fa4c34517 --- /dev/null +++ b/posts/2353.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +推荐几款安卓和IOS平台用于观看IPTV的客户端软件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 推荐几款安卓和IOS平台用于观看IPTV的客户端软件 +

    + + +
    + + + + +

    前言

    +

    20240904101409
    +上周趁着清明假期,鼓捣了一下局域网iptv组播,然后自己也在一些平台和终端测试了一些主流的IPTV播放软件,结合自己手头现有设备的情况,推荐下面几款播放软件,如果你有更好的软件,欢迎推荐分享。
    +软件本身并不提供IPTV直播服务,需要我们将自己创建或是下载到的m3u文件导入到软件内进行播放。另外有部分软件支持epg节目预告,可以根据m3u里面的频道匹配该频道的节目播放单,实现节目预告。这里感谢51zmt提供的epg服务(http://epg.51zmt.top:8000/) 。另外该站点还支持台标匹配,你可以上传自己的m3u文件,然后匹配对应的频道台标LOGO。

    +

    kodi(全平台)

    +

    只要你的设备能安装和运行kodi,推荐使用kodi来播放IPTV的m3u。
    +首先需要在插件里面下载 iptv simply client 这个插件,安装好之后在插件设置里面设置好m3u源文件地址,设置好epg节目预告地址(http://epg.51zmt.top:8000/e.xml), 然后在主页面进去电视菜单,就可以观看IPTV了。
    +官网 https://kodi.tv

    + +

    aptv(iOS、tVOS、Mac OS)

    +

    ios平台体验不错的IPTV客户端,免费版只能添加一个m3u配置,但是也够了。软件会根据m3u地址在线匹配epg节目预告,不需要手动设置。界面和切换也很流畅。除了ios,该软件还 支持tvOS和MacOS。
    +itunes链接 https://apps.apple.com/cn/app/aptv/id1630403500

    +

    tivimate(安卓电视盒子)

    +

    如果你觉得kodi操作起来比较繁琐,可以试试这款软件。

    +

    cloud stream iptv player (旧版iOS设备)

    +

    如果你的iOS设备版本太老,不支持安装APTV,可以试试cloud stream iptv player 这个APP(黄色图标)。界面是英文的,但不影响使用,用法类似,直接添加m3u地址源就可以了,比较遗憾的是不支持epg。
    +itunes链接 https://apps.apple.com/cn/app/cloud-stream-iptv-player/id1138002135

    +

    vlc和potplayer(windows)

    +

    windows下可以用vlc或是potplayer直接打开m3u文件播放,当然你也可以在windows上安装kodi。
    +vlc官网 https://www.videolan.org/
    +potplayer官网 https://potplayer.daum.net/

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/23533.html b/posts/23533.html new file mode 100644 index 0000000000..e3fa6d23ac --- /dev/null +++ b/posts/23533.html @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +让HEXO“动起来”-体验Qexo静态博客管理面板 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 让HEXO“动起来”-体验Qexo静态博客管理面板 +

    + + +
    + + + + +

    前言

    +

    对于习惯了使用WordPress等传统CMS程序的用户来说,使用纯静态的hexo更新网站或多或少还是有些不太适应。缺少了管理后台,无法直观的管理站点的日志和页面,只能通过一个个静态文件来更新。并且想要发布还需要去向github提交更改。

    +

    介绍

    +

    qexo01.png

    +

    Github上有个开源项目名为Qexo,这是一个为静态站点而生的项目,官方介绍为“Qexo 是一个快速、强大、美观的在线 静态博客编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署, 为您的静态博客添加动态的元素”。程序方面目前支持Hexo、Hugo和Valaxy。如果你正在使用这些程序,可以尝试一下。这个项目支持在Vercel平台一键部署,免去了额外的花销。而且官方也有较为详细的配置文档,新手也很容易上手。Qexo 文档 (oplog.cn)
    +部署前需要确认你的hexo已经通过github action设置了自动化部署,如何设置github action可以参阅我之前的文章使用GitHub Action实现HEXO的自动编译和发布 | 渊澄|YCYC.WIN
    +还需要注意的是如果你是在vercel部署的,需要在项目设置那里将node.js版本降级为18.x。这一点文档里面也着重强调了。

    + +

    部署完成之后就可以进入站点页面进行配置了。(当然你也可以在vercel设置自定义域名,只需将域名cname解析到vercel即可)。根据页面提示和文档获取相关的github和vercel密钥,然后创建管理员账户之后就可以登录了。
    +qexo00.png

    +

    Qexo同样支持图床的配置,但是我配置完Github图床之后有系统报错,看报错代码像是仓库中有同名文件,picgo422错误代码 | 渊澄|YCYC.WIN,但已排除。不知何故,已经在项目issues提问了。

    +

    经过排查,问题为设置界面的“保存路径”输入有误,需要按照Qexo的格式来填写,和其他图床插件不一样。Qexo 文档 (oplog.cn)

    +

    https://img.ycyc.win/Qexo/24/9/image_547c7788639701b124967757991368f9.png

    +

    界面上的日志新增、编辑、删除都会push到Github仓库。
    +虽然面板上还无法像wordpress那样对种主题和插件进行可视化设置,但是可以从配置选项卡直接编辑对应的配置文件,也算是弥补了一些遗憾。
    +image.png

    +

    另外Qexo还提供了一个说说和友情链接的模块可供选用,部署也简单,只需新建相关页面,然后插入代码对应即可。另外说说的编辑是不会产生仓库push的。实际测试该模块在国内的网络环境下好像加载不出来,可能与Qexo部署在vercel有关。
    +image.png

    +

    后记

    +

    整体体验下来还算可以,界面设计和布局都比较容易上手。只是响应速度有点慢,可能与vercel访问速度慢有关。还有一个问题我发现站点实际的文章总数与Qexo界面显示的文章总数不一致,可能是我新发的两篇文章是在安装了Qexo之后用Obsidian发布的,没有统计进去。(这个问题在界面刷新界面清除缓存或者设置webhook可解决)。常见问题 | Qexo 文档 (oplog.cn)

    +

    https://img.ycyc.win/Qexo/24/9/image_636f76ab9a82fe2264b49d3f2e4a0d66.png

    +

    另外我目前已经习惯了在Obsidian编写hexo,大部分情况可能不会去用Qexo编写,但是如果在移动端等其他不方便部署环境的地方,会选择用Qexo来进行站点的更新。可以作为一个备选方案。

    +

    f5c3d9a5b0a822be70c754af795b6c7.jpg

    +

    引用

    +

    Qexo 文档 (oplog.cn)
    +Qexo/Qexo: A fast, powerful and beautiful online manager for all static blog frameworks. (github.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/23630.html b/posts/23630.html new file mode 100644 index 0000000000..0e40c45424 --- /dev/null +++ b/posts/23630.html @@ -0,0 +1,613 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +关于 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 关于 +

    + + +
    + + + + +
    +

    89年双子座理工男,坐标山西太原。目前已结婚生子,有压力,但很幸福。

    + + +

    2000年左右接触互联网;

    + + +

    打开的第一个网站好像是cctv.com,当时只记得这一个网址;

    + + +

    第一个QQ号是在小卖铺的公用电话打168申请的,现在已经忘记了;

    + + +

    第一个邮箱是xxxxxxxx.student@sina.com结尾的,现在已经忘记了,还记得当时死活不会输入@;

    +

    玩的第一个游戏应该是暴力摩托,现在基本上不玩游戏;

    +

    上的第一个购物网站是卓越网joyo.com,也就是现在的亚马逊;

    +

    第一次建网站好像是在一个名为zjtop.com的网站上建的论坛;

    +

    第一次自己租虚拟空间是在常来网,这个网站已经倒闭很多年了;

    +

    自建博客用的第一个系统是pjblog,现在好像已经不更新了;

    +

    自己买的第一部手机是从淘宝买的西门子的S65;

    +

    喜欢的偶像是BEYOND,五月天,孙燕姿;

    +

    喜欢的运动品牌是美津浓;

    + + +

    喜欢的互联网公司是Google,Apple;

    + + +

    目前持有的设备:

    + + +

    ThinkPad X230

    + + +

    MacBook Pro 2015

    + + +

    锤子坚果Pro

    + + +

    iPad mini2

    + + +

    iPhone7

    + + +

    AirPods 2

    + + +

    树莓派3

    + + +

    Orange Pi Zero

    + + +

    X86架构的黑群晖

    + + +

    小米智能家庭套装

    + + +

    NEWIFI Y1路由器

    + + +

    小爱AI音箱

    + + +

    天猫精灵方糖

    + + +

    小米手环2

    + + +

    斐讯N1盒子

    + + +

    斐讯T1盒子

    + + +

    Lenovo Y1S路由器(Padavan)

    + + +

    Lenovo NEWIFI3 路由器

    + + +

    HUAWEI AX3 路由器

    + + +

    TP-LINK 886 千兆版路由器

    + + +

    水星D191G路由器

    + + +

    版权说明:本站的内容若无转载说明均为作者原创,未经许可请勿随意转载,如需转载请征得本人同意并注明出处,谢谢合作。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/24372.html b/posts/24372.html new file mode 100644 index 0000000000..8cbb221129 --- /dev/null +++ b/posts/24372.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +我的“港乐”歌单 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 我的“港乐”歌单 +

    + + +
    + + + + +

    最近芒果台联合香港TVB推出的音乐节目《声生不息》,将“沉睡”很多年的港乐再次呈现在了观众的面前,尤其是在第一期结尾大合唱《海阔天空》的时候,突然出现黄家驹的原声,不知让多少人又热血沸腾、潸然泪目。
    +其实我也自诩算个伪港乐迷,日常听的曲库里面差不多有60%左右都是港乐,尤其是上世纪80-90年代的香港乐坛,是我心目中港乐最为辉煌的时期,期间涌现了一批可以被记载到历史的歌手及音乐人,谭咏麟、张国荣、四大天王、陈百强、李克勤,当然还有我的偶像Beyond黄家驹。
    +开始关注Beyond乐队是从2003年他们开20周年演唱会开始,之前我甚至不知道Beyond乐队这个名字,只知道在香港有个歌手叫黄家驹。
    +20220427133927
    +和大部分人一样,开始也是喜欢听他们的那几首传唱度较高的《光辉岁月》和《真的爱你》等等,再过后来渐渐了解了乐队的起源以及发展历程之后,再听诸如《灰色轨迹》《未曾后悔》等歌曲之后,我已经被他们的音乐完全吸引,虽然他们的作品基本上都是粤语,但丝毫没有影响到其作品在内地的传唱度,和同一时代的其他香港歌曲相比,他们的音乐坚持原创,有思想,有深度,表达大众的心声,所以才能真正唱到普通人的内心深处,激励一代又一代的年轻人,这才是港乐真正的魅力所在。
    +当然,八九十年代的香港乐坛,还是有很大一部分歌曲是直接将日本歌填词翻唱的,但就算这样也丝毫没有影响这些作品成为流传至今的经典。
    +而到了2000年之后,港乐逐渐进入衰退期,很久都没有能再次打动人心的作品出现了,能被人记得的名字,好像也只剩下陈奕迅了吧。

    +

    下面分享我的Apple Music曲库中始终占有一席地位的TOP20港乐,仅代表个人喜好,排名不分先后。

    +

    海阔天空-Beyond

    +

    灰色轨迹-Beyond

    +

    偏偏喜欢你-陈百强

    +

    漫步人生路-邓丽君

    +

    月半小夜曲-李克勤

    +

    敢爱敢做-林子祥

    +

    讲不出再见-谭咏麟

    +

    风继续吹-张国荣

    +

    当年情-张国荣

    +

    一生中最爱-谭咏麟

    +

    沉默是金-许冠杰/张国荣

    +

    浪子心声-许冠杰

    +

    遥远的她-张学友

    +

    只想一生跟你走-张学友

    +

    红日-李克勤

    +

    一生何求-陈百强

    +

    光辉岁月-Beyond

    +

    谁可改变-谭咏麟

    +

    千千阙歌-陈慧娴

    +

    富士山下-陈奕迅

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/2448.html b/posts/2448.html new file mode 100644 index 0000000000..dfef473ed1 --- /dev/null +++ b/posts/2448.html @@ -0,0 +1,554 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +宝塔面板如何部署DNSPod的免费SSL证书 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 宝塔面板如何部署DNSPod的免费SSL证书 +

    + + +
    + + + + +

    DNSPod现在可以申请为期一年的免费SSL证书,只要使用DNSPod的解析服务就可以申请。

    +

    进入DNSPod管理后台,左侧菜单选在SSL证书-证书管理

    +

    TIM截图20191024172300.jpg

    +

    然后选择你要申请证书的域名,然后选择DNS验证,等验证通过之后手机会收到短信通知,接着我们将证书下载到本地。

    +

    TIM截图20191024171954.jpg

    +

    下载之后解压,会得到4个文件夹,如果你使用LNMP,则进入Nginx文件夹,如果是LAMP,则进入Apache文件夹,我这边以Nginx为例进行介绍。

    +

    TIM截图20191024172034.jpg

    +

    之后我们用记事本打开文件夹中的两个文件。

    +

    TIM截图20191024172057.jpg

    +

    接着我们进入宝塔面板的SSL设置界面,将那两个文件内容复制到相应的地方,注意最后不要加空格。

    +

    TIM截图20191024171745.jpg

    +

    保存提交之后,我们的SSL证书就部署完成了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/248.html b/posts/248.html new file mode 100644 index 0000000000..adb30a769e --- /dev/null +++ b/posts/248.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +N1可用的第三方油管APP-smarttube | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + N1可用的第三方油管APP-smarttube +

    + + +
    + + + + +

    N1刷了W大的电视盒子固件有两三年的时间了,期间配了T1遥控器,又扩容到了32G的存储,可以装下更多的APP了。运行KODI和日常的爱优腾都还算比较流畅,但唯独有一点,运行官方Youtube应用的时候会经常出现卡顿和死机的情况,体验不是很好,加之KODI下里面的Yotube插件也不能正常使用了,所以在N1上看油管视频一直没有一个很好的解决方案。
    +最近闲逛的时候发现有好多网友和我一样的情况,下面有热心网友推荐第三方的油管APP-smarttube。不仅可以流畅观看油管视频,而且可以免安装谷歌框架登录油管谷歌账号,同步观看记录和订阅频道。
    +image.png

    +

    这是软件的官网地址,可以下载稳定版和测试版:
    +https://smarttubenext.com/
    +安装方法也很简单,下载APK拷贝到优盘,插到N1上直接安装就可以了。
    +项目Github主页:yuliskov/SmartTube: SmartTube - an advanced player for set-top boxes and tvs running Android OS (github.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/24992.html b/posts/24992.html new file mode 100644 index 0000000000..d979efb156 --- /dev/null +++ b/posts/24992.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +N1盒子刷写openwrt系统做旁路由 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + N1盒子刷写openwrt系统做旁路由 +

    + + +
    + + + + +
    +

    Amlogic系列盒子,包括 N1、章鱼星球、S905X2外贸盒子、S905X3外贸盒子、S922X外贸盒子

    + + +
          第一次刷机(从U盘或TF卡启动之后):
    +
    + + +
             cd  /root   &&   ./install-to-emmc.sh     或者: /root/install-to-emmc.sh
    +
    + + +
          在线升级,先把 update-amlogic-openwrt.sh 以及镜像文件 xxxxxxxxxxxxxxxxxxxxxxxxx.img用winscp工具上传至/mnt/mmcblk2p4, 然后:
    +
    + + +

    cd /mnt/mmcblk2p4

    + + +
         chmod 755 update-amlogic-openwrt.sh
    +
    + + +
         ./update-amlogic-openwrt.sh  xxxxxxxxxxxxxxxxxxxxxxxxxx.img
    +
    + + +
         注意:update-amlogic-openwrt.sh一般随固件同时发布,在.7z包里面,每次升级最好都用最新版的update脚本
    +
    + + + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/25411.html b/posts/25411.html new file mode 100644 index 0000000000..0ddb0d1a53 --- /dev/null +++ b/posts/25411.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +用支付宝给美区appleID充值 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 用支付宝给美区appleID充值 +

    + + +
    + + + + +

    之前使用了一个网友共享的appleID来下载小火箭,最近刚换了手机,密码早已失效,于是想着用自己的美区ID买下软件,也不贵,2.99美元,折合人民币算下来不到30块钱,而且是终身免费升级,自己平时也是要用到的,干脆买下来也不亏。
    +美区ID已经有了,接下来的问题就是如何付款购买,手头没有外币信用卡,也没有paypal,所以只能用礼品卡充值了。网上搜了很多方法,其中比较简单,速度也比较快的是使用支付宝来购买。

    + +

    首先需要进入支付宝,左上角地区那里切换带海外,美国,旧金山。
    +ad001
    +然后搜索Pockytshop,进入小程序。
    +ad002
    +找到App Store图标,点金进去之后可以任意选择2-500美金进行充值,首次使用需要输入姓名和邮箱注册Pockytshop账户。
    +ad003
    +接着付款成功之后页面会出现礼品卡兑换码,复制兑换码,到APPstore进行充值就可以了。
    +ad004

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/26009.html b/posts/26009.html new file mode 100644 index 0000000000..532b23e84e --- /dev/null +++ b/posts/26009.html @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在orange pi上安装homeassistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在orange pi上安装homeassistant +

    + + +
    + + + + +
    +

    我使用的是orange pi zero 512M的版本,其他版本的orange pi 类似。

    + + +

    首先前往armbian网站下载最新版的Debian_stretch镜像并写入TF卡,将机器接入网线然后通电开机。

    + + +

    登录路由器或手机下载Fing软件,找到orange pi的IP地址,然后用Putty登录root账户,默认密码是1234。

    + + +

    首次登录系统会要求修改root密码以及创建一个新用户(下面以pi用户名为例进行演示),我们根据提示进行操作就可以了。

    + + +

    接下来我们输入armbian-config命令来进行连接WIFI,修改时区,修改网络名称,禁用IPV6等操作,根据菜单提示一步一步进行即可。设置完之后我们reboot一次机器。

    + + +

    等机器重启完之后我们用root登录,然后进行以下操作:

    + + +
    apt update
    +apt upgrade -y
    +apt install sudo net-tools -y
    +
    + + +

    将我们创建的用户加入到sudo组

    +
    nano /etc/sudoers
    +
    +

    将pi ALL=NOPASSWD: ALL插入到相应位置。

    +

    然后我们切换到之前创建的pi用户来进行下面的操作

    +
    su pi
    +sudo apt install wget screen git curl -y
    +sudo wget https://github.com/home-assistant/hassbian-scripts/releases/download/v0.6/hassbian-scripts_0.6.deb
    +sudo apt install bluetooth avahi-daemon python3-venv  python3-pip python3-dev libbluetooth-dev build-essential libssl-dev libffi-dev  python-dev libudev-dev -y
    +sudo dpkg -i  hassbian-scripts_0.6.deb;
    +sudo hassbian-config show;
    +sudo mv /opt/hassbian/suites/install_homeassistant.sh /opt/hassbian/suites/install_homeassistant.sh.bak
    +sudo nano /opt/hassbian/suites/install_homeassistant.sh
    +
    +

    然后复制以下内容并保存退出:

    +
    #!/bin/bash
    +function homeassistant-show-short-info {
    +    echo "Home Assistant install script for Hassbian"
    +}
    +function homeassistant-show-long-info {
    +    echo "Installs the base homeassistant package onto this system."
    +}
    +function homeassistant-show-copyright-info {
    +    echo "Copyright(c) 2017 Fredrik Lindqvist <https://github.com/Landrash>";
    +}
    +function homeassistant-install-package {
    +homeassistant-show-short-info
    +homeassistant-show-copyright-info
    +echo "Changing to the homeassistant user"
    +sudo adduser --system homeassistant
    +sudo addgroup homeassistant
    +sudo chown -R homeassistant:homeassistant /srv/homeassistant
    +sudo su -s /bin/bash homeassistant
    +echo "Creating Home Assistant venv"
    +python3 -m venv /srv/homeassistant
    +echo "Changing to Home Assistant venv"
    +source /srv/homeassistant/bin/activate
    +echo "Installing latest version of Home Assistant"
    +pip3 install pip==18.1 netdisco setuptools wheel
    +pip3 install homeassistant
    +echo "Deactivating virtualenv"
    +deactivate
    +EOF
    +echo "Enabling Home Assistant service"
    +systemctl enable home-assistant@homeassistant.service
    +sync
    +echo "Disabling the Home Assistant install script"
    +systemctl disable install_homeassistant
    +systemctl daemon-reload
    +echo "Starting Home Assistant"
    +systemctl start home-assistant@homeassistant.service
    +cd
    +ip_address=$(ifconfig ' awk -F':' '/inet addr/&&!/127.0.0.1/{split($2,_," ");print _[1]}')
    +echo
    +echo "Installation done."
    +echo
    +echo "Your Home Assistant installation is running at $ip_address:8123 or if prefered http://hassbian.local:8123";
    +echo
    +echo "To continue have a look at https://home-assistant.io/getting-started/configuration/";
    +echo
    +echo "If this script failed then this Raspberry Pi most likely did not have a fully functioning internet connection."
    +echo "If you have issues with this script, please say something in the #Hassbian channel on Discord."
    +echo
    +return 0
    +}
    +# Make this script function as it always has if run standalone, rather than issue a warning and do nothing.
    +[[ $0 == "$BASH_SOURCE" ]] && homeassistant-install-package
    +
    +

    接下来运行

    +
    sudo hassbian-config install homeassistant
    +
    +

    等停止之后输入

    +
    exit
    +
    +

    安装会继续进行。

    +

    等到安装结束之后运行下面命令:

    +
    sudo chown -R homeassistant:homeassistant /srv/homeassistant;
    +sudo systemctl stop home-assistant@homeassistant.service;
    +sudo su -s /bin/bash homeassistant;
    +source /srv/homeassistant/bin/activate;
    +hass
    +
    +

    直到我们能正常打开orange pi ip:8123看到网页,整个安装过程结束。

    +

    之后我们可以使用sudo hassbian-config show来安装samba、mqtt等服务。

    +

     

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/26090.html b/posts/26090.html new file mode 100644 index 0000000000..fcd95fa1c2 --- /dev/null +++ b/posts/26090.html @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +配置iStoreOS虚拟机 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 配置iStoreOS虚拟机 +

    + + +
    + + + + +

    第一步,配置网络:
    +20240106094645
    +出现上述图像后,单机 Enter 进入命令行

    + +

    请您在 Shell 中输入如下命令,以便编辑文件

    +

    vi /etc/config/network
    +Text
    +image-20231011135937094

    +

    现在您进入了 vi 编辑器:

    +

    键盘按 i 进入输入模式(代表insert输入的意思)

    +

    找到 config interface ‘lan’下的 option ipaddr

    +

    默认配置为:

    +

    config interface ‘lan’
    +…
    +option ipaddr ‘192.168.1.1’
    +Text
    +此处需要您自行修改ipaddr,我用我的修改方法作为例子:

    +

    我们看到下面我的gateway(网关)为192.168.31.1,这是我的小米路由器的网关ip

    +

    所以我如果想在小米路由器的局域网内访问,我需要将ipaddr更改为192.168.31.x。

    +

    这里我将openwrt的局域网ip改为:192.168.31.91,这样就处于小米路由器所构建的局域网内,这样使用其他局域网内的设备就能通过这个ip来访问iStoreOS的Web界面。

    +

    20240106094729

    +

    修改完毕后,按下 Esc,输入 “:wq”(保存并退出),退出 vi 编辑器。

    +

    输入以下命令,重启虚拟机。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/26602.html b/posts/26602.html new file mode 100644 index 0000000000..693301a041 --- /dev/null +++ b/posts/26602.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GoogleCloud安装宝塔面板 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + GoogleCloud安装宝塔面板 +

    + + +
    + + + + +

    宝塔面板可以运行在各类Linux系统中,方便我们搭建和管理网站。现在演示一下如何在GoogleCloud中安装宝塔面板。

    +

    首先我们进入Compute Engine中创建一个VM实例,为了尽可能的提升访问速度,我们将区域选择为香港。,启动磁盘选择Centos7。

    +

    TIM截图20181102140908.jpg

    +

    创建时在防火墙中勾选允许HTTP及HTTPS流量。

    +

    TIM截图20181102140930.jpg

    +

    接着我们进入VPC网络,在外部IP地址中我们将"临时"改为"静态"。

    +

    TIM截图20181102141251.jpg

    +

    在防火墙规则中,我们将出入站的所有端口及协议开放,并应用到所有实例。

    +

    TIM截图20181102141349.jpg

    +

    之后我们用SSH登陆到我们创建的VM实例,

    +

    TIM截图20181102141447.jpg

    +

    并运行以下命令进行安装:

    +
    sudo su
    +
    +yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
    +
    +

    根据提示选择安装功能,等安装结束会提示面板登陆地址、用户名及密码。

    +

    我们根据给出的安装信息就可以登陆到面板来创建和管理网站了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/26860.html b/posts/26860.html new file mode 100644 index 0000000000..eb65801e59 --- /dev/null +++ b/posts/26860.html @@ -0,0 +1,550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pornhub推出免费VPN软件VPNHUB【APK下载】 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + pornhub推出免费VPN软件VPNHUB【APK下载】 +

    + + +
    + + + + +

    **目前该APP已无法在给国内使用了,如需访问跨境网络,请前往SS之家注册账户 **https://sshome.win

    +

    世界知名的成人网站PORNHUB近日推出了一款免费的VPN软件,名为vpnhub。支持iOS及Android系统,现已在谷歌的PLAY商店以及苹果appstore上架,苹果iOS用户切换到美国地区的AppleID应该可以下载,而安卓用户可以在本文的结尾获取到APK下载地址。

    +

    下面以Android手机来演示一下怎么使用。安装之后我们点开APP,首次进入会有提示升级到高级用户,我们点击SKIP跳过,然后进入主界面,点击中间的图标进行连接,连接成功之后会变绿,顶部状态栏会有VPN图标。然后我们就可以愉快的玩耍了。

    +

    Uploading file...omc9y

    +

    Screenshot_2018-05-31-13-42-06-125_VPNhub.png

    +

    Screenshot_2018-05-31-13-42-42-938_VPNhub.png

    +

    如果升级到高级用户,可以选择其他国家或地区的节点,而免费的节点目前只有美国一个。

    +

    Screenshot_2018-05-31-13-57-15-164_VPNhub.png

    +

    高级用户的收费标准为月付11.99美金,年付的话6.25*12美金,高级用户可以享受更多的节点,更快的连接以及去广告服务。

    +

    不过还是建议大家用用就OK,没必要付费,一旦用的人多了,服务器都有随时被墙的危险。

    +

    Screenshot_2018-05-31-13-57-27-562_VPNhub.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/26864.html b/posts/26864.html new file mode 100644 index 0000000000..93b7d26442 --- /dev/null +++ b/posts/26864.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +中晶科技FS-3125S扫描仪驱动下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 中晶科技FS-3125S扫描仪驱动下载 +

    + + +
    + + + + +

    今天给客户安装中晶的FS3125S扫描仪,在网上找了一圈也没下载到驱动,现在从机器自带的光盘里拷贝了一份,上传到了百度云,有需要的朋友可以前往下载。该驱动支持winXP到win10。

    +

    xc6981855.jpg

    + +

    [reply]123[/reply]

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/27341.html b/posts/27341.html new file mode 100644 index 0000000000..926f6c5098 --- /dev/null +++ b/posts/27341.html @@ -0,0 +1,569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +HomeAssistant利用WOL及shell_command添加群晖NAS开关无坑版 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + HomeAssistant利用WOL及shell_command添加群晖NAS开关无坑版 +

    + + +
    + + + + +

    记过了近两天的各种尝试,终于搞定了群晖NAS在HomeAssistant的开关机操作,废话不多说,直接切入正题。

    +

    先说一下我这边的设备。

    +

    树莓派安装hassbian镜像运行HomeAssistant。

    +

    X86架构的黑群晖一台,内网IP为192.168.1.111。

    +

    我在HomeAssistant中用到的是WOL组件,利用网卡的MAC地址来唤醒NAS。首先将群晖的MAC地址和IP地址在路由器中进行绑定操作,并记录下MAC及IP地址。

    +

    然后在HomeAssistant系统中添加WOL组件。

    +
    - platform: wake_on_lan
    +  mac_address: "B8-97-5A-F5-5B-CA" ####群晖的实际MAC地址####
    +  host: 192.168.1.111  ####群晖在内网中的IP地址####
    +  name: MY-NAS   ####给这个开关起个名字####
    +  turn_off:
    +    service: shell_command.nasoff
    +
    +

    重点来了,看到turn_off命令了吗?这里用到的是shell_command组件,所以我们需要添加一个shell_command脚本,直接在configuration.yaml中添加就可以。

    +
    shell_command:
    +  nasoff: "ssh root@192.168.1.111 'shutdown -h now'"  ####将这里的IP替换为你群晖的IP####
    +
    +

    接下来,我们用putty登录到NAS,修改下root用户的密码,步骤可以参考我的上一篇文章。

    +
    https://miaoyang.win/%E7%BE%A4%E6%99%96dsm%E8%8E%B7%E5%8F%96root%E5%AF%86%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95.html
    +
    +

    之后我们用putty登录到树莓派,运行下面的命令,切换到homeassistant用户。

    +
    sudo su -s /bin/bash homeassistant
    +
    +cd
    +
    +

    此时请确保你的NAS是开机状态。

    +
    ssh-keygen
    +
    +ssh-copy-id root@192.168.1.111
    +
    +

    接着按照提示输入群晖NAS的root账户及密码,然后创建rsa秘钥,rsa生成之后我们就可以直接用 ssh root@192.168.1.111 这个命令来登录群晖NAS了,不用再输入密码。

    +

    最后我们重启一下树莓派就可以了。

    +

    NAS开关机的状态反馈会有30秒左右,在界面里面点了开关之后不要着急,等30s左右系统就会接收到返回的状态。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/27488.html b/posts/27488.html new file mode 100644 index 0000000000..c9cbf04dff --- /dev/null +++ b/posts/27488.html @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +OUTLINE服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + OUTLINE服务 +

    + + +
    + + + + +

    最近在一台美国的VPS上搭了OUTLINE服务,需要的朋友可以和我联系(微信MIAOYANG)。

    +

    目前定价为10元/月,限10GB流量。

    +

    由于目前苹果iOS的客户端已在国内appstore下架,所以必须切换到美国或其他地区的appstore才能下载。Android及Windows用户不受影响。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/28478.html b/posts/28478.html new file mode 100644 index 0000000000..8db9492835 --- /dev/null +++ b/posts/28478.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +获取token将米家PM2.5传感器接入HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 获取token将米家PM2.5传感器接入HomeAssistant +

    + + +
    + + + + +

    TIM图片20180518150305.jpg

    +

    由于HomeAssistant官方并没有发布米家PM2.5传感器的组件,所以我们这里需要用到第三方组件才能将其顺利接入HomeAssistant。

    +

    这个是bit3725大神制作的插件页面,下载之后放入/custom_components/sensor路径下,然后在配置文件中加入下面的配置即可。

    +
    sensor:
    +  - platform: mi_air_quality_monitor
    +    host: YOUR_SENSOR_IP
    +    token: YOUR_SENSOR_TOKEN
    +    name: YOUT_SENSOR_NAME
    +
    +

    这里我们遇到一个问题,因为米家的这个传感器不是通过多功能网关连接,而是直接通过WIFI连接的,所以我们需要想办法获取到设备的token。

    +

    HA官方在这个页面介绍了几种方法,我试过mitoolkit工具这个方法,不清楚是米家APP版本的问题还是电脑端JAVA环境的问题,始终无法正常获取,所以我用了直接在树莓派上安装miio的方法来获取米家PM2.5传感器token的方法。具体操作如下

    +

    首先putty登录到树莓派,输入下面命令来安装miio

    +
    sudo npm install -g miio
    +
    +

    安装完成之后我们输入下面的命令来查看设备的token

    +
    miio discover
    +
    +

    如下图会出现传感器的token,我们将token填入插件即可完成配置。

    +

    TIM截图20180518144528.png

    +

    如果你的系统里面没有安装nmp命令,可以参阅我的另一篇文章来进行安装。

    +

    此方法同样适用于需要获取token才能接入HomeAssistant的其他米家设备。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/28746.html b/posts/28746.html new file mode 100644 index 0000000000..17b9e03800 --- /dev/null +++ b/posts/28746.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +小米米家设备接入HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 小米米家设备接入HomeAssistant +

    + + +
    + + + + +

    TIM截图20180202134007.png

    +

    小米的HA插件已被官方正式收录,现在只要在configuration.yaml文件中直接添加配置即可完成小米米家设备的接入。

    +

    如果局域网中只有一个小米网关,无需添加MAC地址,只需在米家APP中获取局域网通讯协议,填入即可,配置代码如下:

    +
    xiaomi_aqara:
    +  discovery_retry: 5
    +  gateways:
    +    - key: xxxxxxxxxxxxxxxx
    +
    +

    如果局域网中有多个网关,需要获取到各自的MAC地址及局域网通讯协议,配置代码如下:

    +
    xiaomi_aqara:
    +  gateways:
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +
    +

    目前可以接入HA的设备有:

    +
      +
    • 温湿度传感器
    • +
    • 移动传感器
    • +
    • 门窗传感器
    • +
    • 小米无线开关
    • +
    • 小米ZIGBEE智能插座
    • +
    • 墙面插座
    • +
    • AQARA单双键面板(单火及零火)
    • +
    • AQARA单双键无线开关
    • +
    • 小米魔方
    • +
    • 天然气传感器
    • +
    • 烟雾传感器
    • +
    • 网关夜、亮度、铃声
    • +
    • 智能窗帘
    • +
    • 溢水传感器
    • +
    • 电量传感器
      +详情请参阅HA官方文档https://home-assistant.io/components/xiaomi_aqara/
    • +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/2878.html b/posts/2878.html new file mode 100644 index 0000000000..7517ef1e19 --- /dev/null +++ b/posts/2878.html @@ -0,0 +1,588 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +分享一些关于小雅Alist的使用心得 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 分享一些关于小雅Alist的使用心得 +

    + + +
    + + + + +

    前言

    +

    好久没有更新了,最近除了工作,其他时间都在研究小雅Alist的使用。什么是小雅Alist?它是一个基于Alist搭建的影音分享的docker容器,部署完成之后支持webdav协议,可以连接infuse、kodi、potplayer、nplayer、vidhub等等众多支持webdav协议的影音软件,资源主要来自于作者分享的各个网络云盘的资源,比如阿里云、115等等。
    +20240904095057
    +之前小雅Alist里面的资源都是来自于阿里云盘的,因为之前阿里云盘声称是永不限速,很长一段时间都可以通过小雅来流畅观看阿里云盘里面的视频资源。但是很快就被打脸了。大概在7月底的阿里云盘推出了三方权益包,每月需要额外花十几块钱办理这个包,里面有1TB的流量,可以将阿里云盘挂载到包括小雅Alist在内的其他第三方应用,享受高速传输服务,。如果你不办理这个权益包,速度会被限制在500kb/s左右,别说4k了,连1080的影片都无法流畅观看。让网友无法接受的是之前办理了阿里云盘VIP甚至是SVIP的网友,也需要单独购买这个三方权益包才可以不被限速,而且这个权益包只有1TB流量,用完之后,还是会被限速。。。
    +于是乎小雅开始转战115网盘,因为115有个转存阿里云盘的功能,简单来说就是,如果这个阿里的资源在115网盘上也有,会立即转存到你自己的网盘中。这样就跳过了阿里云盘的限制。当然115这边也有限制,需要开通会员才可以实现这个功能。但是115推出了优惠活动,包年会员115元,吸引了很多网友。而且最新的很多资源小雅都放到了115网盘中,所以想要玩小雅Alist,必须要办个115会员了。

    + +

    小雅alist的安装

    +

    想要安装小雅ALSIT首先你需要先安装好docker环境,arm或x86平台都可以。
    +安装脚本可以使用小雅原生的脚本,也可以使用DD-derek的一键脚本(包括emby和自动清理脚本等功能)。期间需要获取阿里云盘的相关token,具体方法可以参阅小雅说明文档(https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f)

    +
    1
    bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)"
    +
    1
    bash -c "$(curl --insecure -fsSL https://ddsrem.com/xiaoya_install.sh)"
    +

    安装完成之后进入主机IP:5678即可进入小雅ALIST页面。

    +

    一些115的配置

    +

    小雅alist的默认配置文件夹位于/etc/xiaoya路径下,里面有多个txt文档用来配置相关功能。
    +如果你办理了115的会员,需要至少配置三个文件。

    +

    ali2115.txt

    +

    这个文件是用来加速阿里云盘资源的,如果你没有办理阿里云盘的会员,但是有115的会员,可以配置这个文件来转存阿里的资源到115网盘,实现流畅观看视频。
    +格式如下:

    +
    1
    2
    3
    4
    purge_ali_temp=true
    cookie="UID=800012347_F1_1712345;CID=0f99357f000xxxxx67af8e167fcd68;SEID=0f439555555559d9b227595c0cd37b63c065e5d934d70045e8bfb3089b09b8d843662ad6ac00a90c6ecc3faf0e5abff45d73797470"
    purge_pan115_temp=true
    dir_id=0
    +

    里面的cookie换成你的115cookie即可。

    + +

    配置115的cookie来观看存储在115云盘上面的资源
    +格式如下:

    +
    1
    UID=800012347_F1_1712345;CID=0f99357f000xxxxx67af8e167fcd68;SEID=0f439555555559d9b227595c0cd37b63c065e5d934d70045e8bfb3089b09b8d843662ad6ac00a90c6ecc3faf0e5abff45d73797470
    +

    里面的cookie换成你的115cookie即可。

    +

    115share_list.txt

    +

    这个文件用来挂载115的分享,可以用小雅现成的,也可以分享你自己115网盘里面的文件。配置生效之后会在小雅根目录生成一个名为“我的115分享”的文件夹。
    +20240904095438
    +格式如下:
    +挂载名 分享ID 分享目录id 提取码 (用空格分开,一行一个)

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    115音乐 swz1zuk36by 549787817770 kac4
    纪录片 sw62frg3wp6 2288331541153662564 n9f5
    4KRemux sw6pw793wfp 2628478209787264315 w816
    电影1080P sw68fuu3nnw 1926968105722823031 pb57
    电视剧 sw68e813nnw 2659063178117250374 n9e0
    合集1 swzyiww3wn9 2524811557500852274 w1e0
    合集2 swzyiwq3wn9 2637890258378922777 x716
    合集3 swzyiwb3wn9 2637896360227215749 qfe8
    动画电影 swz6gml3fwo 2783753598167678176 8888
    欧美电影 sw68wz93ncb 2656232060400365768 6666
    美剧 sw6plt23ncb 2629830185329553796 6666
    千部抖音短剧合集 swzqh673h4y 2844388545487961211 5296
    无损音乐 sw6u40x3wp6 2748248365866155734 t543
    欧美剧 swznm373w1p 2775567116696245412 pe35
    音乐22万首 swzmqcr3fs6 2783304403585596566 xd67
    音乐22万首/DDS+HiRes sw658uq36x2 2565672403766001435 md98
    音乐22万首/母带系列 sw658uq36x2 2565416479709117843 md98
    音乐22万首/索尼精选 sw658uq36x2 2565917379515039176 md98
    音乐22万首/各类风格 sw658uq36x2 2565466586953464857 md98
    音乐22万首/华语27000首无损 sw658ub36x2 2565274055783398734 q7e0
    日韩电影 swzg8dd3wye 2932272857134137107 m5b3
    +
    +

    注意上面分享的这些文件夹可能会由于政策原因或是资源主取消分享而失效,请注意!

    +
    +

    登录限制

    +

    小雅alist默认是可以匿名登录的,也就是任何人都无需用户名密码即可打开小雅观看影片,如果你想要配置个登录密码,可以在小雅配置文件夹内新建一个名为guestlogin.txt,内容为空就行。然后再新建一个名为guestpass.txt的文本,里面填入你想设置的密码。然后重启docker容器。就可以用户名dav和你设置的密码来登录小雅了。当然如果你在其他地方使用webdav挂载了小雅alist,也需要该用户名密码进行连接。

    +

    关于webdav连接

    +

    使用支持webdav协议的播放器来连接小雅资源库,一般需要主机名、端口、用户名、密码、挂载路径等信息。主机名为docker宿主机的IP,端口为5678,用户名为dav,密码为上一步设置的密码,挂载路径为/dav,准确填入这些信息之后一般就可以正常连接小雅Alist了。

    +

    如何判断这个影片是115的还是阿里云盘的

    +

    小雅里面很多文件夹后面会标注115字样,说明这个资源是存在115网盘的,没有标注的话这个资源是存在阿里云盘的。如果你没有115的付费会员,只有普通会员,目前每天有5次机会可以不限速观看115的资源。还有一种方法,在小雅页面打开一个视频,如果播放器默认调用的是“Aliyun video perviewer",那说明这个资源是来自阿里云的,如果默认只有“video”选项,那这个资源大概率是115网盘的。
    +20240904095956

    +
    +

    这个资源就是存在阿里云盘

    +
    +

    20240904100104

    +
    +

    这个资源就是大概率存在115网盘

    +
    +

    如何查看小雅当前版本和升级版本

    +

    在小雅根目录下有个©开头的文件夹,这个就是当前小雅的版本号。在网络环境正常的情况下,每次重启小雅docker容器都会自动更新到最新的版本。如果你当前使用的小雅有一些莫名奇妙的问题,试着重启下docker容器,升级到最新版本,或许或解决你的问题。截止到9月4日,最新的小雅版本为v.0821.0535(B)。

    +

    如何自动清理存在阿里云盘的文件

    +

    每次观看影片之后,都会留一份文件在阿里云盘里面,时间长了之后会导致阿里云盘空间被占满,无法正常观看小雅视频。如果你使用的是DDS的一键安装脚本,里面会有个一键安装自动清理阿里云盘的脚本。其实是在docker中新建了一个名为xiaoyakeeper的容器,其作用是定时清空缓存在阿里云盘的视频文件。不必担心,这个脚本只会清理你在安装小雅docker时设置的缓存文件夹里面的文件,不会清理你存在阿里云盘的其他文件。当然你也可以指定脚本的运行时间。在小雅配置文件夹新建一个myruntime.txt文件,里面写入你希望脚本运行的时间即可,例如我希望在每天的早晚6点各执行一次清理脚本,只需要写入6:00,18:00即可。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/2895.html b/posts/2895.html new file mode 100644 index 0000000000..521614b8fd --- /dev/null +++ b/posts/2895.html @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +自己网络及设备服务分享 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 自己网络及设备服务分享 +

    + + +
    + + + + +

    微信截图_20220329163639.png

    +

    概述

    +

    上图是我家目前的网络拓扑示意图,及部分设备正在运行的服务,下面我将尽量对每个设备及所提供的服务来做详细的介绍,某些服务由于涉及到的知识点较多,以后可以能单独写文章来介绍。

    +

    联通光猫

    +

    负责运营商光纤到户后的光电转换,并给固定电话和IPTV提供接入服务。
    +网络方面,光猫使用桥接模式,不负责拨号,不负责提供WIFI服务,WIFI服务由华为AX3路由器及水星D191G路由器负责。

    +

    华为AX3路由器

    +

    负责宽带拨号,负责提供DHCP服务,负责提供WIFI覆盖服务,负责局域网内设备的端口转发服务及DMZ服务,为了方便远程管理内网设备,还在路由器上部署了花生壳的DDNS服务。WAN口与上级的联通光猫连接,LAN与需要提供网络服务的下级设备连接。
    +##水星D191G路由器
    +提供WIFI覆盖服务及普通交换机服务。LAN口与上级主路由的LAN口连接,LAN口IP设置为和上级路由器一个网段,方便管理,关闭DHCP,DHCP服务由上级路由统一管理。剩余的LAN口可作为交换机使用,连接设备后将自动从华为AX3路由器获取IP地址。

    +

    N1盒子-OPENWRT

    +

    N1盒子已刷F大的OPENWRT系统,目前作为旁路由使用,提供科学上网服务,里面内置Docker服务,由于N1是24小时全天候运行,所以使用Docker服务部署了HomeAssistant服务来管理家里智能设备的自动化运行,后来又部署了青龙面板JD签到服务。为了方便远程管理N1路由器和里面的Docker容器,所以在华为AX3主路由上将N1的80端口和Docker容器中用到的端口做了转发处理,这样在外网环境下使用DDNS域名+对应端口就可以了访问到内网的服务了。

    +
    N1盒子及OPENWRT的其他使用分享我会再后续分功能来介绍
    +

    ##群晖NAS
    +为局域网设备提供网络存储服务,目前我使用到的服务套件有Synology MailPlus Server,使用自己的域名搭建邮件服务器;Synology Photos,用于备份和管理移动端的相片等,DownloadStaion用来下载文件和电影,配合浏览器插件,用起来很方便。WebStaion用来搭建网站。还有Docker服务,目前我在群晖的Docker上部署了KMS激活服务、阿里云盘WEBDAV服务、和FRPC服务三个容器。KMS激活服务用于直接激活内网环境下VOL版本的Windows系统和Office办公软件,如果将端口映射出去,也可以用于外网的激活。阿里云盘WEBDAV服务是将阿里云盘转换为标准的WEBDAV协议,可以在各种客户端中使用WEBDAV协议来读写云盘里面的文件。最后一个FRPC服务是一个用于内网穿透的服务,可以在外网环境下直接使用域名访问到内网中的各种服务。另外我在群晖NAS里面部署了DNSPOD的DDNS服务,将自己的域名解析到了NAS,而且在华为AX3主路由上将群晖NAS的主机加到了DMZ服务,这样直接使用DDNS服务的域名加端口就可以直接访问到群晖里面的各种服务,不需要单独做转口转发服务,当然除了运营商已经封锁掉的80/443等端口。这也是我为什么要在Docker上再跑一个DRPC服务的原因了。

    +
    群晖NAS的相关使用及经验分享可能后续会单独开个分类。
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/29037.html b/posts/29037.html new file mode 100644 index 0000000000..bf475e6057 --- /dev/null +++ b/posts/29037.html @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +年付19.99美元的搬瓦工VPS上架了 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 年付19.99美元的搬瓦工VPS上架了 +

    + + +
    + + + + +

    今天去搬瓦工看到之前停售的年付19.99美元的VPS重新上架了,有需要的朋友可以前往购买。之前一直用VULTR的主机,不过最近几个月老是无故被墙,所以现在还是用上了之前在搬瓦工买的VPS,用了几个月感觉速度和稳定性方面都还不错,年付19.99美元还是比较合算的。下面是该主机的详细配置。

    +
      +
    • 10GB的SSD空间RAID-10
    • +
    • 512MB的内存
    • +
    • 1颗英特尔至强CPU
    • +
    • 每月500GB的流量
    • +
    • 千兆网速
    • +
    • OVZ和KMV可选
    • +
    • 多地区可选
    • +
    • 每年19.99美金,支持支付宝付款
    • +
    • 支持30天退款
      +购买链接https://bandwagonhost.com/aff.php?aff=31267
    • +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/29347.html b/posts/29347.html new file mode 100644 index 0000000000..286580d362 --- /dev/null +++ b/posts/29347.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +利用ifttt将Wordpress文章同步到社交平台 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 利用ifttt将Wordpress文章同步到社交平台 +

    + + +
    + + + + +

    今天我在ifttt新建了三个自动同步应用,如果Wordpress有新文章发布,更新消息将会自动在twitter以及新浪微博发送一条更新通知,并会在印象笔记同步一条以文章为内容的笔记。

    +

    TIM截图20181213191941.png

    +

    TIM截图20181213191827.png

    +

    设置起来很简单,只需将你的各种平台的账号信息授权给ifttt,然后根据提示一步一步傻瓜式操作就可以了。

    +

    现在我们来测试一下同步效果吧。

    +

    经过测试及长时间的等待,Wordpress同步到Twitter及印象笔记均可以正常工作,但是无法同步到新浪微博,据网友反馈说,新浪微博早已关闭了来自ifttt的同步请求。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/30251.html b/posts/30251.html new file mode 100644 index 0000000000..6d8a368a9a --- /dev/null +++ b/posts/30251.html @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄视频开放公测 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 渊澄视频开放公测 +

    + + +
    + + + + +

    image.png

    +

    最近几天抽空建了一个视频网站,用的是苹果cmsV10搭建的。视频数据主要采集各资源平台的m3u8格式。
    +目前基本功能都已经测试完毕,正式开放公测。
    +公测期间注册会员可观看全部视频资源。游客会限制部分分类的观看。
    +公测时间截止到2024年12月31日。bug反馈或是片源需求可在站内留言板中留言。
    +站点地址: https://v.ycyc.win

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/30452.html b/posts/30452.html new file mode 100644 index 0000000000..cff6c04800 --- /dev/null +++ b/posts/30452.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +拒绝QQ绿钻,让小爱音箱随意播放音乐 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 拒绝QQ绿钻,让小爱音箱随意播放音乐 +

    + + +
    + + + + +

    引言

    +

    现在的各种智能音箱,想要好好听音乐,都需要开通各种音乐VIP服务才行,而且有些歌曲因为版权原因,在特定的平台才会有,所以办一个平台的会员有时候还不够。要是不办会员,只能试听十几秒,或者是听一些不知名的翻唱版本。那有没有一种方法,让音箱调用本地NAS里面储存的音乐来播放呢?这样就不用办各种音乐会员了。

    +

    xiaomusic是用来让小米音箱播放音乐的docker项目 https://github.com/hanxi/xiaomusic 其原理应该是用特定唤醒语劫持小爱音箱网络请求,使用yt-dlp这个项目前往油管下载同名的视频音源到本地,咨询了作者之后得知如果网络不支持访问油管,会转到B站下载,然后进行播放(目前默认是从B站下载资源,除非在设置界面指定从油管下载)。

    +

    安装命令

    +

    运行以下命令安装docker容器:

    +
    1
    2
    3
    4
    docker run -p 8090:8090 \
    -v /mnt/usb/xiaomusic/music:/app/music \
    -v /mnt/usb/xiaomusic/conf:/app/conf \
    hanxi/xiaomusic
    +
    +

    将命令中的/mnt/usb/xiaomusic字段替换为你本地容器配置的文件夹。
    +另外本地曲库需放到music文件夹内才会被识别。

    +
    +

    容器创建完成之后访问宿主机ip:8090端口进入容器设置页面。
    +image.png

    + +

    进入设置页面,登录小米账号后会读取到账号内所有支持的小米音箱设备,可以选择不同的设备进行控制,也可以为不同设备创建同一个分组进行控制。设置页面可以设置指定的唤醒词来调用本地播放功能。另外一些本地曲库的相关设置也在该页面。
    +这里有个模糊匹配阈值和目录深度设置需要注意一下,如果你本地音乐命名不规范,可以适当把这个值调小一些。
    +image.png
    +设置完成之后可以在主页看到本地曲库的目录。识别到的歌曲不仅可以推送到小爱音箱播放,也可以在网页端用浏览器播放。
    +image.png

    +

    目前作者已经更新到了0.3.37。修复了之前的一些bug。另外本地曲库播放功能也比之前体验好了不少。
    +另外作者也有微信交流群,有问题可以去群里反馈,如果觉得这个项目不错,也可以给作者打赏。更多使用指引可参阅官方文档。

    +

    引用

    +

    hanxi/xiaomusic: 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 (github.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/31120.html b/posts/31120.html new file mode 100644 index 0000000000..9a4478619a --- /dev/null +++ b/posts/31120.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在GitHub上部署HEXO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在GitHub上部署HEXO +

    + + +
    + + + + +


    +经过三天的不断网上趴文和自我修炼,参考了众多网上大神的教程和文章,自己又填了无数个坑之后,终于成功在GitHub上部署了HEXO系统发布文章,使用GitHub Action功能自动编译HEXO程序并发布静态页面。我将用两个篇幅来记录部署过程。
    +第一部分介绍如何在本地部署HEXO程序,安装主题,本地预览,然后发布到Github Page。
    +第二部分介绍如何使用GitHub Action功能实现HEXO程序的自动编译和发布。

    +

    1.GitHub上新建仓库

    +

    登录你的Github,新建两个仓库:
    +一个仓库用于发布我们的HEXO站点,为了便于区分,我们在这里叫它公开仓库,新建的时候选在类型为Public,网址那里填入***.github.io,确保你可以使用域名https://***.github.com 访问到你的页面,这篇文章我们主要在这个仓库中进行操作;
    +另一个站点用于存放我们的HEXO程序源文件,用于和主仓库实现自动化编译和发布的联动,我们叫它私人仓库,类型选择Pravite,名称随便起,我们这里叫做hexo-action。
    +

    + +

    2.本地安装配置环境

    +

    需要安装的工具有git和node两个环境,安装包已经上传到了阿里云,大家可以自行下载。
    +git x64

    +
    1
    https://www.aliyundrive.com/s/eWkiy8beBEj
    +

    node x64

    +
    1
    https://www.aliyundrive.com/s/A6iLQPNecXt
    +

    安装完成之后在cmd窗口运行git --version及node -v 命令确保安装正确。

    +

    3.部署Github通讯密钥

    +
    +

    我们在本地运行git bash命令窗,

    +
    +
    1
    2
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub注册邮箱"
    +
    +

    生成ssh密钥文件:

    +
    +
    1
    ssh-keygen -t rsa -C "你的GitHub注册邮箱"
    +

    连续回车,直到命令运行结束。
    +在本地用户名文件夹下会看到一个.ssh命名的文件夹,用记事本或是notepad++打开里面的id_rsa.pub文件并复制全部内容。
    +打开GitHub_Settings_keys 页面,新建new SSH Key,Title随便填,Key那里把刚才复制的公钥粘贴过去,然后点击Add SSH Key。
    +

    +
    +

    我们可以输入下面命令来测试一下密钥是否配置正确:

    +
    +
    1
    ssh git@github.com
    +

    3.运行安装命令进行HEXO的安装

    +

    在本地选择一个文件夹,作为你的hexo主目录,在这个文件夹下右键,选择git bash here打开git命令窗口。

    +
    +

    运行命令安装hexo:

    +
    +
    1
    npm install -g hexo
    +
    +

    运行命令在此文件夹新建站点:

    +
    +
    1
    hexo init
    +

    如果命令没有报错的话,在你选定的文件夹下应该会下载到hexo的文件。

    +
    +

    我们可以编辑根目录下的_config.yml来配置HEXO站点的相关信息。
    +编辑完相关信息之后运行以下命令重新生成站点文件:

    +
    +
    1
    hexo g
    +

    4.打开本地演示模式

    +
    +

    输入下面命令打开本地演示模式:

    +
    +
    1
    hexo s
    +

    打开之后在浏览器输入http://localhost:400 就可以访问到网站了。

    +

    5.安装主题butterfly

    +

    我们接下来安装一个主题,这里以butterfly这个主题为例,其他主题的安装也类似。

    +
    +

    在hexo文件下下运行以下命令:

    +
    +
    1
    2
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
    npm install hexo-renderer-pug hexo-renderer-stylus --save
    +

    运行完成之后我们编辑主题文件夹下的_config.yml文件来对主题进行配置。
    +编辑完成之后复制一份这个yml文件到hexo根目录,并命名为_config.butterfly.yml。
    +接着编辑根目录下面的站点配置文件_config.yml来更改主题

    +
    1
    theme: butterfly
    +
    +

    修改完成之后重新运行下面命令编译HEXO:

    +
    +
    1
    hexo g
    +
    +

    然后本地预览新安装的主题:

    +
    +
    1
    hexo s
    +

    6.将站点发布到Github上

    +

    如果在本地演示没有报错,我们就可以将站点发布到Github上面了。
    +首先我们需要编辑根目录下的_config.yml文件,拉到文件最底部填入你的github地址:

    +
    1
    2
    3
    4
    5
    deploy:
    type: 'git'
    repo: git@github.com:miaoyanginfo/miaoyanginfo.github.io.git
    branch: master

    +
    +

    然后运行下面的命令:

    +
    +
    1
    2
    npm install hexo-deployer-git  --save
    hexo clean && hexo g && hexo d
    +

    发布完成之后我们直接用域名https://***.github.io
    +就可以访问到我们搭建的HEXO站点了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/32581.html b/posts/32581.html new file mode 100644 index 0000000000..65a42cbcef --- /dev/null +++ b/posts/32581.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +清理docker占用空间脚本 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 清理docker占用空间脚本 +

    + + +
    + + + + +

    docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
    +其实运行下面的命令就会自动清理docker无用的空间。
    +think01

    +
    1
    docker system df -v
    +

    列出docker使用空间详情

    +
    1
    docker system prune -a
    +

    该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
    +如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/33186.html b/posts/33186.html new file mode 100644 index 0000000000..9068cd17fe --- /dev/null +++ b/posts/33186.html @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2018-10-27hassbian镜像下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 2018-10-27hassbian镜像下载 +

    + + +
    + + + + +

    Homeassistant在2018年10月27日编译了最新的hassbian镜像,将镜像直接写入树莓派的TF卡即可自动安装Homeassistant,并支持hassbian-config脚本来安装其他组件,适合手头有树莓派的朋友快速安装Homeassistant系统。

    +

    该镜像有1.86GB,下载后无需解压,可用win32diskimager等软件直接将img文件写入TF卡,然后树莓派连接网线,通电启动,整个安装过程视网速而定,大约需要10-20分钟不等。如需设置WIFI等信息,可用Putty登入(默认用户为pi,密码为raspberry),然后执行sudo rasp-config来进行设置。

    +

    Github下载地址:https://github.com/home-assistant/pi-gen/releases/latest

    +

    稍后我会将镜像上传到百度盘,方便国内朋友下载。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/33470.html b/posts/33470.html new file mode 100644 index 0000000000..d1c49ad752 --- /dev/null +++ b/posts/33470.html @@ -0,0 +1,536 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +影视飓风被下架视频《清晰度不如4年前!视频变糊是你的错觉吗?》 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 影视飓风被下架视频《清晰度不如4年前!视频变糊是你的错觉吗?》 +

    + + +
    + + + + +

    最近全网知名千万级up主影视飓风上架了一部关于视频清晰度的视频,随后却被全网集体下架。视频中详细分析了各视频平台如何利用最新的编码算法欺骗用户的眼睛,标称4k、8k分辨率的视频清晰度甚至不如几年前的1080p。有些平台甚至根据播放量调整视频编码方式,节约带宽流量。随着视频的下架以及在海外平台的转载,网友评论出奇一致,解决不了问题,就解决提出问题的人。

    +
    +

    该视频分享自油管,如果打不开请挂梯子。

    +
    + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/34605.html b/posts/34605.html new file mode 100644 index 0000000000..1137db298e --- /dev/null +++ b/posts/34605.html @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +snipaste-强大的windows平台截图工具下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + snipaste-强大的windows平台截图工具下载 +

    + + +
    + + + + +

    我们在电脑里操作截图一般会用QQ或微信自带的截图工具,用起来虽然方便,但是必须要登录QQ或是微信才能使用,这一点很是不爽。虽然Windows也自带有截图工具,可是用起来并不友好。

    +

    今天推荐给大家一款好用到爆的截图工具-Snipaste,绿色版无需安装,可设置开机启动,只需按下F1键即可完成截屏,可截取屏幕上任何位置的画面,而且还支持标注及粘贴、颜色提取等快捷操作。

    +

    该工具的设置也简单明了,将压缩包解压之后运行软件,在托盘区找到snipaste的图标,右键选择首选项即可进行设置。

    +

    Snipaste_2018-06-07_10-07-11.jpg

    +

    软件分为32位、64位及XP专用三个版本,大家可根据自己的系统下载相应的版本。

    +

    目前该工具也推出了适用于MAC系统的测试版。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/34659.html b/posts/34659.html new file mode 100644 index 0000000000..6bd05003c0 --- /dev/null +++ b/posts/34659.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +H96pro+盒子刷原生谷歌Android TV系统 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + H96pro+盒子刷原生谷歌Android TV系统 +

    + + +
    + + + + +

    H96 PRO+是一款配置很高的山寨安卓播放盒,采用S912的处理器,最高配置3GB运存,32GB存储空间,自带Android原生系统,支持4K分辨率。淘宝上每台390块大洋,就参数配置来讲,还是很有性价比的,比目前配置最高的小米盒子还要高。

    +

    +

    只不过盒子自带的是Android系统,非Android TV系统,Android TV 系统是Google专为TV优化的操作系统,配备Android TV的硬件主要有小米盒子国际版以及英伟达的Shield TV等。

    +

    与普通的Android系统相比,Android TV系统为电视以及遥控器做了很多优化,更适合在电视上使用,我查阅了国内外大神的相关文章,结合自己的实际经验,写了这篇教程,如有不对的地方,敬请指正。

    +

    我们需要用到的东西:

    +

    H96 PRO+一台;

    +

    16GB的TF卡一张(含读卡器);

    +

    卡针一个;

    +

    Windows系统的电脑一台。

    +

    操作马上开始。

    +

    下载名为BurnCardMaker的软件并安装。

    +

    下载Android TV固件镜像(H96 PRO+的主板有蓝色和绿色两种,大家可以通过机器的缝隙看到,请下载自己对应颜色的固件)。

    +

    打开BurnCardMaker软件,将TF卡连接到电脑,在软件里选择好TF卡的盘符,浏览到下载好的固件,分区和格式化打钩,选择强制擦除,然后点击"制作"开始将固件写入到TF卡中。

    +

    TIM截图20180423140701.png

    +

    写入完毕之后我们将TF卡插入机器中,连接好HDMI线,然后用卡针按住reset孔不放的同时接通电源,然后松开卡针。

    +

    此时电视屏幕上应该会出现Android机器人的画面,等待刷机完成,重启机器即可完成整个刷机过程。

    +

    软件及固件下载地址在页面下方。

    +

    最后吐槽一下盒子的做工,简直是粗糙到无力吐槽,无论是盒子本身还是遥控器,如果对于硬件配置没有太高要求,对外观做工比较看重的朋友,还是建议入手小米盒子之类的国内品牌电视盒子。

    +

    下载地址链接: https://pan.baidu.com/s/1_v45uHmL9b8g3Fcm-BuWeA 提取码: 52my

    +

    目前我的H96PRO+电源口已经坏掉了,现在沦为尸体,各位珍重吧。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/34873.html b/posts/34873.html new file mode 100644 index 0000000000..a740670c36 --- /dev/null +++ b/posts/34873.html @@ -0,0 +1,585 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖Mailplus套件搭建邮件服务器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖Mailplus套件搭建邮件服务器 +

    + + +
    + + + + +
    +

    套件中心搜索【Synology Mail Plus Server】和【Synology Mail Plus】两个套件安装。

    + + +
    ![](image-5.png)
    + + +

    安装完成之后启动【Synology MailPlus Server】套件,进入【服务】选项卡进行设置,启用SMTP、POP3服务及对应端口。

    + + +
    ![](image.png)
    + + +

    切换到【邮件投递】选项卡进行设置。

    + + +
    ![](image-2.png)
    + + + + +

    切换到【账号】选项卡,激活相应的账户。

    + + +
    ![](image-1.png)
    + + +

    激活完成之后就可以进入【Synology MailPlus】套件来进行邮件的收发动作。

    + + +
    ![](image-4-1024x372.png)
    + + +

    另外我重点说一下我这边的网络环境及路由器和DDNS的设置。

    + + +

    家里面使用的是联通宽带,有公网IP。

    + + +

    在路由器中设置DMZ主机为群晖的IP。这样设置之后群晖上所有服务的端口都会暴露到公网上去,不需要单独在路由器中做端口转发,如果为了安全起见,不希望暴露某些端口到公网,可以在群晖防火墙里面做设置。

    + + +

    然后在群里里面设置DDNS。我使用的是DNSPOD的DDNS服务。在群晖的【控制面板】-【外部访问】中进行DNSPOD的设置。需要在DNSPOD后台生成API密钥,这里不展开讨论。

    + + +

    然后在DNSPOD后台添加对应域名的解析操作,比如我的域名是miaoyang.win。我将主域名用DDNS的方式解析到了群晖,然后MX记录用解析到miaoyang.win,将二级域名mail.miaoyang.win用CNAME方式解析到miaoyang.win。

    + + +

    这样所有记录都会正确解析到宽带获取到的公网IP上面。

    + + +
    ![](image-3-1024x443.png)
    + + +

    经过上述设置之后,我这边可以在外网环境下使用WEB和手机客户端进行邮件的收发操作。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/35875.html b/posts/35875.html new file mode 100644 index 0000000000..f60bd4fee0 --- /dev/null +++ b/posts/35875.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用Valine来给HEXO添加评论系统 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用Valine来给HEXO添加评论系统 +

    + + +
    + + + + +

    HEXO默认是不带评论系统的,但后台支持调用许多第三方的评论系统,我们这里以Valine为例来给HEXO站点配置第三方评论系统

    +

    1.注册LeanCloud账户并创建应用

    +

    进入LeanCloud网站注册账户,进行实名认证,然后创建一个应用,命名为hexo。

    +

    2.获取应用的APP KEY

    +

    进入创建好的应用,点击"设置",然后"应用凭证",获取APPID和APPKEY。

    +

    3.编辑主题配置文件

    +

    编辑主题的_config.yml配置文件

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    comments:
    use: Valine
    valine:
    appId:
    appKey:
    avatar: monsterid # gravatar style https://valine.js.org/#/avatar
    serverURLs: # This configuration is suitable for domestic custom domain name users, overseas version will be automatically detected (no need to manually fill in)
    bg: # valine background
    visitor: false
    option:
    +

    use字段填入"Valine"
    +appid和appkey字段填入获取到的信息,然后保存文件。

    +

    3.添加安全域名

    +

    进入应用"设置"-“安全中心”,填入你的HEXO站点地址,然后保存。

    +

    4.编译站点并发布

    +

    经过上面步骤之后对站点进行重新编译和发布,就可以在文章结尾看到评论窗口了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/36597.html b/posts/36597.html new file mode 100644 index 0000000000..fda096a5e9 --- /dev/null +++ b/posts/36597.html @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +serv00搭建Alist记录 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + serv00搭建Alist记录 +

    + + +
    + + + + +

    楔子

    +

    昨天撸了一个免费的serv00虚拟空间,并且成功搭建了WordPress站点。在搜索serv00相关信息期间看到有大神写了用serv00搭建Alist的教程。自己的Alist之前是搭建在家里的openwrt上面的,于是决定将其迁移到serv00上面来,以下记录在serv00搭建Alist以及数据迁移的过程,供有需求的朋友参考。

    +

    Alist数据备份导出

    +

    如下图所示登录原Alist管理后台将数据备份并导出到本地。
    +image.png

    + +

    serv00开放端口

    +

    登录到serv00管理后台,找到Port reservation,然后添加一个开放端口,由于常用一些端口都被占用了,所以我们直接点击Random随机生成一个端口。
    +image.png

    +

    生成之后在Port list就能看到该端口了,记录下改端口号。
    +image.png

    +

    serv00创建站点

    +

    如下图所示,输入站点域名,这里以yun.ycyc.win为例,类型选择proxy,端口选择刚才开放的端口号。这样,我们就可以直接使用域名而无需加端口号来访问站点了。
    +image.png

    +

    serv00开放应用运行

    +

    如下图所示进入Additional services,打开运用运行。
    +image.png

    +

    解析域名并设置证书

    +

    此步骤请参阅我的上一篇文章相关章节,这里不再赘述。
    +0成本serv00搭建wordpress | 渊澄

    +

    serv00创建MySQL数据库

    +

    此步骤同样请参阅上篇文章相关章节。
    +0成本serv00搭建wordpress | 渊澄

    +

    安装应用

    +

    进入File manager模块,进入到站点文件夹,新建一个名为alist的文件夹,并将alist文件上传到新建的alist文件夹内。

    +

    文件下载地址:渊澄网盘
    +然后登录SSH执行以下命令进行安装:

    +
    1
    2
    3
    cd /usr/home/ycycwin/domains/yun.ycyc.win/alist
    chmod +x alist
    alist./alist server
    +

    命令运行完成后出现下图所示的提示说明安装完成。
    +image.png

    +

    修改配置文件

    +

    进入到站点目录,找到data/config.json 将数据库字段替换为创建的MySQL数据库相关信息,并将端口替换为之前放开的端口号。
    +image.png

    +

    运行程序

    +

    运行下面的命令启动alist程序,首次运行会生成默认密码,需要及时记录下来。

    +
    1
    ./alist server
    +

    image.png

    +

    登录管理

    +

    如果一切顺利的话,现在就可以在浏览器中访问 https://ycyc.win 了。使用默认的用户名admin以及上一步生成的默认密码就可以登录Alist后台进行操作了。
    +image.png

    +

    导入Alist备份

    +

    进入Alist后台之后将第一步导出的备份文件导入系统,等待全部还原完成即可。

    +

    程序后台运行

    +

    现在的Alist只能在当前SSH界面中运行,如果关闭SSH或退出当前命令,Alist就会结束运行。
    +现在需要使用screen命令保存当前进程并增加开机自动运行。

    +
    1
    screen -S alist /home/ycycwin/domains/yun.ycyc.win/alist/alist server
    +

    执行后会新建一个screen会话运行alist

    +

    可以在当前会话按下 Ctrl + A,然后按D,这会让你从当前 screen 会话中脱离,但 alist 程序仍会在后台运行。

    +

    如果你需要重新连接到这个 screen 会话,可以使用以下命令:

    +
    1
    screen -r alist
    +

    添加计划任务

    +

    在网页管理面板进入Cron jobs菜单,点击Add cron job,新建一个脚本,然后在Command框中输入

    +
    1
    cd /home/ycycwin/domains/yun.ycyc.win/alist && screen ./alist server
    +

    然后点击Add,这样,当服务器重启的时候就会执行操作自动启动alist应用了
    +image.png

    +

    总结

    +

    搭建的过程虽然步骤比较多,但操作起来还是比较顺利的。有几个重点需要再次说明一下,第一个就是一定要开启站点应用程序执行权限,第二个是screen命令的运行,最后就是cron job的添加,以防服务器重启导致alist服务未启动。
    +还有就是文内命令中的相关用户名及域名路径要换成你自己的。
    +搭建过程中遇到问题可以在下方评论区与我讨论。

    +

    引用

    +

    serv00部署alist详细记录 - Wenbin’s blog
    +玩转serv00虚拟主机(三):零成本搭建alist个人网盘_网络存储_什么值得买

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/36618.html b/posts/36618.html new file mode 100644 index 0000000000..81c7cd45dd --- /dev/null +++ b/posts/36618.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +曲线救国,使用Alist挂载CloudflareR2存储桶 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 曲线救国,使用Alist挂载CloudflareR2存储桶 +

    + + +
    + + + + +

    前言

    +

    之前一直在用RaiDrive这款软件在windows端挂载WEBDAV网盘,RaiDrive除了支持WEBDAV协议之外,还支持其他主流的网盘服务,比如OneDrive,Google Drive等等,这些都是支持读写操作的。然后RaiDrive也支持比如亚马逊AWS S3和CloudflareR2等等对象存储的接入,但是RaiDrive的免费计划仅支持这些存储的读取,不支持写入,想要写入的话还需要至少每月4.84美元以上的付费计划。
    +RaiDrive付费权益计划

    +

    除了使用付费RaiDrive套餐之后,还可以选择我们之前提到的Alist来挂载CloudflareR2(当然也包括AWS S3,R2是兼容S3协议的)。

    + +

    操作

    +

    添加之前我们需要先创建一个R2令牌。
    +获取R2令牌
    +创建令牌的时候需要按需选择密钥权限。在使用过程中发现权限不足的话,也可以再次进入该页面进行编辑,赋予更高的权限。
    +R2令牌权限类型

    +

    获取到访问密钥ID,机密访问密钥以及终结点地址三个信息。
    +R2密钥获取

    +

    然后在Alist后台添加存储,类型选择“对象存储”,根据下图所示将获取到的R2相关密钥填入相应参数即可完成添加。

    +

    Alist添加R2对象存储
    +添加完成之后就可以在Alist首页看到我们添加的R2存储文件夹了,并且支持读写操作。这样再通过WebDav协议利用RaiDrive挂载到windows本地就可以读写操作了。
    +如果你需要添加更多类似的对象存储,可访问文章结尾的Alist官网文档。

    +

    引用

    +

    对象存储 | AList文档

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/3682.html b/posts/3682.html new file mode 100644 index 0000000000..a24da7c08e --- /dev/null +++ b/posts/3682.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +YouTube后台播放神器OGYT | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + YouTube后台播放神器OGYT +

    + + +
    + + + + +

    今天给大家推荐一款APP,可以在当YouTube退到后台之后继续以音频的形式播放。

    +

    一般情况下,我们在用YouTube APP播放视频时,如果退到后台,视频就会暂停播放,如果我们想要继续以音频形式播放YouTube,就必须要开通YouTube的付费功能。

    +

    安装的OGYouTube之后,我们在OGYouTube中观看视频,然后点击"背景"按钮,视频就会以音频方式在后台继续播放,此等神器,GOOGLE PLAY商店时绝对不会上架了,大家可以在附件中下载到。

    +

    另外OGYOUTUBE还有下载YOUTUBE视频的功能,但我测试了之后没有下载成功,不知道是APP本身的原因还是我网络环境的问题。大家可以试一下,如果有下载成功的请留言告知。

    +

    使用方法:将附件内的两个APP同时安装,然后在OGYoutube中登陆Google账户就可以使用了。

    +

    微信图片_20180802104843.jpg

    +

    下载地址链接: https://pan.baidu.com/s/1Kre7Lo--yaEsRODV2lZbxA 提取码: 7dqy

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/36865.html b/posts/36865.html new file mode 100644 index 0000000000..3565666089 --- /dev/null +++ b/posts/36865.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +HomeAssistant基础设置笔记 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + HomeAssistant基础设置笔记 +

    + + +
    + + + + +

    现在,HomeAssistant系统虽然已经安装完成,但我们还需进行一些基础的设置,才能正常使用。

    +

    我们以下的操作,如无特殊说明,均在Windows10 X64操作系统下完成。

    +

    我们在之后的操作中会经常用到三个软件,请下载安装:

    +
      +
    1. PUTTY:用于远程登录主机,运行操作命令;
    2. +
    3. WINSCP:用于远程登录主机,对文件进行操作;
    4. +
    5. Notepad++:用于编辑.yaml等文本文件。
      +首先,我们打开PUTTY软件,在Hostname处输入主机的ip地址,端口保持22不变,连接类型选择SSH,然后点击OPEN。
      +TIM截图20180131083738.png
    6. +
    +

    在弹出的终端窗口中我们用树莓派默认的用户名(pi)和密码(raspberry),然后回车来登录主机,注意输入密码的时候界面不会显示。

    +

    TIM截图20180131083840.png

    +

    登录成功之后会出现如下界面,如果登录失败,请检查输入的用户名和密码是否有误。

    +

    TIM截图20180131112150.png

    +

    我们可以运行以下命令来设置树莓派的网络、时区、输入输出设备等,类似于WINDOWS下的控制面板。

    +
    sudo raspi-config
    +
    +

    TIM截图20180131112237.png

    +

    我们先来修改时区,依次进入Localisation Options-Change Timezone,选择Asia-Chongqing。

    +

    TIM截图20180131112628.png

    +

    当然如果只是修改时区的话,直接输入

    +
    sudo dpkg-reconfigure tzdata
    +
    +

    即可直接进入。

    +

     

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/37049.html b/posts/37049.html new file mode 100644 index 0000000000..d74b5f45e0 --- /dev/null +++ b/posts/37049.html @@ -0,0 +1,532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +渊澄短链接服务上线了! | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 渊澄短链接服务上线了! +

    + + +
    + + + + +

    利用国庆假期搭建了一个短链接生成服务,使用任意长链接可以生成类似于https://to.ycyc.win/yourlink 的短链接,虽然也不是很短😜,但有胜于无。
    +站点地址 https://to.ycyc.win
    +使用方法很简单,在输入框输入你需要生成短链接的长链接,点击生成按钮即可。
    +然后你也可以使用备用站点 https://2.ycyc.win 来生成(2和to同音,而且又少了一个字符👏)。两个站点地址数据共享,后缀可通用。

    +

    image.png

    +
    +

    重要声明:免费服务,使用前需遵守中华人民共和国相关法律法规,切勿用于非法用途,以免服务被封,影响其他人的使用!

    +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/37524.html b/posts/37524.html new file mode 100644 index 0000000000..3815e2649c --- /dev/null +++ b/posts/37524.html @@ -0,0 +1,592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +iOS端收发163域名邮箱邮件IMAP | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + iOS端收发163域名邮箱邮件IMAP +

    + + +
    + + + + +

    引言

    +

    随着移动互联网的普及,现在电子邮箱的用处已经没有原先那么大了,但是有些网站注册和敏感的操作还是需要邮箱验证码。常用的类似于163、QQ、微软的主流邮箱服务的配置已经在手机邮件客户端内置了,只要输入邮箱地址和密码就可以很方便的接入手机邮件客户端。但是诸如一些非主流的企业邮箱想要接入手机端邮件APP就有些繁琐了,除了需要邮箱地址密码等基础信息外,还需要获取邮件服务器的地址和端口、加密方式等额外信息。下面记录一下如何将基于163服务的企业邮箱接入到iOS的邮件APP来进行邮件的收发。
    +image.png

    +

    相关协议

    +

    之前想要在三方客户端收发邮件是需要开通邮箱的POP3和SMTP协议的,然后在三方客户端输入pop3和smtp地址以及邮箱和密码就可以接入三方客户端了。而现在越来越多的邮箱已经取消的对POP3协议的支持,改用IMAP协议。其实原理差不多,只是IMAP输入的不是邮箱的登录密码,而是随机生成的授权码。

    + +

    下面是往上关于IMAP、POP、SMTP三者的介绍:
    +SMTP相对于其他两者协议,更多的侧重点在于发送与中继,与POP、IMAP太多不同;正常情况下只需去考虑POP和IMAP的情况进行解析,因为POP和IMAP对客户是进行实实在在的接收;唯一比较特殊的是SMTP是注重于”推送“而不是”拉取“这是区别于其他两种协议的方式之一,此外,SMTP是明确的在TCP/IP协议簇里,其他两者只是通过TCP/IP协议进行传输。
    +POP与IMAP主要区别就在于POP是单一的离线模式对邮件进行传输,IMAP是在线和离线两种模式对邮件进行传输,上述对离线和在线有解释,就不做过多解释,简单来说,离线就得下载之后对邮件进行查看、删除等一系列操作,且客户端与服务端消息不互通;在线就是无需下载就能进行查看、删除等操作,且他们之间的消息处于互通。

    +

    授权码获取

    +

    我的邮箱地址是以ycyc.win结尾的企业邮箱,使用网易企业邮免费版。接入步骤很简单,在域名DNS那里修改相关的TXT及MX记录到网易指定的地址,等待解析生效就可以了。网易企业邮箱 - 登录入口 (163.com)
    +其实我现在使用的这个并不是真正意义上的企业邮箱,只是将域名接入到网易使用其邮箱服务。而真正意义上的企业邮箱是需要自己搭建单独的邮件服务器的。当然如果你有群晖NAS,可以使用群晖的套件来搭建自己的邮件服务。
    +其实不管什么邮箱,要接入第三方邮件收发客户端,所需要的信息都类似,首先需要邮箱地址和密码,或是上面说到的授权码,其次就是邮箱服务器的POP3地址、IMAP地址、SMTP地址以及端口。
    +获取163企业邮箱的授权码根据下图所示操作:

    +

    qiyeyou.png

    +

    这里的协议类型可以选POP或是IMAP协议,推荐IMAP协议。
    +qiyeyou2.png

    +

    将授权码复制到手机上备用。

    +

    iOS端添加邮箱服务

    +

    iOS进入设置-邮件-账户,添加账户,选择其他。

    +

    image.png|200

    +

    选择添加邮件账户
    +image.png|200

    +

    然后根据类型选择POP协议还是IMAP协议,输入邮箱地址,IMAP地址,SMTP地址及端口,用户名处输入邮箱地址,密码处输入授权码,等待授权完成。
    +image.png|200

    +

    设置完成之后就可以通过邮件APP来收发邮件了。
    +以下为163企业邮箱IMAP地址及端口:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    类型推荐备用(尽量别用)SSL端口
    收信服务器hwhzimap.qiye.163.comimap.qiye.163.com993
    发信服务器hwhzsmtp.qiye.163.comsmtp.qiye.163.com465
    说明推荐使用这个服务器配置推荐服务器不可用,可用备用替代
    +

    引用

    +

    网易企业邮箱:授权码登录 | 来发信 (laifa.email)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/38617.html b/posts/38617.html new file mode 100644 index 0000000000..dcf4a241fe --- /dev/null +++ b/posts/38617.html @@ -0,0 +1,582 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +【3-21更新】Padavan路由器使用HomeAssistant自带的Asuswrt组件来追踪设备 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 【3-21更新】Padavan路由器使用HomeAssistant自带的Asuswrt组件来追踪设备 +

    + + +
    + + + + +

    想要将Padavan固件的路由器接入HomeAssistant系统中用来追踪设备,除了使用第三方插件还能怎么办?HomeAssistant官方给出了解决办法,只需要路由器上稍作修改,即可使用HA官方的ASUSWRT组件。话不多说,跟我一起来做吧。

    +

    首先确保路由器打开了SSH功能,高级设置—系统管理–服务–启用SSH服务。

    +

    ss.jpg

    +

    接下来我们用Putty登陆路由器来进行操作,登陆地址就是你的路由器地址,端口默认是22,用户名和密码就是你登陆路由器管理界面的用户名和密码。

    +

    登陆成功之后依次运行以下命令行:

    + + +
    find / -name "dnsmasq.leases"
    +####寻找dnsmasq.leases文件的位置,并记录下来####
    +mkdir -p /var/lib/misc
    +####创建目录####
    +echo "/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases" >> /etc/storage/started_script.sh
    +####将脚本添加到启动项(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases
    +####将dnsmasq.leases文件进行位置链接(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +
    +

    TIM截图20190314105322.png

    +

    完成以上设置之后,我们前往HomeAssistant的主配置文件
    +configuration.yaml 中添加以下代码:

    + + +
    asuswrt:
    +  host: ####路由器IP地址####
    +  username: ####路由器登陆名####
    +  password: ####路由器登陆密码####
    +
    + + +

    添加完之后就大功告成了,更详细的配置说明请查阅HomeAssistant官网https://www.home-assistant.io/components/asuswrt/

    + + +

    3/21更新:

    + + +

    asuswrt插件下的sensor无法获取到数值,我在正文中已经删除;

    + + +

    另外因为asuswrt没有了 track_new_device参数,所以加入WIFI的新设备会自动被追踪,目前的解决方法是将下面的代码直接添加到configuration.yaml文件中。

    + + +
    device_tracker:
    +  - platform: asuswrt
    +    consider_home: 180
    +    new_device_defaults:
    +      track_new_devices: false
    +      hide_if_away: false
    +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/38710.html b/posts/38710.html new file mode 100644 index 0000000000..5ecbbdfb7e --- /dev/null +++ b/posts/38710.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +cloudflare pages同步github Hexo | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + cloudflare pages同步github Hexo +

    + + +
    + + + + +

    Cloudflare有一个pages的功能,类似于Github Page,可以用来托管静态网站。那有没有可能将hexo站点托管到CF pages呢?
    +下面来操作吧。

    +

    创建build.sh脚本

    +

    首先确保你在Github上有Hexo的仓库,我们在仓库的根目录新建一个名为build.sh的文件,内容如下:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!/bin/bash

    # 配置环境
    npm install -g hexo-cli
    mkdir hexo
    cd hexo
    hexo init
    npm install
    rm -rf source/_posts
    mkdir -p source/_posts

    # 安装主题(你们可以改成自己喜欢的主题)
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

    # 使用新的渲染器
    npm un hexo-renderer-marked --save
    npm i hexo-renderer-markdown-it --save
    # 处理图片
    npm i hexo-image-link --save

    # 复制文章到指定目录
    cd ../
    cp -r `ls | grep -v hexo | grep -v config.yml | xargs` hexo/source/_posts
    # 复制配置文件
    cp config.yml hexo

    # 开始构建
    cd hexo && hexo g --config config.yml
    +

    登录CF创建应用

    +

    登录到Cloudflare,切换到pages选项卡,新建一个项目,选择“连接到git”,使用Github账户登录
    +20220725160214
    +然后选择你的hexo仓库,点击下一步
    +20220725160035
    +按图片所示填入信息,然后点击保存并部署。
    +20220725160435
    +部署完成之后我们就可以使用系统分配的pages.dev域名来访问部署在Cloudflare的站点了。

    +

    测试同步

    +

    现在看下在github上发布一篇文章,看看会不会自动同步更新。
    +20220725160708

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/39032.html b/posts/39032.html new file mode 100644 index 0000000000..f931b38fb4 --- /dev/null +++ b/posts/39032.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +openwrt旁路由连主路由WIFI无法上网问题处理 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + openwrt旁路由连主路由WIFI无法上网问题处理 +

    + + +
    + + + + +

    引言

    +

    前两天在家里上网发现一个问题,手机设置了静态IP地址,网关和DNS都设置成旁路由的地址之后,连接AP发出的SSID可以正常出国和回国,但是连接到主路由发出的SSID之后出国不受影响,浏览国内的站点会出现无法访问的情况。因为我之前一直默认连接的是AP的信号,所以一直没发现问题,直到前天AP断电之后,手机连接到主路由发出的SSID才发现问题,而且不只是手机,笔记本也一样,只要是连接了无线之后都会有问题,但是使用有线连接的设备手动指定网关和DNS之后上网却一切正常。

    + +

    导图1

    +

    解决

    +

    我在恩山和chh发帖求助之后,有很多大神支招,有可能是主路由设置的问题,也有可能是旁路由设置的问题,而恩山上有个网友遇到的问题也和我的类似,巧的是他使用的主路由也是华为的。而华为路由器的管理后台没有太多设置的地方,连LAN的DNS和网关也无法指定。所以要解决问题的话是无法从主路由上下手了,只能在旁路由上做文章。
    +感谢chh@iamyangyi 大神的提醒,我之前在N1防火墙规则中只添加了iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE语句,没有注意到网络接口,把eth0改成br-lan然后再重启防火墙就可以了。
    +2023032201
    +遇到类似问题的朋友可以参考。
    +另外chh大神@hadis99 也提供了一种设置方法,不用添加防火墙规则,开启IP动态伪装也能解决遇到的问题。设置方法如下图
    +2023032202

    +

    其他

    +

    CSDN相关的文章https://blog.csdn.net/qq1337715208/article/details/122271608
    +恩山网友和我类似问题的帖子https://www.right.com.cn/FORUM/thread-5957512-1-1.html
    +我在恩山的帖子https://www.right.com.cn/forum/thread-8281362-1-1.html
    +我在chh的帖子https://www.chiphell.com/thread-2502752-1-1.html

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/39287.html b/posts/39287.html new file mode 100644 index 0000000000..fd381bd897 --- /dev/null +++ b/posts/39287.html @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +outlineANDROID客户端下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + outlineANDROID客户端下载 +

    + + +
    + + + + +

    outline的安卓客户端可以直接在谷歌PLAY商店内搜索下载,如果没有PLAY商店,可以下载APK直接安装使用。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/39533.html b/posts/39533.html new file mode 100644 index 0000000000..04d245c592 --- /dev/null +++ b/posts/39533.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +转载-openwrt最新版本passwall(帕斯沃)设置节点掉线时自动切换的方法 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 转载-openwrt最新版本passwall(帕斯沃)设置节点掉线时自动切换的方法 +

    + + +
    + + + + +

    之前OpenWrt系统passwall(帕斯沃)插件里面有个“自动切换”的功能,就是系统检测当前选择的节点如果有故障,会自动切换到备选的节点,以保持网络畅通。然而在Openwrt最新的版本中,passwall的作者不知何故把这个功能给砍掉了,其实这个功能挺好用的,有不少小伙伴私下问我新版本没有了这个功能?于是博主趁着周末研究了一下,发现“自动切换”的功能在原来的菜单上没有了,但是在别处是可以设置的,一起来设置一下吧。

    + +

    1、进入passwall菜单,找到“Socks设置”,把“Socks主开关”打勾,根据自己实际情况选择“Socks节点”,并设置“Socks监听端口”(这个端口号要记住,等下要用到)和“HTTP监听端口”,设置完成后点“保存&应用”;

    +

    20240105095030

    +

    2、在下图的位置中点“修改”;

    +

    20240105095046

    +

    3、进入“Socks设置”,找到“自动切换”,打勾;

    +

    20240105095100

    +

    4、在备用节点的列表中,根据自己实际情况,选择备用节点,在“恢复切换”处打勾,设置完成点“保存&应用”;

    +

    20240105095111

    +

    5、回到passwall主菜单上,点“节点列表”,添加;

    +

    20240105095125

    +

    6、节点名称自己写一下(我写的是:自动切换),类型为“Socks”,地址写“127.0.0.1”,端口写第1个步骤设置的“Socks监听端口”,点“保存&应用”;

    +

    20240105095136

    +

    7、在passwall主界面,在“TCP节点”处改成上一个步骤我们自己添加的节点名称,点“保存&应用”;

    +

    20240105095146

    +

    8、来测试一下网络,全部畅通,证明设置有效。

    +

    20240105095157

    +

    9、如果将来需要改变主用节点的话,只需要在“Socks配置”那里把“Socks节点”选择好,点“保存&应用”就可以了。

    +

    原文链接: https://wp.gxnas.com/13924.html

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/39778.html b/posts/39778.html new file mode 100644 index 0000000000..041f25203d --- /dev/null +++ b/posts/39778.html @@ -0,0 +1,588 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +出国不求人,Cloudflare pages+BPB项目搭建免费个人节点 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 出国不求人,Cloudflare pages+BPB项目搭建免费个人节点 +

    + + +
    + + + + +

    前提

    +

    注册Github/Cloudflare账户并处于正常状态。

    +

    Github操作

    +

    Fork BPB项目到你的Github仓库。
    +BPB项目地址:bia-pain-bache/BPB-Worker-Panel: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)
    +image.png
    +Fork之后就会得到以你的用户为为开头的BPB项目地址。我Fork后的项目地址为miaoyanginfo/BPB: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)

    +

    Github这边的操作就基本上完成了。接着我们需要去到Cloudflare操作。

    + +

    Cloudflare操作

    +

    创建KV空间

    +

    登录Cloudflare后按照下图指示创建KV空间并命名。我这边命名为MYBPB。

    +

    image.png

    +

    创建Pages并绑定KV

    +

    按照下图指示创建Cloudflare Pages,
    +image.png

    +

    链接到你的Github账户。image.png
    +选择你之前Fork的BPB项目的源,然后点击右下角的“开始设置”,其他选项无需更改,保存部署即可。
    +image.png

    +

    部署完成之后回到Pages页面找到刚才创建的项目,按下图指示找到KV命名空间绑定,将之前创建的KV空间与Pages绑定。
    +

    +

    设置环境变量

    +

    按下图指示编辑环境变量。添加PROXYIP 以及UUID字段。
    +image.png

    +

    UUID可使用在线生成器随机生成,例如这个网站UUID在线生成 - 1024Tools。PROXY可以前往这个站点DNS records for cdn.↗↘↗.eu.org (nslookup.io)选择一个与你本地网络延迟较小的IP地址。
    +全部填入之后进入部署选项卡,重新部署项目即可。
    +image.png

    +

    登录面板进行设置

    +

    重新部署完成之后我们可以使用cloudfalre pages随机生成的网址加/panel访问项目设置面板。
    +设置访问密码之后即可登录。
    +image.png
    +其他选项无需大动。点击拷贝订阅链接之后粘贴到v2rayN即可。
    +image.png

    +

    v2rayN订阅

    +

    将复制的订阅地址粘贴到v2rayN,然后更新订阅之后,会出现许多节点。
    +image.png

    +

    v2rayN下载2dust/v2rayN: A GUI client for Windows, support Xray core and v2fly core and others (github.com)

    +

    对节点进行速度测试,选择一个连接正常的节点应用。
    +image.png
    +不出意外的话就可以打开谷歌油管了。

    +

    image.png

    +

    引用

    +

    免费VPN 永久免费节点订阅 BPB Panel+CloudFlare 实现WARP IP优选 - 优质盒子 (uzbox.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/40056.html b/posts/40056.html new file mode 100644 index 0000000000..0aa3ce7f1e --- /dev/null +++ b/posts/40056.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +入手了两台二代小米AI音箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 入手了两台二代小米AI音箱 +

    + + +
    + + + + +

    家里有两台小爱音箱,一台是在2017年首发时候淘宝加价买的小米小爱音箱第一代,用到现在已经7年了。音质放到现在还是很能打。另一台是今年在闲鱼买的小米小爱音箱Play增强版,翻了一下记录花了85块钱,而现在全新的官网售价也才129块。当初买这个是看中了其可以充当蓝牙Mesh网关,支持红外控制家电,还有机身LED时间显示。

    +

    image.png

    +

    但到手使用了一段时间之后才发现这个音箱很垃圾,相当不推荐购买。首先是唤醒延迟,一般需要喊两三次小爱同学才会唤醒,而且反应迟钝,在接收到唤醒指令之后还要反应1-2s才会做出回应。在一个就是音质和第一代AI音箱相比差了一条街的距离,可以说根本没有音质可言,也就是当个喇叭听个响。还有这音箱偶尔还会死机,具体表现为唤醒无反应,顶部按键无反应,LED时钟卡住不动。

    + +

    目前这两个音箱我都通过xiaomi miot auto插件接入到了HomeAssistant,使用TTS来播放闹钟以及配合device_tracker跟踪手机执行到家欢迎语。
    +image.png

    +

    最近想着把这个智障的Play增强版换掉,起初还在考虑是再入手一个AI音箱呢还是入手个小爱音箱pro来试试,或者干脆一步到位买两个homepod mini组立体声。在逛小黄鱼的时候发现了个AI音箱二代,型号为L15A,这个音箱发布了也有几年了,但是目前官网还在售,179块。外观和一代大差不差,可见的是电源口换成了主流的圆口,功能上主要是增加了蓝牙mesh网关功能,而且可以支持两个同型号音箱组成立体声增加音质。那买来组个立体声玩玩吧,如果体验可以的话就把之前的一代和play增强版都出掉。逛了一圈160块买了两个😆,不带电源适配器。
    +image.png
    +其实现在的智能音箱已经被各种音频VIP服务绑架了,连最起码的听歌和听故事,都需要办各种三方VIP会员才行,否则只能听几秒试听版。不过之前看到一个开源项目,可以劫持小爱同学语音调用本地存储的曲库,只要本地曲库里面有的歌曲,可以免VIP直接播放。昨天已经发货了,趁着中秋三天假期研究一下。
    +现在我这边的主要作用也就是接入HomeAssistant做一些自动化功能,再者就是用蓝牙播放手机里面的音乐,还有就是孩子听一些免费的睡前故事。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/40252.html b/posts/40252.html new file mode 100644 index 0000000000..ac69581bc2 --- /dev/null +++ b/posts/40252.html @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +HomeAssistant0.83版本中小米无线开关等设备无法使用解决办法 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + HomeAssistant0.83版本中小米无线开关等设备无法使用解决办法 +

    + + +
    + + + + +

    在最新的HomeAssistant0.83版本中,对小米无线开关、Aqara墙壁无线开关及魔方的自动化触发语句做了修改,大家可以按照下面的示例来进行相应的修改。

    +

    小米无线开关

    +
    - alias: Toggle dining light on single press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: single
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_left_158d000xxxxx01
    +- alias: Toggle couch light on double click
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: double
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_right_158d000xxxxx01
    +- alias: Let a dog bark on long press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: long_click_press
    +  action:
    +    service: xiaomi_aqara.play_ringtone
    +    data:
    +      gw_mac: xxxxxxxxxxxx
    +      ringtone_id: 8
    +      ringtone_vol: 8
    +
    +

    Aqara墙壁无线开关

    +
    - alias: Decrease brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60 >= 10 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Increase brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60 <= 255 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Turn off the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
    +      click_type: both
    +  action:
    +    service: light.turn_off
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +
    +

    小米魔方

    +
    - alias: Cube event flip90
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip90
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "springgreen"
    +- alias: Cube event flip180
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip180
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "darkviolet"
    +- alias: Cube event move
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: move
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "gold"
    +- alias: Cube event tap_twice
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: tap_twice
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "deepskyblue"
    +- alias: Cube event shake_air
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: shake_air
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "blue"
    +
    +

    Aqara震动传感器

    +
    - alias: Turn on Living Room Lamp on vibration
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: vibrate
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +- alias: Turn on Living Room Lamp on tilt
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: tilt
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +
    +

     

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/40322.html b/posts/40322.html new file mode 100644 index 0000000000..89d4a41b07 --- /dev/null +++ b/posts/40322.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +网站对文章部分内容及网盘提取密码启用回复可见功能 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 网站对文章部分内容及网盘提取密码启用回复可见功能 +

    + + +
    + + + + +

    好吧,为了增加点网站人气,从即日起决定对所发布文章的相关部分以及附件的提取密码进行"回复可见"功能设置,只有对相应的文章进行评论回复,才能看到相关内容。

    +

    目前该功能已初步测试完成,大家在有附件下载的文章底部会看到下载链接按钮,对该文章进行回复之后,刷新页面,就会出现百度网盘的提取密码了。

    +

    sss.png

    +

    如果在使用过程中发现有bug,欢迎反馈。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/40723.html b/posts/40723.html new file mode 100644 index 0000000000..5f19391e2d --- /dev/null +++ b/posts/40723.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Openwrt旁路由Adguard设置参考 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Openwrt旁路由Adguard设置参考 +

    + + +
    + + + + +

    登录Adguard home界面,需要修改的有两个地方,一个是DNS上游服务器,一个是Bootstrap DNS 服务器。

    +

    下面是我填的DNS上游服务器地址,仅供参考。

    + +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    223.5.5.5
    114.114.114.114
    8.8.8.8
    8.8.4.4
    101.226.4.6
    120.196.165.24
    tls://dot.360.cn
    https://dns10.quad9.net/dns-query
    https://dns.google/dns-query
    https://doh.360.cn/dns-query
    https://doh-jp.blahdns.com/dns-query
    https://dns.alidns.com/dns-query
    tls://dns.alidns.com
    tls://dns.google
    tls://1dot1dot1dot1.cloudflare-dns.com
    +

    然后在并行请求之前打勾。
    +Bootstrap DNS 服务器需要填入你本地运营商提供的DNS地址,下面是我填入的地址,也是仅供参考。

    +
    1
    2
    3
    4
    5
    202.99.216.113
    202.97.131.178
    114.114.114.114
    8.8.8.8
    8.8.4.4
    +

    另外黑名单DNS列表里面推荐几个订阅。

    +
    1
    2
    3
    4
    5
    6
    https://github.com/xinggsf/Adblock-Plus-Rule/blob/master/rule.txt
    https://github.com/xinggsf/Adblock-Plus-Rule/blob/master/mv.txt
    https://adguardteam.github.io/HostlistsRegistry/assets/filter_29.txt
    https://adguardteam.github.io/HostlistsRegistry/assets/filter_21.txt
    https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt

    +

    下图是我使用了差不多半天时间的统计信息。
    +20230314105521

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/41234.html b/posts/41234.html new file mode 100644 index 0000000000..3db0927a9c --- /dev/null +++ b/posts/41234.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hexo启用emoji表情支持 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Hexo启用emoji表情支持 +

    + + +
    + + + + +

    HEXO默认使用的MarkDown渲染器是不支持emoji表情的,即使是你在页面插入了例如‘😃’这样的emoji代码,也无法正常识别为😃表情图标。
    +这样就需要替换HEXO默认的渲染器。运行下面的命令,首先卸载原来的渲染器,然后安装新的渲染器,最后安装支持emoji的渲染器插件。

    +
    1
    2
    3
    npm un hexo-renderer-marked --save  
    npm i hexo-renderer-markdown-it --save
    npm install markdown-it-emoji --save
    + +

    插件安装之后,在站点配置文件_config.yml中添加关于markdown的配置字段即可,如果不懂相关配置参数,可无脑复制以下字段。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ## markdown 渲染引擎配置,默认是hexo-renderer-marked,这个插件渲染速度更快,且有新特性  
    markdown:
    render:
    html: true
    xhtmlOut: false
    breaks: true
    linkify: true
    typographer: true
    quotes: '“”‘’'
    plugins:
    - markdown-it-footnote
    - markdown-it-sup
    - markdown-it-sub
    - markdown-it-abbr
    - markdown-it-emoji
    anchors:
    level: 2
    collisionSuffix: 'v'
    permalink: true
    permalinkClass: header-anchor
    permalinkSymbol:
    +

    在需要插入emoji的地方插入对应的代码,最后重新部署HEXO即可。😆
    +我复制了一份常用的MarkDown emoji代码,可以参考复制。😃
    +▶️ https://miaoyang.win/about/emoji

    +

    Obsidian 使用emoji toolbar来快速插入表情

    +

    😋👏😭
    +📱🇨🇳🇲🇴

    +

    引用

    +

    Hexo NexT 开启 emoji | Kinboy’s note
    +PKMer_Obsidian 插件:Emoji Toolbar 快速插入 Emoji 符号

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/41924.html b/posts/41924.html new file mode 100644 index 0000000000..7e84bbd8cd --- /dev/null +++ b/posts/41924.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +docker运行appdaemon容器创建UI触控界面 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + docker运行appdaemon容器创建UI触控界面 +

    + + +
    + + + + +

    Appdaemon是一个可以让HomeAssistant界面更适合触控操作的三方UI面板,可以通过docker容器来运行。
    +HA_URL字段是你的homeassistant地址,别忘了加端口号;
    +TOKEN字段填入你的homeassistant长期访问令牌token;
    +-v后面填入本地映射的appdaemon文件夹,需要提前创建好;
    +访问端口使用默认的5050,当然你也可以改成其他。

    + +
    1
    2
    3
    4
    5
    6
    7
    docker run --name=appdaemon -d -p 5050:5050 \
    --restart=always \
    -e HA_URL="<your HA_URL value>" \
    -e TOKEN="<your TOKEN value>" \
    -e DASH_URL="http://$HOSTNAME:5050" \
    -v <your_conf_folder>:/conf \
    acockburn/appdaemon:latest
    +

    之后运行上面的命令就可以创建docker容器了。
    +运行下面的命令查看docker容器运行日志:

    +
    1
    docker logs appdaemon 
    +

    20230215140309
    +首次运行日志如果和上面显示的一样,则说明容器已经正常运行了。成功运行之后会在你映射的文件夹内自动生成默认配置文件,你可以编辑这些文件来打造属于你自己的控制界面。
    +最后的效果可以访问ip:5050看到。
    +20230215111207
    +其实这个面板的作用很简单,你可以在在家里面墙上镶嵌一个ipad之类的平板电脑,用浏览器打开这个界面,就可以得到一个界面优美的家庭智能控制中枢了。
    +像这样:
    +20230215113057

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/42324.html b/posts/42324.html new file mode 100644 index 0000000000..7701ad19d4 --- /dev/null +++ b/posts/42324.html @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +越过长城,走向世界-SS之家免费节点 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 越过长城,走向世界-SS之家免费节点 +

    + + +
    + + + + +

    TIM截图20181119140137.jpg

    +

    是的,全新的SS之家上线了,助力您畅游互联网,无痛点访问谷歌、YouTube、Facebook、Instagram,YouTube实测1080无压力。

    +

    支持Android、iOS手机,Windows、Mac电脑,LEDE、梅林、Padavan路由器。

    +

    免费套餐也同时上线,每月赠送1GB流量,每日签到另外可得最多50MB流量,可连接普通节点,不限终端数量。

    +

    其他包月、包年套餐可以移步网站查看。

    +

    即日起至11月30日为内测期,期间所有套餐均可享受5折优惠。

    +

    TIM截图20181119140202.jpg

    +

    具体套餐详情及购买方式请Q312780013。

    +

    SS之家网址 HTTPS://SSHOME.WIN

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/42824.html b/posts/42824.html new file mode 100644 index 0000000000..4498a7e685 --- /dev/null +++ b/posts/42824.html @@ -0,0 +1,603 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用GitHub Action实现HEXO的自动编译和发布 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用GitHub Action实现HEXO的自动编译和发布 +

    + + +
    + + + + +

    经过上一篇的步骤之后,我们已经可以将我们的HEXO站点发布到GitHub上了,并且可以正常访问。但是我们每次更新文章以及站点配置的时候必须先在本地进行编译、然后再部署到GitHub上,也就是每进行一次修改,必须执行以下命令

    +
    1
    2
    3
    hexo g
    hexo clean
    hexo d
    +

    那有没有一种方法就是,系统检测到我们发布了新文章,然后自动进行程序的编译和发布呢?
    +今天部署的这个GitHub Action服务就是解决这个问题的。在上一篇文章中我们在 GitHub上还新建了一个私人仓库,我们今天用这个私人仓库来进行操作。
    +

    + +

    1.修改本地文件

    +

    删除主题文件夹下隐藏的.git文件夹

    +

    删除hexo根目录下的.deploy_git文件夹

    +

    这两个是我踩过的坑,因为主题文件和hexo deploy git工具是git clone到本地的,所以如果直接上传到GitHub仓库的话,只会上传一个空的指针文件夹,之后进行自动化编译的时候会报错,所以必须删除本地的.git相关信息。

    +

    2.将本地HEXO源文件推送到私人仓库

    +
    +

    在hexo文件夹中初始化hexo

    +
    +
    1
    2
    hexo init
    git init
    +
    +

    关联远程仓库

    +
    +
    1
    git remote add origin git@github.com:miaoyanginfo/hexo-action.git
    +
    +

    和远程仓库进行一个同步

    +
    +
    1
    git pull --rebase origin main
    +
    +

    将本地文件添加到暂存库

    +
    +
    1
    git add .
    +
    +

    添加注释

    +
    +
    1
    git commit -m "init repo"
    +
    +

    推送到GitHub私人仓库

    +
    +
    1
    git push -u origin main
    +

    如果一切顺利的话,我们就会在GitHub的私人仓库中看到我们PUSH上去的HEXO文件夹和文件。

    +

    3.生成并部署deploy公钥和密钥

    +
    +
    +

    定位到本地hexo文件夹运行以下命令创建deploy key:

    +
    +
    +
    1
    ssh-keygen -f github-deploy-key -C "HEXO CD"
    +

    运行完成之后会在hexo根目录下生成github-deploy-key和github-deploy-key.pub两个文件,一个私钥,一个公钥。
    +进入github我们创建的私人仓库,settings-secrets添加actions secrets。
    +名字输入 SSH_PRIVATE
    +value输入生成的github-deploy-key内容,也就是私钥的内容。
    +
    +进入github我们创建的公开仓库,找到settings-deploy keys,
    +名字输入 HEXO_DEPLOY_PUB
    +内容输入github-deploy-key.pub文件内的所有内容,也就是公钥的内容。
    +

    +

    4.创建GitHub Action文件

    +

    进入GitHub私人仓库页面,切换到Actions选项,创建一个名为deploy.yml的文件,内容复制下面:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    name: Deploy                      # Actions 显示的名字,随意设置
    on: [push] # 监听到 push 事件后触发
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout # 拉取当前执行 Actions 仓库的指定分支
    uses: actions/checkout@v2
    with:
    ref: main # 注意选择私人仓库是main还是master分支

    - name: Setup Node # 使用node 14
    uses: actions/setup-node@v2
    with:
    node-version: "14"

    - name: NPM INSTALL #安装依赖
    run: |
    npm install hexo-cli -g
    npm install hexo-deployer-git --save
    npm install

    - name: Add KEY #这里需要提供一个ssh私钥,用你平时常用机器里的 ~/.ssh/id_rsa即可
    env:
    SSH_PRIVATE: ${{ secrets.SSH_PRIVATE }}
    run: |
    mkdir -p ~/.ssh/
    echo "$SSH_PRIVATE" > ~/.ssh/id_rsa
    chmod 700 -R ~/.ssh
    ssh-keyscan github.com >> ~/.ssh/known_hosts
    git config --global user.email "paulmiao@me.com"
    git config --global user.name "miaoyanginfo"

    - name: Hexo Deploy # hexo deploy 会自动build然后上传到github.io项目中
    run: |
    hexo clean
    hexo deploy
    +

    5.测试Action是否正常运行

    +

    我们现在私人仓库/source/_posts文件夹下新建一个.md的日志文件,然后切换到Actions选项卡看下自动化执行过程是否有报错,如果运行正常的话,我们进入公开仓库,看下文件的最后修改时间是不是最近几秒钟内。
    +然后我们再打开我们的github站点地址,看看是不是有新日志已经发布了。
    +

    +

    总结

    +
    +

    经过两篇文章的操作,我们已经可以实现HEXO在GitHub上面的部署以及使用GitHub的Action功能来实现文章发布时自动编译和部署。如果在部署过程中遇到问题,欢迎和我交流。

    +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/42924.html b/posts/42924.html new file mode 100644 index 0000000000..b857477447 --- /dev/null +++ b/posts/42924.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +再次入坑黑群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 再次入坑黑群晖 +

    + + +
    + + + + +

    前些天在某鱼入手了一台二手的群晖ds214se,用了一段时间之后,感觉机器的硬件配置实在是太差了,开机打开一个应用,CPU占用率就直接飙到了100%,而且还不支持docker,所以果断出掉了。

    +

    最近在SMZDM上看了几篇DIY NAS的文章,加上家人的手机存储空间都不够了,于是又萌生了DIY黑群晖的想法,之前自己也做过一台黑群晖,用的是DELL的ZINO准系统,基于intel的ATOM平台,配了2GB的内存,硬件性能倒是够用,无奈LAN口是百兆的,局域网内传输稍大一点的文件就不给力了,最后也在某鱼上出手了。

    +

    直接买台群晖倒是省心,怎奈坑爹群晖,便宜的型号性能太弱,性能好的机器又太贵,我等温饱尚未解决的同志还是消费不起,那只好自己动手来组装了,好在现在网上关于黑群晖安装的资源还是很多的,有点基础的朋友还是很容易上手的。

    +

    然后来说说我用到NAS的几个功能。

    +

    1.高清视频、音乐、文件的存储及共享;

    +

    2.自动备份手机里的照片;

    +

    3.挂机下载高清视频;

    +

    4.连接高清播放器播放电影和音乐;

    +

    5.定时备份电脑里面的重要文件;

    +

    6.再外可以随时读取到NAS里面的文件;

    +

    7.鼓捣docker。

    +

    这次在淘宝上买了一款集成了AMD A8CPU的磐正A5545NX7主板,ITX规格,主板自带4个SATA3接口,也就是说如果机箱允许的话,可以接4块硬盘,内存支持DDR3,正好家里有一条闲置的DDR3 1333 4GB内存条拿来用,然后家里有两块1T的硬盘,先拿来练手,机箱选择了酷冷至尊的小魔方,支持ITX主板,带3个硬盘位,支持标准电源,电源也选择了酷冷至尊299元的全模组电源,东西还没到货,估计这周末应该能到,等到货之后再来写一篇详细的安装和使用教程吧。

    +

    TB2Utq.cH4npuFjSZFmXXXl4FXa_2429537308.jpg

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/44166.html b/posts/44166.html new file mode 100644 index 0000000000..d28c944a9c --- /dev/null +++ b/posts/44166.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖安装cloudflare的ddns服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖安装cloudflare的ddns服务 +

    + + +
    + + + + +

    w
    +项目Github 主页 https://github.com/joshuaavalon/SynologyCloudflareDDNS
    +前提是你的域名已经停靠到了cloudflare并可以正常在cloudflare做解析。

    +

    开启并登录SSH服务

    +

    进入路径:群晖后台-控制面板-终端机和SNMP。启动SSH功能。
    +20240219101051
    +用putty等ssh终端登录群晖,然后输入sudo -i切换到管理员账户。

    + +

    下载运行脚本

    +
    1
    2
    wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
    chmod +x /sbin/cloudflareddns.sh
    +
    1
    2
    3
    4
    5
    6
    cat >> /etc.defaults/ddns_provider.conf << 'EOF'
    [Cloudflare]
    modulepath=/sbin/cloudflareddns.sh
    queryurl=https://www.cloudflare.com
    website=https://www.cloudflare.com
    E*.
    +

    生成cloudflare的api token

    +

    20240219100721
    +登录cloudflare域名主页,在上图所示区域复制zoneID,并生成API token。

    +

    群晖添加服务

    +

    进入路径:群晖后台-控制面板-外部访问-DDNS

    +

    20240219100241
    +如上图所示,主机名称处填DDNS域名,用户名填cloudflare的zoneID,密码填api token。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/44514.html b/posts/44514.html new file mode 100644 index 0000000000..4d6cd0f3d9 --- /dev/null +++ b/posts/44514.html @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +黑群晖NAS装机实录 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 黑群晖NAS装机实录 +

    + + +
    + + + + +

    昨天晚上收到了买的主板和机箱,电源还没有到,就先用之前旧电脑上的电源吧。连装箱带装系统,差不多折腾了两个小时。

    +

    酷冷的小魔方整体做工还算精致,支持标准电源,有三个硬盘位,顶部的硬盘支架可以装两块,侧板可以装一块,机箱前面板自带一个应该是12寸的风扇,可以直接接到主板上,开关按钮是前面板的LOGO,开机之后会有蓝灯,感觉不错,吐槽一下侧边的红色硬盘灯,有点不协调。

    +

    由于是ITX小机箱,装起来还是比较费劲的,翻工了一次,原因是如果侧边的硬盘安装靠上的话,会和顶部的硬盘架有冲突,必须靠下装,但试了几个位置,最多只能对上两个螺丝孔,不过还算稳定。

    +

    将主板、内存和电源安装完成,各种接线完成之后,将之前做好的启动优盘插上开机,连接网线和显示器,一切启动正常。

    +

    之后在电脑上登录http://find.synology.com之后会自动搜索局域网内的NAS设备,搜索到之后,根据提示上传ds3615xs的固件,然后系统会自动安装和重启,重启完成之后再进入http://find.synolgoy.com将NAS联机进行初始化设置即可

    +

    远程访问我用的是DDNS,没有用群晖自带的QC,目前WOL还没有搞定,由于主板是UEFI的,没有找到设置WOL的地方。

    +

    系统里可以设置定时开关机时间,也是起作用的。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/4496.html b/posts/4496.html new file mode 100644 index 0000000000..3252b84aab --- /dev/null +++ b/posts/4496.html @@ -0,0 +1,530 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +获取JD账号cookie | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 获取JD账号cookie +

    + + +
    + + + + +

    使用电脑操作,打开打开京东签到页面,登陆自己的账号后,打开浏览器开发者界面(键盘按F12),切换到Application选项,左侧选择cookies,并在右侧找到pt_keypt_pin,复制对应的值,拼接成pt_key=****;pt_pin=***格式保存起来备用

    + + +
    ![](WiL7dVCETgXlep9-1024x568.png)
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/45151.html b/posts/45151.html new file mode 100644 index 0000000000..554010e3c1 --- /dev/null +++ b/posts/45151.html @@ -0,0 +1,536 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +vscode安装Picgo扩展 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + vscode安装Picgo扩展 +

    + + +
    + + + + +

    picgo有用于vscode的扩展插件,配置方法类似于桌面版,把Github的开发token信息及仓库源信息填上就可以开始使用了。
    +20220423143041

    +

    部分快捷键

    +
    1
    2
    3
    4
    5
    Ctrl + Alt + u  ##从剪贴板上传图像

    Ctrl + Alt + e ##从资源管理器上传图像

    Ctrl + Alt + o ##从输入框上传图像
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/45210.html b/posts/45210.html new file mode 100644 index 0000000000..1e43acf03f --- /dev/null +++ b/posts/45210.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +HomeAssistant0.84版本的Lovelace又更新了 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + HomeAssistant0.84版本的Lovelace又更新了 +

    + + +
    + + + + +

    没错,最新版的HomeAssistant0.84版本中再次更新了Lovelace的配置方式,如果你之前配置并使用过Lovelace模式,下面我将演示一下如何在0.84版本中导入之前的Lovelace配置并启用全新的"半可视化"Lovelace配置模式。

    +

    请确保你的HomeAssistant已经升级到了0.84版本以上,确保你的配置文件夹根目录下有之前配置过的lovelace.yaml文件。

    +

    切换到Lovelace模式下,在右上角的下拉菜单中选中"配置UI",然后在弹出的对话框中选择"自己配置"。

    +

    TIM截图20181228094315.jpg

    +

    接着我们能在之前的下拉菜单中找到"Raw config editor"

    +

    TIM截图20181228094129.jpg

    +

    然后我们把之前配置过的lovelace.yaml文件中的所有内容复制到当前页面,并在右上角点"SAVE"保存。

    +

    TIM截图20181228094047.jpg

    +

    现在我们已经把之前配置过的Lovelace导入到新版本中了。

    +

    这样你可以再次点击"配置UI"来使用全新的可视化模式来配置Lovelace界面了。

    +

    如果你还是喜欢用yaml文件的方式来配置Lovelace界面,只需要将下面的字段插入到主配置文件中。

    + + +
    lovelace:
    +  mode: yaml
    +
    + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/45920.html b/posts/45920.html new file mode 100644 index 0000000000..40566820ba --- /dev/null +++ b/posts/45920.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +测试使用Obsidian同步github | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 测试使用Obsidian同步github +

    + + +
    + + + + +

    最近发现了一款使用体验不错的MarkDown编辑器,Obsidian。之前在电脑端一直使用微软的VScode来更新hexo和同步Github。试用了两天之后,感觉与vscode相比,obsidian轻量不少,启动和反应速度更快,界面更加适于写作。安装了三方插件之后,我觉得是可以取代vscode来作为日常hexo更新工具使用了。
    +image.png

    +

    目前我安装了三个插件,第一个是Templater,创建相应的模板之后可以直接在文章中调用,用于编辑文章的front-matter。这个插件设置比较简单,只要指定模板存放的文件夹,然后在该文件夹新建模板文件即可。使用的是由在界面左侧有快速插入按钮,选择相应模板即可。

    + +

    image.png

    +

    第二个是Git插件,用于和Github同步,更新文章之后可以很方便的push和pull,可以设置每隔多长时间自动push,前提是你本地安装了git并且账户信息配置无误。
    +image.png

    +

    最后一个是Image auto upload plugin图片上传插件,与vscode不同的是这个插件需要配合picgo的桌面客户端来使用,而且需要客户端常驻后台。还有就是插件只支持剪切板粘贴上传,如果再加入一个浏览上传按钮就更好了。
    +image.png

    +

    大概看了一下,Obisdian不仅有丰富的插件库,还支持三方主题,另外付费用户还可以多终端同步文件项目。更多的功能静待以后慢慢探索分享。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/46564.html b/posts/46564.html new file mode 100644 index 0000000000..bae13bdc7e --- /dev/null +++ b/posts/46564.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +如何在macos上设置github | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 如何在macos上设置github +

    + + +
    + + + + +

    安装homebrew和git

    +

    安装homebrew

    +
    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    等待homebrew安装完成之后开始安装git

    +
    1
    brew install git
    +

    配置github账户信息并生成ssh

    +

    安装完成git之后开始配置github账户信息

    +
    1
    2
    git config --global user.name "miaoyanginfo"
    git config --global user.email "paulmiao@me.com"
    + +

    在本地生成ssh

    +
    1
    ssh-keygen -t ed25519 -C "paulmiao@me.com"
    +

    将ssh密钥添加到ssh-agent

    +

    后台启动ssh代理

    +
    1
    eval "$(ssh-agent -s)"
    +

    然后修改~/.ssh/config

    +
    1
    vi ~/.ssh/config
    +

    插入下面的字段

    +
    1
    2
    3
    4
    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_ed25519
    +

    将ssh私钥添加到ssh-agent并将密码存储在密钥链中。

    +
    1
    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
    +

    将ssh密钥添加到github账户

    +

    将ssh公钥复制到剪贴板。

    +
    1
    pbcopy < ~/.ssh/id_ed25519.pub
    +

    然后粘贴到github账户设置里面的ssh key 中。

    +

    image.png|300

    +

    引用

    +

    https://blog.51cto.com/u_14201949/6145688
    +https://www.php.cn/faq/541966.html

    +

    Windows平台的部署可以参阅我的另一篇文章在GitHub上部署HEXO | 渊澄|YCYC.WIN

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/46714.html b/posts/46714.html new file mode 100644 index 0000000000..1cb7335fe6 --- /dev/null +++ b/posts/46714.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +华擎J3455安装黑群晖的几点建议 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 华擎J3455安装黑群晖的几点建议 +

    + + +
    + + + + +

    华擎 的J3455是目前很热门的一款集成主板,许多网友都拿它来组黑群晖玩,我手里正好也有一块J3455,上周装了黑群晖,已经稳定运行了近一个星期,下面我将罗列几点在装机以及使用过程中遇到的问题及解决方法,希望对正打算用J3455装黑群晖的朋友有所帮助。

    +

    1.Bootloader引导版本的选择

    +

    由于群晖的DS918+也是采用的J3455处理器,所以很多朋友都用最新的Jun’s Loader 1.04b来做引导,但是目前使用1.04b引导DS918+有一个问题,就是在DSM网页中无法重启机器,所以我选择了用1.03b引导DS2615XS来装DSM6.1.6系统。安装完成之后可以在线更新DSM版本到 DSM 6.1.7-15284 Update 3 。

    +

    aa.jpg

    +

    2.WOL相关设置

    +

    想要实现WOL网络唤醒,需要满足以下几个条件:

    +

    1.引导优盘中的MAC地址必须填主板实际的MAC地址;

    +
      +
    1. 在BIOS中启用"允许从PCI-E设备启动电脑";
    2. +
    +

    3.DSM控制面板—电源中必须WOL选项打勾。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/468.html b/posts/468.html new file mode 100644 index 0000000000..0b4dedf143 --- /dev/null +++ b/posts/468.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖NAS使用Docker安装迅雷远程下载xware教程 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖NAS使用Docker安装迅雷远程下载xware教程 +

    + + +
    + + + + +

    和之前一样,用putty登录NAS,然后切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取xware映像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/yinheli/docker-thunder-xware
    +
    +

    下载完成之后前往NAS的docker中启动该映像,然后选择"高级设置",切换到"卷"选项卡,选择一个本地的文件夹来作为迅雷的下载目录,挂载路径为/app/TDDOWNLOAD。

    +

    设置完成之后启动容器,然后在运行日志中查看激活码。

    +

    TIM截图20180424174524.png

    +

    最后将激活码记录下来前往 http://yuancheng.xunlei.com 绑定即可。

    +

    TIM截图20180424174851.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/47723.html b/posts/47723.html new file mode 100644 index 0000000000..aa5673362e --- /dev/null +++ b/posts/47723.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +家庭网络布线注意事项 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 家庭网络布线注意事项 +

    + + +
    + + + + +

    今天给准备装修的小伙伴分享一些在装修过程中可能遇到与网络或是智能相关问题的小贴士,供大家参考。

    +

    1.网线选择

    +

    最好选择正规厂家的CAT6六类网线,也就是网线中有十字骨架的那种网线。

    +

    目前家庭宽带接入普遍已经达到了100M,有的地区甚至达到了500M以上,而我们日常见到的网线一般都是五类线(CAT5)或是超五类线(CAT5E),五类线属于百兆线,理论传输速度只能达到100M。也就是说我们虽然在电信运营商那里办理的是300M的宽带,但由于家里的网线没有达到千兆标准,加上网线质量的因素,实际我们能享受到的网速只有70-80M左右。目前能达到千兆及以上传输速度的网线有超五类、六类及七类网线。虽然超五类线理论可以达到千兆网速,但是受到水晶头质量以及面板模块质量的影响,也不能完全保证能达到千兆。所以我建议大家在选择网线的时候尽量选择六类网线,如果预算有限,那也一定要选择正规厂家的超五类线。为什么不建议选择七类网线,是因为目前七类网线价格比较而言性价比不高,加之其配套的水晶头、网络模块需要用专业的工具来制作,对制作水准要求比较高,所以目前不推荐个人用户在布线的时候选择七类网线。

    +

    还有一点需要注意,六类网线分为屏蔽网线和非屏蔽网线,在家庭环境中我们只要选择非屏蔽网线就好了,没必要选择带屏蔽的网线。

    +

    2.设备的选择

    +

    虽然我们的网线支持了千兆,我们的路由器及交换机也要选择千兆接口的才可以,这里说的千兆接口是指设备的硬件WAN口及LAN口。

    +

    如果家里面的房间较多,平米数较大,需要做无线覆盖,我们要根据房间数量选择带POE供电的交换机来给各个房间的AP面板来供电。

    +

    3.布线中需要注意的问题

    +
      +
    1. 每个房间都要尽量留有网线到弱电箱,以便以后做无线覆盖用,当然厕所除外。
    2. +
    3. 书房要至少留两根网线到弱电箱,一根接AP面板,一根接台式电脑。
    4. +
    5. 卧室电视墙也要留一根网线,以便以后接IPTV用。
    6. +
    7. 客厅电视墙至少要留三根网线,一根接IPTV,一根接主路由器,另一根回弱电箱内的交换机。
    8. +
    9. 弱电箱一定要留有220V电源。
    10. +
    11. 有线电缆基本上淘汰了,装修中可以不考虑。
    12. +
    +

    4.后期加装智能需要注意的地方

    +

    智能家居是个趋势,为了以后改造方便,每个开关底盒内要留有零线,窗帘盒内要预留有220V电源,无线覆盖一定要做好。

    +

    目前暂时想到的就上面一些,以后会继续做补充。

    +

    最后总结一下,网线尽量选择六类线,家中的所有网线都回弱电箱,客厅电视墙至少留有三根网线,如果有可能改造弱电箱,尺寸尽可能做大,因为弱电箱里的东西会比较多,除了电信的光猫,还会有POE交换机,如果AP数量多了,还需要AC控制器,后期如果加装智能,还需要容纳智能主机。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/48504.html b/posts/48504.html new file mode 100644 index 0000000000..c62d755080 --- /dev/null +++ b/posts/48504.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖VPN server套件安装配置 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖VPN server套件安装配置 +

    + + +
    + + + + +

    下载安装套件

    +

    根据你当前DSM系统的版本安装对应版本的套件,如不确定,可以下载最新版本的套件尝试,如安装失败,会提示可安装版本号。
    +https://archive.synology.com/download/Package/VPNCenter

    + +

    DDNS配置

    +

    20240204110234

    +

    安装证书

    +

    套件配置

    +

    20240204105551

    +

    pptp

    +

    20240204105629

    +

    openvpn

    +

    20240204105710

    +

    l2tp/ipsec

    +

    20240204105806

    +

    客户端配置

    +

    20240204105953

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/48882.html b/posts/48882.html new file mode 100644 index 0000000000..92ce2e9c17 --- /dev/null +++ b/posts/48882.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +经典播放器KMPlayer-YouTube视频播放下载利器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 经典播放器KMPlayer-YouTube视频播放下载利器 +

    + + +
    + + + + +

    KMPlayer是来自韩国的一款视频播放器,可以播放包括MKV、AVI、MP4在内的多种格式的视频文件。

    +

    TIM截图20181215211734.png

    +

    之前没有发现,这个播放器还可以播放YouTube视频,只需要复制YouTube的视频地址,用KMPlayer打开即可播放。

    +

    今天要提到的是,KMPlayer居然还可以下载Youtube上的视频哦。播放器左下角有个"下载"的图标,打开它,把视频地址复制进去,选择你要下载的视频格式及分辨率,然后选择保存位置,就可以开始下载了。

    +

    TIM截图20181215210306.png

    +

    当然,以上播放和下载YouTube视频的前提是你的网络环境支持科学上网。

    +

    KMPlayer播放器官网http://www.kmplayer.com/

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/49189.html b/posts/49189.html new file mode 100644 index 0000000000..005805ef9f --- /dev/null +++ b/posts/49189.html @@ -0,0 +1,537 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用namecheap免费的域名解析服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用namecheap免费的域名解析服务 +

    + + +
    + + + + +

    最近我的一个域名被DNS污染了,之前一直在DnsPod做解析,发现被污染之后转到了万网自带的解析服务,问题依然没有解决。于是我开始寻找国外免费的域名解析服务商。

    +

    其实国外大型的域名注册商都提供免费的域名解析服务,允许在第三方注册的域名使用他们的解析服务,比如Godaddy和NameCheap。

    +

    因为我直接在Godaddy注册的域名被盗过,而且还没有找回,所以对Godaddy没有了好感。这次我选择使用NameCheap的免费域名解析服务。

    +

    TIM截图20190103101540.jpg

    +

    首先去NameCheap官网注册一个账户,然后选择FreeDNS服务,添加你的域名,添加之后系统会给你列出NameCheap的5个NS服务器地址,你需要前往你的域名注册商那里将域名的NS服务器地址设置为上面列出的地址。

    +

    TIM截图20190103101752.jpg

    +

    等待大约5-10分钟更改就会生效,生效之后就可以在NameCheap来进行域名解析了。

    +

    我的域名在换到Namecheap做解析之后,之前出现的DNS污染问题也得到了解决。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/49200.html b/posts/49200.html new file mode 100644 index 0000000000..5a86b1e233 --- /dev/null +++ b/posts/49200.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在Follow订阅渊澄最新动态 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在Follow订阅渊澄最新动态 +

    + + +
    + + + + +

    Follow是最近很热门的一款RSS订阅器,虽说是热门,但也仅限于所谓的极客圈吧。目前RSS已经被人忘却很多年了,新兴一代好像都不清楚RSS是什么东西。似乎只有在十几年前写博客的元老们才了解RSS为何物。还记得最后一次使用的RSS订阅器还是Google Reader那时还是上高中或大学的时候,06-10年左右吧。可惜谷歌早已放弃了这个项目,之后随着微博等自媒体的兴起,也就没有再用其他RSS订阅器的机会了,虽然也有一些类RSS订阅器做的还不错,比如flipboard,但终究RSS已经成了一个小众领域。
    +image.png

    +

    Follow官网Follow

    + +

    目前处于公测阶段,有web版和电脑客户端两个版本,暂时还没有移动端应用。注册无需邀请码,可关联Github或是Google账户登录,但一些功能还是需要邀请码才能使用的,比如内置的自动化功能。因为没有邀请码,无法测试这个自动化究竟是个什么功能。还有目前没有邀请码的用户最多只能订阅5个更新源。
    +image.png

    +

    Follow除了支持传统的RSS文章订阅之外,还支持B站、油管、电报、小红书等账号的订阅,而这些功能是基于Follow作者之前名为RSShub的项目。该项目可以将三方自媒体平台更新数据转化为可供RSS订阅的地址,通过一个客户端就可以关注到你在不同平台上所关注的用户的更新动态了,而这个客户端就类似于现在提到的Follow。只是Follow对所关注的内容做了细化分类,分为普通文章、社交媒体,图片、视频、音频及通知,可根据平台的类型划分到不同的分类下面,以获取更好的阅读体验。比如可以把普通的博客划分到文章,B站和油管的更新划分到视频,微博或是X划分到社交媒体,Instagram的更新划分到图片,而类似于什么值得买之类的更新可划分到通知类。
    +image.png
    +目前有一点需要吐槽一下,如果我想要在Follow关注我在三方平台关注的用户,只能一个一个手动搜索然后添加关注,很是不便。如果Folllow能够一键读取我三方平台内关注的用户并同步过来,应该会极大的改善用户的体验,但这需要Follow和各平台进行数据对接,而平台应该是会反对了,因为通过Follow浏览更新之后,几乎没有平台什么事了。

    +

    Follow的另一个亮点是支持打赏功能,你可以给你喜欢的文章进行打赏,当然前提是这个文章所有者进行了Follow认证,打赏的金额才能进入到他的账户中去。Follow使用的打赏货币名为power,是一种区块链货币,按照官方的说法会根据在Follow上的活跃度和贡献值来获取power。而目前似乎没有更为详细的获取规则。
    +image.png

    +

    以下是Follow认证信息。

    +
    1
    This message is used to verify that this feed (feedId:73561881581939712) belongs to me (userId:73561590031793152). Join me in enjoying the next generation information browser https://follow.is.
    +

    目前渊澄站点已经过认证,在搜索框中直接输入【渊澄】可直接订阅我们的更新动态。或者直接填入渊澄的RSS地址也是可以的 atom.xml
    +image.png
    +如果你有需要认证的RSS源,可以参照指引将认证信息填入更新文章内,Follow读取到包含认证信息的更新后就成功了。站点右上角就会出现认证图标。
    +更多的其他功能估计要等到正式版发布才能体验到。
    +最后还是希望Follow能把RSS再次带回到大众视野,虽然RSS已经注定了是个小众领域了,但至少可以让当下的年轻人知道还有一种跨平台订阅更新的方式叫做RSS。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/49575.html b/posts/49575.html new file mode 100644 index 0000000000..27827d318b --- /dev/null +++ b/posts/49575.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +homeassistant报404错误手动安装 frontend组件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + homeassistant报404错误手动安装 frontend组件 +

    + + +
    + + + + +
    +

    昨天将HomeAssistant升级到最新的0.89.2版本之后,网页页面打不开,提示404错误,查看log日志发现有如下报错信息:

    + + +
    019-03-14 21:54:55 ERROR (SyncWorker_13) [homeassistant.util.package] Unable to install package home-assistant-frontend==20190305.1: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /packages/bc/99/d91230141eb6838f9daa18e04bcbc206a40c8c14bb2edde7f75ba264f4b5/home-assistant-frontend-20190305.1.tar.gz
    +
    + + +

    主要报错信息是Unable to install package home-assistant-frontend==20190305.1,也就是无法安装版本为20190305.1的home-assistant-frontend组件,解决办法就是手动安装。

    + + +

    Putty登陆到你的Hass主机,然后依次运行以下命令:

    + + +
    sudo su -s /bin/bash homeassistant
    +source /srv/homeassistant/bin/activate
    +pip3 install  home-assistant-frontend==20191025.1
    +等到安装完之后之后
    +exit
    +
    + + +

    ** 目前最新的frontend版本为20191025.1 ,所以这里我们安装最新版。**

    + + +

    最后重启homeassistant就可以了。

    + + +

    如果系统log中有其他缺失组件的报错,也可以用此方法来试着修复,但此方法只适用于基于命令安装的home-assistant,不适用于hassio等其他系统。

    + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/49729.html b/posts/49729.html new file mode 100644 index 0000000000..805e495b0e --- /dev/null +++ b/posts/49729.html @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +地表最快四门量产车来了-小米SU7 Ultra发布 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 地表最快四门量产车来了-小米SU7 Ultra发布 +

    + + +
    + + + + +

    昨晚科技圈有点热闹,苹果和小米都发布了各自的新品,苹果最近一段时间新品频发,iPad mini 7,M4芯片的新款iMac,还有昨晚发布的更小尺寸的基于M4芯片的Mac mini,其中除了Mac mini外观和尺寸有明显变化外,其他升级都只能算是挤牙膏式的常规升级,苹果估计也觉得没必要单独开发布会的必要了。
    +image.png

    +

    转到小米这边,昨晚一口气发布了澎湃OS2操作系统、小米15系列手机以及小米SU7 Ultra高性能四门超跑汽车。当然其中最引人关注的还是小米SU7 Ultra,官方给出的数据百米加速2秒内,号称是地表最快的四门量产车。小米SU7 Ultra预售价格为81.49万元,明年3月份正式开售。虽然咱们普通人看上去80W很贵,但是看了参数及外观图片之后,还是觉得小米SU7 Ultra性价比是很高的。然后早上翻看小米官网介绍的时候发现,小米居然在车身配备了40W的外置扬声器,内置三种音效,可模拟超跑加速音浪。👍看来小米还是最懂年轻人的。不知道小米会不会在后续的OTA升级中加入更多的音效呢?😛
    +image.png

    +

    详细的参数及精美图片视频移步SU7官网查看小米汽车
    +那如果你有80W预算买车,会选择小米SU7 Ultra吗?🤑
    +另外忘了说了,两个厂家昨天还有一次隔空互动😍。新的澎拜OS2支持小米手机在苹果的Mac OS上投屏,并支持操控,就像小米笔记本那样,也支持与iPhone间共享图片和文件,实现这些功能的前提是需要在Mac或是iPhone上安装名为小米互联服务的APP。
    +image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/49923.html b/posts/49923.html new file mode 100644 index 0000000000..3ceac34931 --- /dev/null +++ b/posts/49923.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MAC OS10.14系统添加ar9285无线网卡驱动 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + MAC OS10.14系统添加ar9285无线网卡驱动 +

    + + +
    + + + + +

    苹果最新的Mac OS 10.14 系统取消了对AR9285系列网卡驱动的支持,所以我们需要手动添加驱动才能使用AR9285无线网卡,下面来介绍如何在Mac OS 1014中添加AR9285的网卡驱动。

    +

    下载附件中的压缩包并解压,得到AirPortAtheros40.kext文件,打开/SYSTEM/LIBRARY/EXTENSIONS,找到IO80211Family.kext文件,显示包内容,打开contents/Plugins,将解压到的文件复制到这个文件夹。

    +

    然后在终端中输入

    +
    sudo touch /System/Library/Extensions/ && sudo kextcache -u /
    +
    +

    重新建立缓存即可完成AR9285无线网卡在MAC OS 10.14中的驱动安装。

    +

    参考内容https://forum.51nb.com/forum.php?mod=viewthread&tid=1857633

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/50351.html b/posts/50351.html new file mode 100644 index 0000000000..b2007e3efa --- /dev/null +++ b/posts/50351.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +黑群晖DS3615XS最新版启动优盘的制作 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 黑群晖DS3615XS最新版启动优盘的制作 +

    + + +
    + + + + +

    DIY NAS的配件还没到,昨天闲来无事,根据网上现有的教程,提前做了黑群晖DSM6.1.4的启动优盘。现在记录下来,方便有需要的朋友参考。

    +

    需要用到的软件和文件有:

    +

    1.最新版的黑群晖ds3615xs引导镜像;

    +

    2.用来将镜像写入优盘的Win32DiskImager(下载地址);

    +

    3.用来查看优盘VID以及PID的ChipEasy芯片无忧(下载地址);

    +

    4.用来加载镜像的OSFmount软件(下载地址);

    +

    5.用来修改grub文件的Notepad++(非必须,也可用记事本打开,下载地址);

    +

    6.用来计算黑群晖序列号和MAC地址的EXCEL表格。

    +

    以上文件请点击文章结尾的下载地址来进行下载。

    +

    将上面的东西都准备完毕了之后我们正式开始喽,当然还需要1个优盘,2G或4G都可以,不需要太大。

    +

    高能正式开始:

    +

    由于最新版的WIN10无法正确加载引导镜像,导致无法修改里面的grub文件,所以我们先来安装OSFmount软件,并用OSFmount加载引导镜像,记得将 read only 那里的勾去掉,加载的时候选择15M的那个分区,然后打开分区,找到grub.cfg文件,用NotePad++打开,当然也可以用自带的记事本打开。

    +

    将U盘插入电脑,运行ChipEasy,查看并记录下优盘的VID以及PID。

    +

    在grub.cfg中找到set vid=0x1234,set pid=0x1234字段,并将最后4位数字替换为自己优盘的VID及PID。接着打开黑群晖的算号Excel表格,选择DS3615XS型号,然后表格会自动生成序列号和MAC地址,我们将算好的SN和MAC地址一并在这个文件里面修改了。

    +

    然后保存文件,点击DISMOUNT取消加载。

    +

    接下来我们用Win32DiskImager打开修改好的镜像,并写入到优盘,等到写入完成之后,我们的黑群晖启动优盘就做好了。

    +

    稍后我会将需要用到的文件上传到网盘供大家下载。制作过程中的图片也会随后上传。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/5098.html b/posts/5098.html new file mode 100644 index 0000000000..b02f3b16e6 --- /dev/null +++ b/posts/5098.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用include语句重建HomeAssistant结构 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用include语句重建HomeAssistant结构 +

    + + +
    + + + + +

    添加的设备越来越多,configuration.yaml文件越来越长,而且修改和查找起来起来很不方便,肿么办?

    +

    我们可以使用include语句来将不同类型的设备分成单独的yaml文件,方法很简单,在configuration.yaml文件夹添加

    +
    switch: !include switch.yaml
    +
    +

    然后在配置文件夹新建一个switch.yaml文件,即可将switch类型独立成一个单独的yaml文件。

    +

    同理,我们也可以将常用的sensor、device_tracker、media_player、light、automation等类型统统分开,类似这样

    +
    ###配置指向###
    +group: !include groups.yaml
    +automation: !include automations.yaml
    +switch: !include switch.yaml
    +binary_sensor: !include binary.yaml
    +sensor: !include sensors.yaml
    +light: !include lights.yaml
    +device_tracker: !include device_trackers.yaml
    +input_select: !include input_select.yaml
    +input_boolean: !include input_boolean.yaml
    +media_player: !include media_player.yaml
    +
    +

    独立之后的yaml文件配置代码直接以platform开头即可,类似这样

    +
    - platform: broadlink
    +  host: xx.xx.xx.xx
    +  mac: 'xx:xx:xx:xx:xx'
    +  type: spmini2
    +  friendly_name: 'spmini' 
    +
    +

    不必再声明类型。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/51237.html b/posts/51237.html new file mode 100644 index 0000000000..228b958286 --- /dev/null +++ b/posts/51237.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +如何在一台路由器下接入多个路由器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 如何在一台路由器下接入多个路由器 +

    + + +
    + + + + +

    今年五一假期的最后一天,黑群晖的WOL还没有搞定,给主板厂家打电话咨询主板开启WOL功能的地方,估计是五一放假,电话打不通,先放一边吧,等之后有了时间再研究。

    +

    之前把HA系统迁移到了群晖的docker中,运行还算稳定,不过HA系统需要24小时开机运行,黑群晖的功率足足有40多瓦,一整天工作下来先不说长时间通电对主板、硬盘等硬件的影响,光是电费也是一笔不小的开支,所以本着够用就好,节能为主的思想,又把树莓派用起来了。

    +

    买的H96 PRO+盒子还算不错,刷了原生的ANDROID TV之后感觉焕发了第二春,主要安装了KODI、PLEX、群晖的DS VIDEO以及几个国内常用的视频APP,运行都不错,还试了几个直播APP,感觉速度一般,估计是源的问题,切换到普通分辨率也会出现卡顿,所以基本放弃了在盒子上看电视直播的想法。

    +

    最后说介绍我家的网络结构,以及如何在一台路由器下接入多个子路由器,并保证所有设备在一个局域网内。

    +

    我家用的是联通的宽带,有两根光纤进户,一根是宽带和IPTV,另一根是固话,所以就有两台光猫。路由器有三台,一台联想的Y1s作为主路由器,配有千兆和百兆LAN口各两个。一台极路由极壹s和一台NEWIFI mini作为分路由,用来扩展WIFI信号及网口数量。三台路由器都刷了hiboy大神的padavan固件。Y1s负责宽带拨号、DHCP分配、SS等功能,其他两台路由器关闭了DHCP功能,并且把LAN口的IP设置成了和主路由在一个网段的地址,主路由的LAN直连分路由的LAN口,这样设置有几个好处,一是所有的设备都在一个局域网中,方便共享和互相访问,再一个就是配置分路由的时候无需切换IP地址,直接输入设置好的LAN口IP地址就可以进入分路由的管理界面。主路由的两个千兆LAN分别接了NAS以及H96盒子,应因为这两个设备的网口也是千兆的,用千兆网线连接之后可以达到千兆的速度,另外两个LAN口直连了两台分路由器。这样主路由的所有网口就都用完了,其他需要网线连接的设备,比如树莓派可以连到分路由剩下的LAN口上,这样就可以实现无缝的互相访问了。

    +

    以上设置适合有同样需求的朋友,如果你家从主路由到分路由没有走网线,也可以试一下无线桥接的方式,在分路由上进行设置,如下图

    +

    TIM截图20180501120414.png

    +

    然后搜索到主路由的SSID,输入密码就可以了,设置之前记得关闭DHCP以及设置好LAN的IP地址。

    +

    TIM截图20180501120631.png

    +

    TIM截图20180501120705.png

    +

    本来想画一张拓扑图来着,但没有找到合适的软件,就暂且搁置了。

    +

    最后感谢hiboy大神,编译了padavan估计以及能持续发布更新。

    +

    点击进入hiboy在恩山的帖子http://www.right.com.cn/forum/thread-161324-1-1.html

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/52176.html b/posts/52176.html new file mode 100644 index 0000000000..7e9412cb8f --- /dev/null +++ b/posts/52176.html @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VPS增加swap交换分区笔记 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + VPS增加swap交换分区笔记 +

    + + +
    + + + + +
    +

    对于配置较低的VPS主机,我们可以通过适当增加swap交换分区的大小来提高主机的性能。下面以搬瓦工ubuntu14.04系统进行操作。

    + + +

    1.查看当前swap分区大小

    + + +
    free -h
    +
    + + +

    2.删除swap分区

    + + +
    swapoff -a
    +
    + + +

    3.创建新的swap分区

    + + +
    dd if=/dev/zero of=/root/swapfile bs=1M count=1024
    +
    + + +

    修改count后面的数字来调整swap分区的大小,现在以1GB为例。

    + + +

    4.格式化分区

    + + +
    mkswap /root/swapfile
    +
    + + +

    5.启用分区

    + + +
    swapon /root/swapfile
    +
    + + +

    6.添加开机启动

    + + +
    nano /etc/fstab
    +
    + + +

    加入下面一行命令

    + + +
    /root/swapfile swap swap defaults 0 0
    +
    + + +

    7.再次查看swap分区大小

    + + +
    free -h
    +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/52498.html b/posts/52498.html new file mode 100644 index 0000000000..b7b3825ce1 --- /dev/null +++ b/posts/52498.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +网站升级到了WordPress5.0 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 网站升级到了WordPress5.0 +

    + + +
    + + + + +

    刚刚收到了Wordpress推送的5.0版本更新。

    +

    不出意外,这次WordPress强推了全新的古腾堡编辑器,经过几次版本更新,现在的古腾堡编辑器已经可以让使用者愉快的编辑文字了。

    +
    而且无须插件可以较为方便的插入代码。
    +
    +

    目前编辑器的汉化工作还不是很完善,可以说是基本上没有汉化,英文不是很好的朋友上收起来还是有点困难的,好像现在Wordpress官方的汉化工作也迟迟没有推进,除了古腾堡编辑器,WordPress主程序也有好几处没有汉化到位。

    +

    ####12月11日更新####

    +

    就在刚刚收到了5.0的中文汉化更新,之前WordPress主程序未汉化的部分也得到了汉化,赞一个。

    +

    TIM截图20181211173924.jpg

    +

    想退回使用原来的编辑器怎么办?后台搜索插件classic-editor安装应用,就可以回到原先的经典编辑器了,据官方介绍说该经典编辑器仅支持到2021年。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/52893.html b/posts/52893.html new file mode 100644 index 0000000000..7ff8940837 --- /dev/null +++ b/posts/52893.html @@ -0,0 +1,608 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0成本serv00搭建wordpress | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 0成本serv00搭建wordpress +

    + + +
    + + + + +

    楔子

    +

    serv00是一家提供免费虚拟主机空间的厂商,除了免费空间外,还提供免费的数据库和企业邮箱等服务。并且提供的虚拟空间基于freeBSD操作系统,3GB存储,512MB内存,支持SSH登录,支持PHP多版本切换,支持多种数据库类型。关键的关键是这一切都是免费的,只需要你每隔三个月至少登录一次主机SSH或是管理面板,否则账户将被注销。
    +image.png

    +

    目标

    +

    0成本使用serv00提供的虚拟空间服务搭建基于wordpress的站点,并且使用cloudflare加速站点国内访问速度,支持https。
    +image.png

    + +

    前提准备

    +

    1.一个挂靠在Cloudflare的域名,下文以miaoyang.win演示,搭建站点的二级域名为wp.miaoyang.win。
    +2.serv00账号(注册地址:Serv00.com » Create an account)提交注册信息时如出现报错,需更换代理IP或注册邮箱地址尝试。
    +3.科学上网环境(以下全部操作默认在科学环境下操作)。

    +

    开干

    +

    创建站点

    +

    serv00注册成功后邮箱会收到一封邮件,里面包含serv00的用户名、密码、panel登录地址等信息。根据邮件提供的信息登录控制面板,按照下图所示新建一个站点,输入站点域名。然后点击Add。
    +image.png
    +创建成功之后会在Website list选项卡看到新建的站点信息,在File manager中可以看到站点文件夹。
    +image.png

    +

    上传wordpress文件

    +

    前往WordPress网站下载压缩包到本地(下载 – WordPress.org China 简体中文)。
    +image.png

    +

    默认的站点文件夹为/domains/wp.miaoyang.win/public_html,我们需要先将文件夹内的index.html文件手动删除,然后wordpress的全部文件上传到此目录。
    +上传可以通过网页端的File manager上传,也可以使用winSCP等支持FTP和SFTP的客户端上传。我这边实际测试了速度都不太理想,推荐使用SSH 命令直接从wordpress下载。
    +使用SSH登录之后

    +
    1
    2
    cd /domains/wp.miaoyang.win/public_html
    wget https://cn.wordpress.org/latest-zh_CN.zip
    +

    然后通过File manager将压缩包内的wordpress文件夹解压到public_html文件夹。
    +image.png
    +最终的文件架构如下图所示。
    +image.png

    +

    域名解析

    +

    进入DNS zones,然后找到之前添加的域名点击Edit。进来之后找到域名的A记录目标IP记录下来。
    +image.png

    +

    前往Cloudflare的DNS界面,创建一个A记录将wp.miaoyang.win 解析到上面的IP地址,并开启代理云朵。
    +image.png
    +这时候要是访问域名的话会提示证书错误,我们还需要去设置一下域名的证书。

    +

    证书设置

    +

    如下图所示进入Cloudflare的自定义主机名,添加wp.miaoyang.win。
    +image.png

    +

    然后根据提示新建txt记录验证域名所有权,直到证书状态和主机状态都为绿色有效。
    +image.png

    +

    现在就可以通过 https://wp.miaoyang.win 来访问站点了。

    +

    创建MySQL数据库

    +

    安装WordPress需要MySQL数据库。如下图所示新建一个数据库,记录下数据库名、数据库用户名、密码,以及数据库地址。
    +image.png

    +

    安装WordPress

    +

    访问https://my.miaoyang.win 根据提示进行安装,期间需要输入数据库相关信息。需要注意的是在数据库主机那里,将默认的localhost删除,填入上一步记录下来的数据库地址。
    +image.png
    +设置完站点基础信息以及用户名和密码之后就完成了WordPress的安装。

    +

    站点访问

    +

    现在我们就可以使用 https://wp.miaoyang.win 来访问wordpress了!
    +image.png

    +

    因为我们在Cloudflare设置了cdn代理加速,所以现在停掉科学代理,也可以访问到站点了,而且速度也不错。
    +image.png

    +

    那如果直接使用serv00默认的ip访问站点的话,可以看到国内是全部被墙的。
    +image.png

    +
    +

    类似的我们可以使用serv00的免费空间来搭建更多的基于PHP+MySQL的站点。

    +

    另外需要注意的是serv00需要至少每隔三个月登录一次SSH或是管理面板,否则账户会被删除!

    +
    +

    引用

    +

    玩转serv00虚拟主机(一):零成本搭建wordpress个人博客&入门_服务器_什么值得买

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/53352.html b/posts/53352.html new file mode 100644 index 0000000000..8d935ae1b6 --- /dev/null +++ b/posts/53352.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hassbian-scrpits脚本的安装和应用 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Hassbian-scrpits脚本的安装和应用 +

    + + +
    + + + + +

    最新的Hassbian镜像会集成hassbian-scripts脚本服务,使用该脚本可以方便的安装、升级homeassistant的各项服务。

    +

    我们先来升级一下

    +
    sudo hassbian-config upgrade hassbian-script
    +
    +

    TIM截图20180131113607.png

    +

    输入下面的命令可以看到当前可用的hassbian-scrpits脚本命令

    +
    sudo hassbian-config show
    +
    +

    TIM截图20180131113643.png

    +

    如果我们要安装samba服务,只需要输入

    +
    sudo hassbian-config install samba
    +
    +

    即可一键完成samba的服务。

    +

    如果我们要升级Home-Assistant的版本,只需输入

    +
    sudo hassbian-config upgrade home-assistant
    +
    +

    即可一键完成Home-Assistant的升级。

    +

    更多的使用方法请参阅Hassbian-scripts GitHub项目地址:https://github.com/home-assistant/hassbian-scripts

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/54954.html b/posts/54954.html new file mode 100644 index 0000000000..1249b9cbd1 --- /dev/null +++ b/posts/54954.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在群晖NAS中用docker安装homeassistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在群晖NAS中用docker安装homeassistant +

    + + +
    + + + + +

    首先在群晖套件中心安装Docker应用并打开,打开FileStation,在docker文件夹中新建一个名为"home-assistant"的文件夹。

    +

    然后进入DSM的控制面板,选择"终端机和SNMP",然后启动Telnet和SSH。

    +

    接下来我们去阿里云来获取docker加速地址,我获取到的地址是https://cb59j9ia.mirror.aliyuncs.com

    +

    接着我们用putty软件登录到NAS,用户名为admin,密码为admin的登录密码,然后依次运行以下命令:

    +
    sudo -i
    +
    +

    输入密码切换到root权限;

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/homeassistant/home-assistant
    +
    +

    拉取homeassistant的docker镜像;

    +

    等到下载完成之后运行

    +
    docker run -d --name="home-assistant" -v /volume1/docker/home-assistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
    +
    +

    注意将命令中的volume1替换为你实际的地址;

    +

    等到命令执行完之后,我们打开http://nasip:8123就可以看到homeassistant的界面了,至此,homeassistant在docker中已安装完成。

    +

    如何配置homeassistant呢?我们可以通过网上邻居,打开NAS中docker目录下的home-assistant文件夹来配置。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/54996.html b/posts/54996.html new file mode 100644 index 0000000000..129a19640b --- /dev/null +++ b/posts/54996.html @@ -0,0 +1,581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用cloudflare+jsdmirror加速github图床访问 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用cloudflare+jsdmirror加速github图床访问 +

    + + +
    + + + + +

    image.png

    +

    前言

    +

    之前写过一篇文章,如何设置github图床(https://miaoyang.win/posts/23057) ,由于github在国内的访问时长抽风,导致浏览体验不太理想,所以当初使用了Jsdelivr的加速服务,也就是在Picgo自定义域名那里填写https://cdn.jsdelivr.net/gh/GitHub用户名/仓库名 使用Jsdelivr的cdn来加速图床的访问。
    +但是最近Jsdelivr在国内的访问也是时断时续,经常出现打不开的情况。于是想着看看还有什么可用的国内加速服务。一路搜索找到了jsdmirror这个服务,详细介绍可查看项目Github页面(https://github.com/54ayao/JSDMirror) ,太深奥的专业术语咱也看不懂,只知道这个服务可以代替Jsdelivr,加速国内的访问。
    +然后拜读了Leehow的这篇文章通过 Cloudflare 和 JsDelivr 免费加速博客 GitHub 图床等静态资源 ,于是决定放手一试,用cloudflare来加速图床的访问。

    +

    实现的效果

    +

    最终实现的效果:使用自己的二级域名https://cdn.miaoyang.win 来替换jsdelivr的https://cdn.jsdelivr.net 来加速github图床,并且根据访问者的ip匹配规则,国内ip调用jsdmirror的服务,国外ip调用jsdelivr。

    + +

    操作前提

    +

    1.github图床已经设置完成并且可以正常访问,具体设置教程请参与(https://miaoyang.win/posts/23057);
    +2.域名已经停靠到了cloudflare。
    +3.有一个绑定了银行卡的paypal账户,无需付款。

    +

    操作步骤

    +

    二级域名cdn.miaoyang.win使用cname解析到cdn.jsdmirror.com,并且勾选代理云朵图标。

    +

    20240910140410

    +

    设置重定向规则

    +

    根据访问者ip来设置重定向规则。
    +20240910140544

    +

    国内ip规则设置如下图所示:
    +20240910140922
    +表达式为:

    +
    1
    concat("https://cdn.jsdmirror.com", http.request.uri.path)
    +

    国外ip规则设置如下图所示:
    +20240910140834
    +表达式为:

    +
    1
    concat("https://cdn.jsdelivr.net", http.request.uri.path)
    +

    订阅saas申请SSL证书

    +

    进入如下图所示的“自定义主机名”页面,申请saas服务,申请过程需要外币卡或是绑定了银行卡的paypal账号,但并不会实际发生扣款。
    +20240910141119
    +开通saas服务之后添加二级域名并进行认证,之后等待域名状态和证书状态为“有效”即可。

    +

    测试效果

    +

    在picgo插件中将原有的delivr网址替换为自己设置的cdn.miaoyang.win即可测试服务是否正常。
    +将图片链接复制到浏览器中,切换国内外ip观察其是否会跳转到指定的加速站点。

    +

    后记

    +

    在部署过程中遇到了图片无法正常显示以及https无法访问异常的情况,试着在jsdmirror的github主页试着提交了issus,得到了作者54ayao的指点,才得以最终部署完成,特此感谢。

    +

    引用

    +

    通过 Cloudflare 和 JsDelivr 免费加速博客 GitHub 图床等静态资源

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/55722.html b/posts/55722.html new file mode 100644 index 0000000000..6046914228 --- /dev/null +++ b/posts/55722.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TESLA,WE ROBOT! | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + TESLA,WE ROBOT! +

    + + +
    + + + + +

    image.png

    +

    北京时间10月11日,埃隆马斯克用一场名为“WE,ROBOT”的发布会,向世人展示了基于特斯拉最新全自动驾驶(FSD)的Robotaxi,客货两用车Robovan。另外还有人形机器人Tesla Bot。

    +

    Robotaxi

    +

    微信截图_20241012105529.png

    +

    据马斯克透露,Robotaxi预计2026年在美国上市。没有传统意义上的方向盘及刹车油门踏板,妥妥的L5。不再使用传统的充电插头,而是通过感应充电垫进行无线充电。

    + +

    Robovan

    +

    微信截图_20241012110310.png

    +

    Robovan 既能作为客运车辆承载 20 名乘客,也可转换为货运车辆满足不同运输需求,同样没有方向盘及踏板。整体造型就像从科幻片中出来一样。这种高灵活性的设计为城市交通和物流运输提供了新的解决方案,提高了车辆的使用效率和经济性。

    +

    Tesla Bot

    +

    微信截图_20241012105540.png

    +

    Tesla Bot人形机器人可以实现如照顾孩子、遛狗、修剪草坪、去超市买东西、端咖啡等各种日常事务,具有高度的灵活性和实用性,为未来的家庭服务和个人助理机器人发展提供了新的可能性。未来按规模生产的机器人成本将在 2 万 - 3 万美元之间,相比之前的机器人技术,成本大幅降低,使得人形机器人更有可能走进普通家庭,具有广泛的市场应用前景。

    +

    引用

    +

    图片引用自tesla官网。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/55749.html b/posts/55749.html new file mode 100644 index 0000000000..54d48fc608 --- /dev/null +++ b/posts/55749.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +本站启用新域名miaoziyuan.com | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 本站启用新域名miaoziyuan.com +

    + + +
    + + + + +

    本站从即日起启用全新域名miaoziyuan.com,旧域名miaoyang.win依然可以正常访问,但是会跳转到新域名。目前大家可以通过以下网址访问本站

    +

    https://miaoziyuan.com

    +

    https://www.miaoziyuan.com

    +

    https://miaoyang.win

    +

    https://www.miaoyang.win

    +

    新域名没有什么特殊的含义,是我儿子的名字全拼。自打他出生的时候注册的,一直没有什么用,现在拿来做我网站的主域名,等他长大的时候交给他,哈哈。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/56073.html b/posts/56073.html new file mode 100644 index 0000000000..db964bb079 --- /dev/null +++ b/posts/56073.html @@ -0,0 +1,544 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +测试新的编辑器Gutenberg | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 测试新的编辑器Gutenberg +

    + + +
    + + + + +

    这篇文字是用全新的WordPress文章编辑器Gutenberg编写的。

    +

    接下来插入一张图片看看效果。

    +

    Snipaste_2018-08-05_09-03-34.png

    +

    与之前的默认编辑器相比,Gutenberg使用更加灵活,可以随意在任何地方插入任何东西。

    +

    Snipaste_2018-08-05_09-05-32.png

    +

    甚至是插入小工具。

    +

    亦或是Twitter账户的最新动态。

    + + +
    +http://twitter.com/miaoyanginfo +
    + + +

    好了,发布一下看看最后的效果吧。。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/56316.html b/posts/56316.html new file mode 100644 index 0000000000..b14cbf79e3 --- /dev/null +++ b/posts/56316.html @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +导入WordPress备份的历史文章 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 导入WordPress备份的历史文章 +

    + + +
    + + + + +

    今天终于把我尘封多年的之前在WordPress写的日志导入到了Hexo。由于之前在WP导出的是xml,而hexo使用的是markdown格式,在往上搜了几个转化的工具都是一堆报错。最后按照下列文章的指引成功将wordpress备份出来的xml转换成了单个md文件。但是文章引用的图片和其他附件就没了。之后我翻一下NAS里面看有没有备份,有的话修复一下。(好在文章数量不是很多,目前大部分能找到备份的引用图片已经重新上传修复)。大部分是18年到20年左右写的,主要是一些关于HomeAssistant早期的文章,现在大部分都已经可以界面可视化操作了,还有一些提到的教程或脚本或许已经失效了,仅供参考。
    +有wordpress转换markdown需求的朋友可以 参阅以下链接教程。实际测试后基本可用,只是wordpress不像Markdown要求那么严格,如果标题中有特殊符号,部署Hexo的时候可能会报错,需要手动修改剔除,还有一些WordPress专有的格式和布局需要重新设置。

    +

    引用

    +

    小白-使用wordpress-to-markdown的方法 – 听水观沙

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/56597.html b/posts/56597.html new file mode 100644 index 0000000000..a47e1801b7 --- /dev/null +++ b/posts/56597.html @@ -0,0 +1,550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +腾讯云域名转入Godaddy实录 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 腾讯云域名转入Godaddy实录 +

    + + +
    + + + + +

    我在腾讯云注册有一个.com域名,还有两天到期,我决定把域名转移到Godaddy,Godaddy是全球最大的域名注册商,之前是纯英文界面,最近几年增加了中文界面,而且支持支付宝直接付款,虽然没有明确表示进军中国 域名注册市场,但不影响我们正常使用。

    +

    下面我来一步一步介绍如何将域名转移到Godaddy。

    +

    首先我们登录腾讯云,在域名管理页面找到我们要进行转移的域名。

    +

    Snip20190305_7.png

    +

    点管理按钮。然后在打开的页面最底部,找到『转出域名』。

    +

    Snip20190305_8.png

    +

    接着点击『获取转移码』,稍后转移码会发到你的邮箱中,请注意查收,收到转移码之后,腾讯这边的操作就告一段落了,我们接下来去Godaddy进行域名转入设置。

    +

    注册并登录Godaddy,语言切换到简体中文,在首页导航栏中选择『域名』,然后选择『域名转移』。

    +

    Snip20190305_10.png

    +

    输入你要转移的域名,然后点击『搜索』。

    +

    Snip20190305_11.png

    +

    然后在接下来的页面输入你获取到的域名转移码,点击『继续』,如果一切顺利的话系统会要求你付款,因为在转移域名的时候,新的域名注册商会收取一部分手续费以及域名下一年的注册费。因为我已经转移成功了,就不再上传付款页面的截图了,我是用支付宝付的款,最后折合成人民币大约58块钱左右。

    +

    付款完成之后需要等待3-7天,域名就会转移到Godaddy了,以后域名的解析管理和续费操作就可以在Godaddy来操作了。

    +

    Snip20190305_12.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/56765.html b/posts/56765.html new file mode 100644 index 0000000000..b69e716fbb --- /dev/null +++ b/posts/56765.html @@ -0,0 +1,532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +win11系统恢复右键菜单 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + win11系统恢复右键菜单 +

    + + +
    + + + + +

    win+r运行cmd命令提示窗,键入以下命令在注册表中添加相应字段即可还原鼠标右键菜单。

    +
    1
    reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
    +

    如果想回复win11默认右键菜单,只需要运行下面命令,将添加的字段删除即可。

    +
    1
    reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
    +

    重启资源管理器生效

    +
    1
    taskkill /f /im explorer.exe & start explorer.exe
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/56961.html b/posts/56961.html new file mode 100644 index 0000000000..ec86d107cc --- /dev/null +++ b/posts/56961.html @@ -0,0 +1,564 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ubuntu服务器安装v2ray笔记及客户端下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + ubuntu服务器安装v2ray笔记及客户端下载 +

    + + +
    + + + + +
    +

    首先用root账户来登录服务器,然后运行下面的命令一键安装v2ray

    + + +
    bash <(curl -L -s https://install.direct/go.sh)
    +
    + + +

    所有的详细配置都存储在/etc/v2ray/config.json文件中,安装完成之后我们运行下面命令来将服务器的端口及id记录下来。

    + + +
    cat /etc/v2ray/config.json
    +
    + + +

    最后我们运行下面的命令来启动v2ray服务并设置为开机启动。

    + + +
    systemctl enable v2ray
    +systemctl start v2ray
    +
    + + +

    到此安装完毕,最后我们检查一下服务器的防火墙设置,一定要放行上面记录到的端口才能够正常使用。

    + + +

    服务器端配置完成之后,我们还需要在你所使用的主机上安装部署v2ray客户端,常用的windows、iOS、Android平台都有相应的客户端,windows客户端推荐使用 v2rayN ,配置起来简单直观。iOS平台可以使用 Shadowrocket ,但是必须切换到美区账户才能购买安装。Android这边的话可以使用免费的 V2RayNG 。文章结尾我会放出windows和Android客户端的下载链接。

    + + +

    其实v2ray就类似于ssr采,只不过它采用了vmess加密协议,使用起来更加隐蔽,更加难以被监测到。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/5754.html b/posts/5754.html new file mode 100644 index 0000000000..0868288abe --- /dev/null +++ b/posts/5754.html @@ -0,0 +1,585 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在群晖NAS的Docker下安装appdaemon | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在群晖NAS的Docker下安装appdaemon +

    + + +
    + + + + +

    Appdaemon是用来干嘛的?

    +

    appdaemon是用python编写并在其环境下运行的一套程序。

    +

    HAdashboard和Appdaemon是什么关系?

    +

    HAdashboard是一种图形界面化的程序,是appdaemon下的一个子系统。想要安装HAdashboard必须先安装Appdaemon,然后在Appdaemon下再安装HAdashboard。

    +


    +用putty登录NAS,并切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取appdaemon镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/acockburn/appdaemon
    +
    +

    打开FileStation,在docker目录下新建一个名为"appdaemon"的文件夹,然后在appdaemon文件夹下新建

    +
    compiled/Javascript 及compiled/css 文件夹。
    +
    ![](TIM截图20180424093953.png)
    +回到docker中的映像,启动刚刚获取到的appdaemon镜像,然后点击高级设置。 +

    TIM截图20180424093813.png

    +

    切换到"卷"选项卡,添加文件夹,输入 docker/appdaemon,对应的装载路径输入/conf。

    +

    TIM截图20180424110151.png

    +

    然后切换到"网络"选项卡,选择"使用与docker host 相同的网络"。

    +

    TIM截图20180424094229.png

    +

    最后切换到"环境"选项卡,添加如下变量:

    +

    1.可变:HA_URL 值: http://nasip:8123 # homeassistant的地址。

    +

    2.可变:HA_KEY 值:password #homeassistant的登陆密码。

    +

    3.可变:DASH_URL 值: http://nasip:5050 #appdaemon的登陆的网址。

    +

    4.可变:DASH_PASSWORD 值:password #登录appdaemon的密码,可以不设置。

    +

    TIM截图20180424094456.png

    +

     

    +

    设置完成之后启动容器。

    +

    查看容器的运行日志,如果出现下图字样,说明appdaemon已经安装完成。

    +

    TIM截图20180424105908.png

    +

    我们输入http://nasip:5050就能看到appdaemon的界面了。

    +

    TIM截图20180426095025.png

    +

    如果打不开网页,请检查一下docker/appdaemon/appdaemon.yaml文件,是否有

    +
    hadashboard:
    +  dash_url: http://nasip:5050
    +
    +

    如果没有请添加后重启容器。

    +

    注意:HA的密码要设置的复杂一点,不能纯数字,否则会报错!!!

    +

    appdaemon的详细使用和设置,请参考网站http://appdaemon.readthedocs.io/en/latest/index.html

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/57995.html b/posts/57995.html new file mode 100644 index 0000000000..dc201f243e --- /dev/null +++ b/posts/57995.html @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +win11开启WEBDAV协议挂载阿里云盘 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + win11开启WEBDAV协议挂载阿里云盘 +

    + + +
    + + + + +

    之前提到了使用第三方软件RaiDrive来挂载WEBDAV协议的网盘,其实Windows自身是支持WEBDAV协议的,只需要简单的设置一下即可,可以完全抛弃三方软件。
    +##1.开启WEBCLIENT服务。
    +右键计算机-管理-服务,找到WEBCLIENT服务并开启运行。
    +webdav01.png

    +

    ##2.编辑注册表,修改键值,以同时支持http和https协议。
    +运行输入regedit回车。
    +找到如下路径,将BasicAuthLevel值改为2。

    +
    1
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    +

    webdav02.png
    +##3.添加网络位置即可。
    +webdav03.md.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/58386.html b/posts/58386.html new file mode 100644 index 0000000000..8f0cb3ae21 --- /dev/null +++ b/posts/58386.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +树莓派安装HomeAssistant笔记 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 树莓派安装HomeAssistant笔记 +

    + + +
    + + + + +

    树莓派安装HomeAssistantyou很多方法,比如HA强推的HASSIO、ALL IN ONE脚本安装以及通过Docker安装等方法,相比而言,我更推荐使用Hassbian镜像来安装HomeAssistant,相比较而言,Hassbian镜像安装使用时间更短,组件相对完整,比HASSIO及DOCKER有更开放的系统。下面我会详细记录树莓派3B使用Hassbian镜像来安装HomeAssistant的过程。

    +

    我们需要准备一台目前最新的树莓派3B主机,为了保证树莓派稳定运行,最好选用5V2.5A的电源,准备一张8GB以上的高速TF卡,推荐闪迪16GB A1速的TF卡,另外我们还需要提供稳定高速的下载环境,最好可以稳定访问Github以及Homeassistant.io、Google等国外网站。

    +

    硬件方面基本上准备就绪了,下面我们来准备需要用到的软件。

    +

    首先是hassbian镜像,下载地址

    +
    https://github.com/home-assistant/pi-gen/releases
    +
    +

    目前最新的hassbian镜像版本为1.31,我们点击页面上的下载链接将.zip文件下载到电脑,文件大小为400MB左右,如果网络对国外网站的访问速度慢的话,会需要较长的时间,耐心等待下载完成。下载完成之后解压得到.img文件备用。

    +

    接下来我们需要将.img文件写到准备好的TF卡中,需要两个软件,SD FOMATTER和WIN32DISKIMAGER,下载地址请自行搜索。用稳定的读卡器将TF卡和电脑连接,打开SD FOMATTER软件将卡格式化,格式化完毕之后用WIN32DISKIMAGER软件浏览到.img镜像,选择TF卡的盘符,点击"WRITE"将.img文件写入TF卡。

    +

    写入完成之后将TF卡插入树莓派卡槽,插上网线,通电开机。

    +

    如果网速稳定的话,预计在10分钟之内,HomeAssistant系统会自动安装完毕,此时我们需要在手机上下载一个名为"Fing"的APP来查看树莓派的IP地址,当然也可以在路由器的DHCP列表中查看。找到主机名为"Hassbian"的设备并记录下该IP地址,用浏览器访问http://ip:8123即可进入安装好的HomeAssistant界面。

    +

    到此为止,安装过程结束,之后我们会对安装好的HomeAssistant系统进行初步的配置。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/58482.html b/posts/58482.html new file mode 100644 index 0000000000..981dcfd70e --- /dev/null +++ b/posts/58482.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +mac os 配置图床上传工具picgo | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + mac os 配置图床上传工具picgo +

    + + +
    + + + + +

    如果电脑没有安装homebrew,需要先安装homebrew。

    +
    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    之前我在安装git的时候已经安装过了所以这里跳过。执行下面命令安装picgo。

    +
    1
    brew install picgo --cask
    +

    截屏2024-09-21 21.44.41.png|300

    +

    安装完成之后在启动台就可以看到picgo的图标了,不出意外的话是无法直接打开的。这里我们需要设置一下mac的安全性策略,将允许从以下位置下载的app更改为“任何来源”。
    +image.png|475

    + +

    如果你没有这个选项,需要在终端中执行下面的命令来打开。

    +
    1
    sudo spctl --master-disable
    +

    打开picgo之后就可以像windows平台那样进行图床设置了。
    +image.png|475
    +Obsidian安装 image auto upload plugin插件之后就可以正常上传图片了。
    +image.png|475

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/58542.html b/posts/58542.html new file mode 100644 index 0000000000..05c43361dd --- /dev/null +++ b/posts/58542.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +谷歌云安装bbr加速及酸酸乳 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 谷歌云安装bbr加速及酸酸乳 +

    + + +
    + + + + +

    BBR是谷歌推出的一套TCP加速算法,类似于之前的锐速,安装在VPS之后可以显著提升酸酸乳的速度,流畅观看1080P甚至是4K的油管视频。下面介绍如何在基于Debian8的系统中安装BBR算法,以及配置酸酸乳服务。

    +

    操作系统选择Debian8.

    +

    ####获取root权限####

    +
    sudo -i
    +
    +

    ####下载bbr安装脚本####

    +
    wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install
    +
    +

    选择NO。然后重启。重新连接。
    +####再次获取root权限####

    +
    sudo -i
    +
    +

    ####运行bbr安装脚本####

    +
    bash bbr.sh start
    +
    +

    ####获取酸酸乳安装脚本####

    +
    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh && chmod +x shadowsocksR.sh
    +
    +

    ####运行酸酸乳安装脚本####

    +
    ./shadowsocksR.sh
    +
    +

    之后根据提示设置酸酸乳的连接密码、端口及加密方式等等。

    +

    将自己设置的信息记录下来,然后下载相应平台的酸酸乳客户端,填入自己的服务器地址、端口、密码、加密方式等信息,就可以愉快的玩耍了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/59409.html b/posts/59409.html new file mode 100644 index 0000000000..f13678b4ca --- /dev/null +++ b/posts/59409.html @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +激活windows及office-自用KMS服务器分享 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 激活windows及office-自用KMS服务器分享 +

    + + +
    + + + + +

    KMS服务器可以用来激活VOL版本(俗称大客户版本)的Windows系统及Office办公软件。

    +

    每次激活可用180天,如果KMS服务器不瘫痪,到期后会自动续期,所以也算是永久激活。

    +

    如需使用KMS服务器来激活,记得下载和安装VOL版本的Windows及Office,大家可以去【msdn我告诉你】搜索下载。

    +

    我的KMS服务器是搭建在家里的路由器上面的,地址是 home.miaoyang.win,目前可以保证其稳定性,如果因服务器问题出现无法激活的状态,我会尽快解决。

    +

    切记以管理员身份运行CMD!

    +

    1、Office 手动激活命令:

    +
    cd C:\Program Files\Microsoft Office\Office16(Office 安装目录,32位和64位的安装目录不同,以你的安装目录为准)
    +cscript ospp.vbs /sethst:home.miaoyang.win
    +cscript ospp.vbs /act
    +cscript ospp.vbs /dstatus
    +
    +

    2、Windows 手动激活命令:

    +
    slmgr.vbs /skms home.miaoyang.win:1688
    +slmgr.vbs /ato
    +slmgr.vbs /xpr
    +
    +

    切记下载VOL大客户版本的windows及office,VOL版本的镜像名一般是以SW开头且文件名中一般含有VL字样。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/5954.html b/posts/5954.html new file mode 100644 index 0000000000..d51ecfb581 --- /dev/null +++ b/posts/5954.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +丢掉端口,使用cloudflare tunnel 实现免端口访问内网服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 丢掉端口,使用cloudflare tunnel 实现免端口访问内网服务 +

    + + +
    + + + + +

    楔子

    +

    何为内网穿透,简单来说就是在公网可以直接访问到你在内网搭建的各种服务。
    +起初是我前两天在serv00搭建了alist,并且把原本在openwrt上面搭建的数据都迁移了过去。今天发现上面挂载的国内网盘(百度、阿里云及115)都加载不出来,全部显示timeout超时,cloudflare的R2存储可以正常打开。而我之前挂载在openwrt上面的却能正常访问,想想可能是serv00对访问国内网盘的api有做限制或是国内网盘限制从serv00服务器登录?所以我还是想着把挂在openwrt上的Alist开放出来做存储站点附件的网盘用,因为在serv00上的alist地址不带端口,所以就想到了做内网穿透。

    +

    传统DDNS设置

    +

    对于普通家用宽带用户来说,一般需要做DDNS域名+端口的形式来访问内网服务,当然这个前提是你家宽带获取到了公网IP。这个方法也是我目前常用的方法,一般的操作步骤如下:
    +1.在主路由添加并设置DDNS服务,常用的DDNS服务商是花生壳。首先你需要先去花生壳注册一个账户,还要注册一个壳域名。然后在路由器相关界面输入账号和域名信息。目前国内主流的路由器基本上都内置了oray花生壳的ddns服务。
    +image.png

    +

    2.在主路由添加NAT端口映射服务,设置外部访问端口,这里内部端口和外部端口可以不一致。内部端口是你内网环境下该服务使用的端口,而外部端口是你希望在外网环境下访问该服务使用的端口。目前国内运营商基本上都封禁了类似于80、443、21、22等常用的端口,所以我们如果需要外网访问这些端口服务的话,就需要将这些端口映射成其他不同的端口。
    +image.png

    +

    这样设置完之后就可以通过ddns域名+外部访问端口来访问对应的服务了。

    + +

    如果你家宽带没有公网IP,那这个办法就行不通了,而且这种方法访问的时候需要加端口号,形式上不太美观,更重要的是会直接暴露你家的公网IP地址。
    +这个时候就需要用到内网穿透技术了,常用的内网穿透技术还有frps,但这个需要搭建一个单独的服务器,门槛比较高。今天介绍的是使用cloudflare的tunnel服务来实现内网穿透,只需要一个可以运行docker的环境即可。因为我家里还有一个刷了openwrt的旁路由,可以运行docker容器,所以我就在这台openwrt上跑cloudflare tunnel服务了。

    +

    cloudflare tunnel设置

    +

    登录到cloudflare网站,进入站点,左侧菜单找到Access。进入Zero Trust。

    +

    image.png
    +进入Network,找到Tunnel,新增一条tunnel记录。

    +

    tunnel01.png

    +

    给tunnel起一个名字。

    +

    tunnel02.png

    +

    环境选择Docker,并复制下面的运行命令。

    +

    tunnel03.png

    +

    接着输入你想要设置的二级域名,并且输入内网主机地址及端口,Type选择HTTP。完成之后会自带https。

    +

    tunnel04.png

    +

    接着使用复制出来的命令在旁路由上新建容器,确保容器正常运行即可。

    +

    等待几分钟在Tunnels中看到状态为healthy,就可以用我们设置好的二级域名直接访问内网服务了。
    +image.png

    +

    如果你后续还需要穿透更多的服务,直接编辑现有的tunnel就可以增加了,无需再次部署docker。
    +image.png

    +

    image.png

    +

    如果我们回到这个域名的解析列表中查看,可以看到刚刚设置的二级域名被CNAME解析到了cfargotunnel.com结尾的站点,并且开启了黄色小云朵。无论你在这个tunnels下创建了多少个hostname,这个地址都是相同的。
    +image.png

    +

    访问速度

    +

    基于国内的网络状况,相较于传统的ddns,cloudflare tunnels在国内的访问速度比较一般,主要表现在第一次打开时比较慢。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/59600.html b/posts/59600.html new file mode 100644 index 0000000000..314e9d9d65 --- /dev/null +++ b/posts/59600.html @@ -0,0 +1,560 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +用斐讯N1盒子看电视 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 用斐讯N1盒子看电视 +

    + + +
    + + + + +

    最近在各大论坛出镜率很高的斐讯N1天天链应该算是目前性价比最高的盒子了。这款盒子原先是斐讯推出的一款可以挖矿的盒子,现在矿塌了,大神们就开始研究这货究竟还有什么用。

    +

    斐讯N1采用S905处理器,2GB的内存,8GB的EMMC存储,千兆网口,购买一个挖矿退下来的二手机器,价格应该不超过80块钱。目前这款盒子经过刷机改造之后可以作为一款配置不出的Android电视盒子来用,也可以刷入Ambian来跑Ubuntu或是Debian等Linux系统。

    +
    +

    今天根据论坛大神们的教程来教大家如何将N1盒子刷成Android电视盒子。

    +

    首先我们将买回来的盒子连接HDMI线及网线,然后接通电源开机;

    + + +

    接入鼠标点击系统版本,直到屏幕提示"ADB打开"字样;

    + + +

    接着我们运行附件里面的"连接盒子"脚本,输入盒子获取到的IP地址;

    + + +

    盒子重启之后我们点击"降级"脚本,对盒子进行降级,降级完成之后我们点击"降级完成"按钮,盒子会自动重启;

    + + +

    然后我们用双公头USB线连接盒子和电脑(盒子上使用靠近HDMI的USB口),电脑上安装USB_Burning_Tool软件,并导入.img烧录包,软件右边将"擦出flash"打勾,其余不打勾,然后点击"开始"按钮;

    + + +

    接着我们运行"盒子进入刷机模式"脚本,windows会自动发现新设备,
    +USB_Burning_Tool会自动开始刷机;

    + + +

    等提示刷机完成之后,我们点击"停止"按钮,然后断开USB连接,重新插拔盒子电源线;

    + + +

    盒子第一次启动大约需要1-2分钟时间,请耐心等待,之后我们就会进去刷好的Android系统了,我们可以选择"当贝桌面"作为默认桌面软件,在当贝市场中可以随意下载自己喜欢的APP,具体的操作我就不细说了,和其他盒子类似。

    + + +

    最后强调一下,盒子不带遥控器,我们可以在淘宝上购买20块包邮的高仿小米的蓝牙遥控器,也可以购买斐讯T1的原装遥控器,当然也可以直接使用无线鼠标操作。

    + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/59730.html b/posts/59730.html new file mode 100644 index 0000000000..913be6f7ba --- /dev/null +++ b/posts/59730.html @@ -0,0 +1,537 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用VScode编辑Markdown文章 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用VScode编辑Markdown文章 +

    + + +
    + + + + +

    +

    下载安装Microsoft Visual Studio Code安装包(以下简称VScode)

    +

    下载地址:

    +
    1
    https://code.visualstudio.com/
    +

    设置显示语言为中文

    +

    软件安装完成之后默认语言是英文,我们在主界面同时按下ctrl+shift+P三个按键,输入configure display language,点击安装其他语言,然后下载安装简体中文包,安装完成之后即可启用切换到中文界面。

    +

    新建MarkDown格式文件

    +

    新建文件,格式选择MarkDwon即可创建MarkDwon格式的文件。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/60215.html b/posts/60215.html new file mode 100644 index 0000000000..964d160f6e --- /dev/null +++ b/posts/60215.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +树莓派安装nodejs及npm环境 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 树莓派安装nodejs及npm环境 +

    + + +
    + + + + +

    我们以nodev6.10.3版本为例进行安装,最新的版本可以参阅nodejs官网(http://nodejs.org/dist

    +

    先来现在安装包

    +
    wget http://nodejs.org/dist/v6.10.3/node-v6.10.3.tar.gz
    +
    +

    然后将下载好的安装包解压

    +
    tar -xzf node-v6.10.3.tar.gz
    +
    +

    打开解压好的文件夹进行编译

    +
    cd node-v6.10.3
    +./configure
    +make
    +
    +

    编译过程需要一段时间,请耐心等待。编译完成之后我们就可以进行安装了。

    +
    sudo make install
    +
    +

    安装完成之后我们重启一下树莓派。

    +
    sudo reboot
    +
    +

    重启之后我们可以用下面命令查看nodejs以及npm的版本。

    +
    node -v
    +npm -v
    +
    +

    如果有正确的版本返回,则安装成功。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/6049.html b/posts/6049.html new file mode 100644 index 0000000000..cee7e5c744 --- /dev/null +++ b/posts/6049.html @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +【3-29更新】如何将鸿雁8340插排接入HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 【3-29更新】如何将鸿雁8340插排接入HomeAssistant +

    + + +
    + + + + +

    timg-1-1.jpg

    +

    鸿雁的8340系列插排(包括8340B及8340J)是一款WIFI四孔位智能插排,有一个实体按键,可控制总开总关。使用APP绑定之后四个孔位可以独立控制开关。

    +

    将其接入HomeAssistant系统之后,不仅可以分控四个孔位,还可以实现更多的自动化。话不多说,一起跟我来设置。

    +

    首先请确保插排已根据说明接入到了WIFI,并记录下插排的IP地址及MAC地址备用。

    +

    由于官方暂时没有收录该插排,我们需要手动上传插件,将broadlink_mp1.py上传到HomeAssistant配置文件夹下的/cutom_components/switch目录下。如果没有请手动创建。

    +

    截止我们在configuration.yaml文件中加入以下配置文件

    +
    `switch:
    +  - platform: broadlink_mp1  ####不可更改####
    +    host: 192.168.1.195  ####插排的IP地址####
    +    mac: '34:EA:34:C7:19:15'   ####插排的MAC地址####
    +    friendly_name: "Broadlink MP1"   ####填写你喜欢的名字####
    +    alias:
    +      s1: device1   ####给每一个插孔起个名字####
    +      s2: device2
    +      s3: device3
    +      s4: device4 `
    +

    添加完成之后重启系统即可。

    +

    +

    插件下载地址:

    + +

    目前官方已正式支持该设备,直接在configuration.yaml添加以下字段即可。

    + + +
    switch:
    +  - platform: broadlink
    +    host: !secret hongyan1
    +    mac: '34:EA:34:C7:19:15'
    +    type: mp1
    +    friendly_name: "Broadlink MP1"
    +    slots:
    +      slot_1: 'device1'
    +      slot_2: 'device2'
    +      slot_3: 'device3'
    +      slot_4: 'device4' 
    +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/60877.html b/posts/60877.html new file mode 100644 index 0000000000..de0b24c1c3 --- /dev/null +++ b/posts/60877.html @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +推荐好友使用OneDrive,免费获得扩容奖励 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 推荐好友使用OneDrive,免费获得扩容奖励 +

    + + +
    + + + + +

    OneDrive是微软推出得一款免费云盘服务,之前叫做Skydrive。不同于Google Drive以及百度云盘,OneDrive可以和最新得Windows10操作系统深度集成,只需在Windows10系统中登陆你得微软账户,即可实时同步,非常适合Windows用户来同步和备份一些重要的数据,而且OneDrive的各项功能目前在国内可以正常使用。

    +

    微软提供为OneDrive免费账户提供15GB得存储空间,如果你觉得空间不够用微软也推出了收费扩容服务,价格如下:

    +

    TIM截图20181204140905.jpg

    +

    除了与office打包,单独购买50GB的空间每月需要15块钱。

    +

    如果你和我一样,舍不得花钱,但又觉得15GB不够用,那你可以邀请好友来注册激活OneDrive服务,成功邀请一位好友,你和你的好友都可获得0.5GB的扩容,最多可获得10GB的扩容空间,也就是说,你成功邀请了20位好友注册激活OneDrive,你的存储空间就会升级到25GB。
    +TIM截图20181204141234.jpg

    +

    下面是我的邀请链接,还没有注册OneDrive的的朋友点击一下链接,你和我都会另外获得0.5GB的扩容哦!

    +

    https://onedrive.live.com?invref=2201fc6079f823f2&invscr=90

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/60919.html b/posts/60919.html new file mode 100644 index 0000000000..588cdaf54a --- /dev/null +++ b/posts/60919.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用Alist来同步Obsidian项目 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用Alist来同步Obsidian项目 +

    + + +
    + + + + +

    想要多终端同时处理Obisdian怎么搞,可以借助三方插件remotely save配合alist的webdav协议来将文件存到接入Alist的各种网盘。
    +Alist是一个可以任意接入主流网盘的平台,并且可以通过alist来同步网盘间的文件,并且部署起来也很简单,只需要一条docker命令即可完成。详细的介绍可以直达官网了解Home | AList文档 (nn.ci)

    +

    安装配置插件

    +

    搜索安装并启用三方插件Remotely Save。这个插件支持多种包括亚马逊S3、微软OneDrive等主流网盘,也支持WEBDAV传输协议。我们今天就是要使用webdav协议来同步obisdian项目中的文件。
    +image.png

    + +

    你需要在你家里的NAS或是软路由上搭建了Alist,我的alist是搭建在家里istoreOS路由器上的,并且在公网做了端口转发,这里要确保你的alist可以在外网环境下访问。在如下图的地方填入你的alist地址和用户名密码。
    +image.png

    +

    需要注意的几点

    +

    这里需要注意几点,一个是服务器地址需要https协议,也就是你需要申请并部署SSL证书。如果你只是在电脑客户端使用,http也是可以的,但是在iOS移动端使用,就必须使用https协议。如何申请并部署SSL可自行搜索相关教程,这里不做详细介绍。
    +另一点需要注意的是服务器地址的路径,格式为ip或域名+alist的端口号/dav/同步的文件夹名。例如(https://yourdomain.com:4567/dav/yourfold)
    +插件设置里面还有一个地方需要注意的是“修改远端基文件夹”这个选项,你可以每个终端都设置成不同的,也可以统一设置为一个文件夹,如果你是为了多终端同步,每个终端都要修改成一直的名称。全部设置完成之后,点击下面的检查按钮来确认webdav是否可以正常连接。

    +

    image.png

    +

    插件设置完成之后,左侧菜单栏会出现同步按钮,点击等待同步完成之后可以查看alist的相应文件内是否有同步的文件。
    +image.png
    +在插件基本设置里面也可以设置自动同步时间间隔等等。
    +image.png

    +

    其他客户端的设置都类似,先搜索安装插件,然后进行webdav服务器配置即可。还有一种简便的方法就是在电脑端导出配置链接,然后再导入到其他客户端。
    +

    +

    image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/61790.html b/posts/61790.html new file mode 100644 index 0000000000..b71e159f84 --- /dev/null +++ b/posts/61790.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +在VScode中使用snippets来简化hexo头部matter | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 在VScode中使用snippets来简化hexo头部matter +

    + + +
    + + + + +

    每次写hexo文章的时候都需要手动敲入文章头部的front-matter字段,而且有时候可能会敲错,导致发布失败,那有没有一种简单的方法,输入某个字符就能带出这些内容呢?
    +你别说还真有,在vscode中有一个snippets的功能就可以实现上面的需求,下面跟我来操作吧。

    +

    编辑markdown.json文件

    +

    ctrl+shift+P打开配置搜索框搜索snippets。
    +20220525134538
    +然后搜索markdown编辑markdown.json文件
    +20220525134725
    +在文件中插入以下字段并保存。
    +这里prefix后面的title可以随意替换,之后输入这个词就会带出相应的内容。body里面的字段也可以随意增减。

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    "Generate Hexo blog header": {
    "prefix": "title",
    "body": [
    "---",
    "title: ",
    "date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
    "categories: ",
    "tags:",
    "cover: ",
    "sticky: ",
    "---",
    ],
    "description": "hexo header"
    }
    +

    20220525134901

    +

    编辑settings.json文件

    +

    在vscode中搜索settings.json文件进行编辑。
    +20220525135009
    +插入下面的字段并报错。

    +
    1
    2
    3
    4
    "[markdown]": {
    "editor.wordWrap": "on",
    "editor.quickSuggestions": true
    },
    +

    大功告成

    +

    完成上面设置步骤之后在markdown文件中输入title就可以带出hexo所需的头部matter字段了。
    +20220525135235

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/62297.html b/posts/62297.html new file mode 100644 index 0000000000..585ef67223 --- /dev/null +++ b/posts/62297.html @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖Docker部署CentOS系统 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖Docker部署CentOS系统 +

    + + +
    + + + + +

    下载镜像

    +

    打开群晖的DOcker套件,切换到注册表选项卡,找到Centos,下载,标签选择latest。
    +20220429095414
    +下载完成之后我们可以在映像选项卡中找到它。

    +

    配置环境

    +

    高级设置里面将自动重启打勾。
    +20220429095758
    +切换到存储空间,配置本地文件夹映射到镜像的data文件夹。
    +20220429095914
    +指定一个本地未使用的端口映射到镜像的22端口。
    +20220429100121
    +完成上面设置之后运行容器。

    +

    系统初始化

    +

    进入终端机更新系统:

    +
    1
    yum -y update
    +

    安装所需的软件包:

    +
    1
    yum install vim openssl openssh-server net-tools initscripts passwd -y
    +

    如果你在运行上面的更新命令时报错,需要依次执行下方命令:

    +
    1
    2
    3
    cd /etc/yum.repos.d/
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    +

    设置SSH连接

    +

    创建SSH key

    +
    1
    2
    3
    4
    5
    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' 

    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    +

    UsePAM yes 改为 UsePAM no

    +

    修改ssh_config

    +
    1
    vim /etc/ssh/sshd_config
    +

    UsePAM yes 改为 UsePAM no

    +

    启动ssh

    +
    1
    2
    /usr/sbin/sshd -D &
    echo "/usr/sbin/sshd -D &" >> /etc/rc.local 添加到开机启动,就不用每次重启后运行了
    +

    修改root密码

    +
    1
    passwd root
    +

    使用第三方SSH工具登录

    +

    设置完成之后我们可以使用其他第三方SSH工具来登录到我们的CentOS系统,比如Putty。
    +输入主机IP,SSH端口为我们映射的端口号,用户名root,密码时我们上一步修改的密码。
    +20220429135856

    +

    收工

    +

    至此我们就完成了在群晖Docker上安装部署CentOS的过程,接下来我们就可以用SSH工具在我们搭建的CentOS上部署各种服务了
    +。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/62343.html b/posts/62343.html new file mode 100644 index 0000000000..41a56eeb87 --- /dev/null +++ b/posts/62343.html @@ -0,0 +1,535 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +如何获取阿里云盘的refresh_token | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 如何获取阿里云盘的refresh_token +

    + + +
    + + + + +

    访问阿里云盘网页版,成功登录之后,按下F12,打开开发者模式,按照下图获取refresh_token。
    +
    +获取到这个token之后我们就可以在各种阿里云盘的WEBDAV服务中使用这个token来开启阿里云盘的WEBDAV服务了。
    +自动获取:
    +登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).refresh_token

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/63379.html b/posts/63379.html new file mode 100644 index 0000000000..fa4cd9b9dc --- /dev/null +++ b/posts/63379.html @@ -0,0 +1,573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +爱普生L3250系列通过docker支持Airprint打印 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 爱普生L3250系列通过docker支持Airprint打印 +

    + + +
    + + + + +

    最近入手了一台爱普生的L3251彩色喷墨打印机,可以连WIFI实现网络共享,但有点遗憾的是机器原生并不支持苹果的Airprint协议,也就是无法通过iOS设备直接打印,但是官方提供了一款名为“Epson Smart Panel”的软件,在该软件中配置好打印机之后,可以直接通过该软件打印照片或文档等内容,也可以在相册中选择需要打印的图片,点击共享按钮,选择“使用epson打印”,系统可以直接跳到该软件,完成打印任务,如果你在共享中直接选择系统自带的打印服务,是发现不了打印机的。

    + +

    20240225172222
    +虽然这样也可以完成手机端的打印操作,但始终没有类似于airprint那样的丝滑和简洁。下面我们来通过在docker中创建cups容器来让机器支持airprint协议。
    +首先说下我现在的设备情况及网络环境,打印机已经通过wifi接入到了家里的网络中,并且获取到了ip地址,另外我家里有一台斐讯N1,刷了F大的openwrt系统用作旁路由,并且系统内置了docker环境。
    +首先我们浏览器登录打印机获取到的IP地址,选择高级设置。
    +20240225171145
    +登录密码是我们的机器序列号,可以在机身上的标签中找到。
    +依次进入services-protocol,然后在右边找到ipp地址并复制出来备用。
    +20240225171309
    +由于N1是基于arm架构的主机,而非我们常用的x86,所以常规的cups容器是无法在N1上运行的,我们需要找到基于arm架构编译的cups容器。
    +运行下面的命令,拉取并运行容器:

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    docker run \
    --name=cups \
    --restart=always \
    --net=host \
    -v /var/run/dbus:/var/run/dbus \
    -v ~/airprint_data/config:/config \
    -v ~/airprint_data/services:/services \
    -e CUPSADMIN='admin' \
    -e CUPSPASSWORD='password' \
    jysky007/cups:v1
    +

    确保该容器已正常运行,登录N1的ip地址加端口631,进入cups主页面。用户名密码为admin和password。
    +20240225170901
    +点击添加打印机。
    +20240225170940
    +选择ipp协议然后继续。
    +20240225171030
    +输入我们之前复制出来的ipp地址,打印机制造商选EPSON,型号选择如图所示的325,然后添加打印机。
    +20240225171628
    +添加完成之后我们切换到Prints页面,找到刚才添加的打印机,然后打印测试页试一下是否可以正常打印。
    +20240225171743
    +如果打印测试页正常之后,我们回到手机上点打印,然后就可以发现我们添加的打印机了,设置好打印参数之后,直接打印就可以了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/63397.html b/posts/63397.html new file mode 100644 index 0000000000..697f96fd3f --- /dev/null +++ b/posts/63397.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +如何快速备份和还原padavan路由器的系统设置及脚本 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 如何快速备份和还原padavan路由器的系统设置及脚本 +

    + + +
    + + + + +

    之前家里用的主路由器是刷了Padavan固件的联想NEWIFI Y1S,前几天在闲鱼上收了一台NEWIFI 3,想着把主路由换成NEWIFI3,但是想想换了新路由之后还要重新设置宽带连接账号、内网IP地址绑定、SS、DNSPOD、端口转发、DMZ等等一大堆的操作,感觉好头疼。所以更换路由器的工作就拖了下来,等找到宽裕点的时间再换。

    +

    就在昨天我更新路由器固件版本的时候,突然发现Padavan居然可以一键导出配置及脚本,顿时豁然开朗,这不正好解决了我的痛点?

    +

    如果你和我一样要更换路由器,碰巧新旧路由器都是padavan系统,跟着我的步骤一起来操作吧,可以实现路由器无痛升级。

    +

    1.如何备份

    +

    TIM截图20181228171704.jpg

    +

    进入旧路由器的管理页面,依次进入【高级设置】-【系统管理】-【恢复/导出/上传设置】,将设置的备份及脚本的备份下载到本地电脑上。

    +

    TIM截图20181228191927.png

    +

    2.如何恢复

    +

    和上面的步骤一样,将下载到本地的备份上传到路由器,然后保存设置就可以。

    +

    操作完成之后,旧路由器的所有设置和脚本都会导入到新路由器中,包括LAN口地址、管理员账户密码、宽带连接账号密码、局域网IP地址表、SS、DNSPOD等等。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/63727.html b/posts/63727.html new file mode 100644 index 0000000000..ba33fa3380 --- /dev/null +++ b/posts/63727.html @@ -0,0 +1,532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +HomeAssistant升级到了2024.10.4 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + HomeAssistant升级到了2024.10.4 +

    + + +
    + + + + +

    没错,2024年11月4日,我将家里HomeAssistant的版本升级到了2024.10.4-截止到目前的最新版本。
    +目前在用的是2024.9.1的版本,使用了近两个月的时间,很稳定,很少重启。时隔一个月才升级到新版本,主要还是觉得智能家居系统这一块,稳定是最重要的,如果没有特别大的功能改动或异常BUG,我现在是不会在第一时间升级到新版本的。
    +我的HA是在docker环境下运行的,跑在刷了iStoreOS的N1盒子上,由于盒子是arm架构的,所以拉取镜像的时候需要选择homeassistant/aarch64-homeassistant这个镜像,而这个镜像的latest有问题,所以每次拉取镜像的时候需要手动加上版本号,例如homeassistant/aarch64-homeassistant:2024.10.4。
    +该版本具体更新了哪些可以参与HA官网文档2024.10: Heading in the right direction - Home Assistant

    +

    简单说一下我的更新步骤:
    +1.拉取新版本docker镜像;
    +2.复制旧版本容器,然后选择新版本的docker镜像,创建新容器,其他设置保持不变;
    +image.png
    +3.停止旧版本容器,启动新版本容器。
    +image.png
    +4.确认新容器启动正常无报错。
    +通常我会保留旧版容器3-5天,确认新版本一切正常之后再手动删除。如果期间新容器有异常,还可以随时退回到旧版本。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/64128.html b/posts/64128.html new file mode 100644 index 0000000000..980434afc0 --- /dev/null +++ b/posts/64128.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +谷歌云的防火墙设置 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 谷歌云的防火墙设置 +

    + + +
    + + + + +

    大家在搭建了酸酸乳服务器之后,在客户端中填好信息之后会发现连接不上,其实是谷歌云的防火墙在作怪,谷歌云为了安全,默认只开启了80、433等常用的端口,而我们酸酸乳使用到的端口并没有被开启,所以我们需要手动配置一下。

    +

    首先进入谷歌云的控制台,在左边的菜单中依次选择VPC网络—防火墙规则,然后点击上面的"创建防火墙规则"按钮来创建一条,设置如下图所示

    +

    TIM截图20180419143303.png

    +

    需要注意的几个地方:

    +

    1.名称可以随意写;

    +

    2.来源IP地址范围必须写成 0.0.0.0/0

    +

    3.目标选择"网络中的所有实例"

    +

    4.协议和端口部分,可以设置成全部允许,这样的话所有的端口都会通过防火墙,以后安装其他服务就不用重复设置防火墙了,也可以设置成指定的协议和端口,比如你酸酸乳的端口是1234,可以写成 tcp:1234;udp1234 的格式。

    +

    设置完成之后点击"创建"按钮来保存,这样谷歌云的防火墙就设置好了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/6420.html b/posts/6420.html new file mode 100644 index 0000000000..e6f7216d9e --- /dev/null +++ b/posts/6420.html @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +魔改版picgo体验-piclist | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 魔改版picgo体验-piclist +

    + + +
    + + + + +

    引言

    +

    今天想着在图片上加水印,然后去看了picgo的插件。找到两个水印插件,设置完成之后一上传图片picgo程序就会闪退,不知道是不是个例。看了下插件已经3年没更新了,可能和新版的picgo不太兼容。然后在picgo的github讨论区看到有人推荐piclist。
    +piclist是在picgo的基础上进行二次开发的图片上传工具。完整保留了picgo的全部功能,而且增加了更多细致化的设置选项,并且原生支持文字或图片水印,无需安装三方插件。
    +按下图所示,安装完piclist后设置页面会有一键从picgo迁移配置的选项,可以导入在picgo的基本上所有设置项目,无需重复进行配置。
    +piclist1.png

    +

    另外设置页面可供自定义的选项也比picgo要多,可以满足更多人的需求。在图片上传设置里面可以设置水印信息。如果要添加图片水印,路径要填入计算机本地的路径,填入互联网地址不生效。

    + +

    piclist2.png

    +

    另外obsidian的 image upload plugin插件还支持piclist的删除接口,可以在obsidian里面直接删除piclist里面的图片。
    +piclist3.png

    +

    当然piclist也支持mac平台安装,并且还有与vscode配套使用的插件- VS-PicList。至于稳定性如何,需要交给时间来检验了。
    +image.png

    +

    后记

    +

    本文的配图使用的就是piclist上传的,并且添加了水印。

    +

    引用

    +

    PicList/README_cn.md at dev · Kuingsmile/PicList (github.com)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/6425.html b/posts/6425.html new file mode 100644 index 0000000000..6c5b13d313 --- /dev/null +++ b/posts/6425.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +庆余年第二季全36集1080pBT下载种子 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 庆余年第二季全36集1080pBT下载种子 +

    + + +
    + + + + +

    20240605104448
    +该剧改编自猫腻同名畅销小说,承接上季,范闲(张若昀 饰)率领使团回归途中,二皇子以费介、范思辙以及滕家遗孤的安危来威胁范闲,逼他向自己俯首称臣,二人的矛盾就此激发。范闲所面对的抱月楼迷局,以及接踵而至的春闱危机,都是二皇子精心给范闲布下的陷阱。

    +

    范闲与林婉儿如愿大婚,紧接着,范闲接手内库,却发现内库负债累累。 范闲拒绝了庆余堂大掌柜的相助,决定靠自己的力量解决内库危机,范闲相约城中众商贾相聚苍山,以售卖“库债”为机筹集了两千多万银两,解决了内库空虚问题。

    +

    悬空寺上,庆帝遭遇三连刺杀,范闲出手相救却导致武功全废。危机四伏,压力陡增,范闲别无选择,他必须以这样的身体下江南,挑战庞大的势力与既定的游戏规则,以求彻底夺回内库。

    +

    种子链接

    +

    https://1827552651-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzyeXCfWDMCUsuUrT3Z6v%2Fuploads%2FNPmNxNXaUFnXoGjSbn9q%2F庆余年.第二季.Joy.of.Life.S02.2024.Chinese.EP01-36.Complete.1080P.Disney.WEB-DL.H265.DDP2.0-Vampire.torrent?alt=media&token=ed8dcd91-4a8e-47bd-aad5-1502043e6dfe

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/64365.html b/posts/64365.html new file mode 100644 index 0000000000..25b48c7e24 --- /dev/null +++ b/posts/64365.html @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Mac加量不加价-全线产品16+256起步,维持原价 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Mac加量不加价-全线产品16+256起步,维持原价 +

    + + +
    + + + + +

    image.png

    +

    随着昨晚新款Macbook Pro的发布,苹果已经调整了全系Mac系列内存的起步容量,由原先的最低8GB起步升级为16GB起步,包括在售搭载M2和M3处理器的Macbook Air和Pro,最低配置已经升级到了16GB+256GB的配置,而且售价还维持原来的不变。官网也大方暗示,内存升级到16GB起步是为即将到来的苹果AI智能做准备。
    +image.png
    +最近有购买Mac需求的小伙伴可以入手了,旧款Macbook的性价比瞬间拉满。😊

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/64780.html b/posts/64780.html new file mode 100644 index 0000000000..814bbe2b00 --- /dev/null +++ b/posts/64780.html @@ -0,0 +1,570 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +docker环境中安装mqtt服务器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + docker环境中安装mqtt服务器 +

    + + +
    + + + + +

    和上次一样,用putty登录NAS。

    +
    sudo -i
    +
    +

    切换到root账户,然后拉取mqtt镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/ncarlier/mqtt
    +
    +

    然后进入docker中的映像,选择刚刚下载好的mqtt映像,点击启动。

    +

    TIM截图20180422215859.png

    +

    容器名称随便写。
    +TIM截图20180422214120.png

    +

    在弹出的窗口中选择"高级选项",然后选择"网络",在"使用与docker host相同的网络"前打钩,

    +

    TIM截图20180422214341.png

    +

    之后切换到"环境"选项卡,添加两个变量:

    +

    可变:PATH 值:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    +可变:DEBIAN_FRONTEND 值:noninteractive

    +

    TIM截图20180422214711.png

    +

    之后点击应用,一路完成。

    +

    接着我们来创建mqtt的用户名和密码。

    +

    转到容器选项卡,并启动刚创建的容器,切换到"终端机"。

    +

    如下图所示,新建一个命令。

    +

    TIM截图20180422215103.png

    +

    然后输入mosquitto_passwd -c pwfile.example pi (此处将pi改为你想创建的用户名)
    +TIM截图20180422215153.png

    +

    点击确认之后,在左边切换到mosquitto_passwd,输入两次密码。

    +

    TIM截图20180422215242.png

    +

    这样,我们就创建了一个名为pi的mqtt用户,并为其设置了密码。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/64809.html b/posts/64809.html new file mode 100644 index 0000000000..b0f7d41e80 --- /dev/null +++ b/posts/64809.html @@ -0,0 +1,559 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +使用openwrt的docker容器来运行mqtt服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 使用openwrt的docker容器来运行mqtt服务 +

    + + +
    + + + + +

    putty登录主机
    +拉取镜像

    +
    1
    docker pull eclipse-mosquitto
    +

    新建配置文件夹
    +下面的文件夹路径根据你自己设备的实际情况做相应的更改

    +
    1
    2
    3
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/config
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/data
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/log
    +

    新建配置文件

    +
    1
    nano /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf
    +

    复制下面的内容,然后保存。

    +
    1
    2
    3
    4
    5
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous true
    +

    文件夹赋予权限

    +
    1
    2
    chmod -R 755 /mnt/mmcblk2p4/docker/mqtt
    chmod -R 777 /mnt/mmcblk2p4/docker/mqtt/log
    +

    运行容器

    +
    1
    docker run -it --name=mosquitto --privileged  -p 1883:1883 -p 9001:9001 -v /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /mnt/mmcblk2p4/docker/mqtt/data:/mosquitto/data -v /mnt/mmcblk2p4/docker/mqtt/log:/mosquitto/log -d  eclipse-mosquitto 
    +

    目前可以使用IP加1883端口直接连接mqtt服务器,无需使用用户名密码登录。
    +如果需要设置用户名密码,则需要在mosquitto.conf文件中将allow_anonymous true字段改成fasle,然后声明密码文件保存路径。详细配置参考下面:

    +
    1
    2
    3
    4
    5
    6
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous false
    password_file /mosquitto/config/pwfile.conf
    +

    找到容器的id并将下面命令行中的id字段进行替换

    +
    1
    docker ps 
    +

    进入到容器中

    +
    1
    docker exec -it id sh 
    +

    运行下面的命令创建用户和密码。

    +
    1
    mosquitto_passwd /mosquitto/config/pwfile.conf mqtt
    +

    完成之后ctrl+p ctrl+q保存退出。
    +重启docker容器

    +
    1
    docker restart id
    +

    之后就可以使用设置的用户名和密码连接mqtt服务器了。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/65048.html b/posts/65048.html new file mode 100644 index 0000000000..04fcce02f0 --- /dev/null +++ b/posts/65048.html @@ -0,0 +1,544 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +华为AX3 WS7100路由器接入HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 华为AX3 WS7100路由器接入HomeAssistant +

    + + +
    + + + + +

    使用华为的AX3路由器已经快三年的时间了,一直没有适合的插件将其接入HomeAssistant当中,中间还用了一段时间的小米路由器。
    +最近在github上闲逛的时候发现有大神已经开发出了相应的插件,接入到HA之后不仅可以实现device_tracker设备跟踪,还可以实现一键重启路由的功能。废话不多,直接放出作者的github地址
    +https://github.com/vmakeev/huawei_mesh_router
    +下载下来放到ha的custom_compents文件夹中,之后在界面中搜索Huawei Mesh Router即可进行配置。如果你装了HACS商店,在里面直接搜索安装更方便。
    +20230213103412
    +填入路由器地址、密码即可完成配置,配置完成之后就可以看到相关设备实体了。
    +20230213103507
    +下面是插件自带的可供使用的开关和传感器
    +20230213103600
    +我用了一段时间,插件运行很稳定。如果你在使用中发现bug可以在作者的github主页提交issues。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/6776.html b/posts/6776.html new file mode 100644 index 0000000000..d3731f05b4 --- /dev/null +++ b/posts/6776.html @@ -0,0 +1,559 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Alist套娃小雅操作指南 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + Alist套娃小雅操作指南 +

    + + +
    + + + + +

    虽然小雅也是基于Alist的docker容器,但它是相对独立的,并且阉割也许多Alist的功能,无法像Alist那样和其他网盘进行文件复制。那有没有一种可能将小雅容器接入Alist呢,让小雅里面的资源也能轻松复制到其他网盘中?
    +今天咱们来搞小雅套娃操作,也就是将小雅接入到完整的Alist平台,将小雅中的资源转存到接入Alist的其他网盘中去。

    +

    前提

    +

    正常运行的小雅容器和Alist容器。

    +

    获取小雅链接令牌

    +

    使用ssh工具登录到小雅的宿主机。
    +运行以下命令:

    +
    1
    2
    3
    docker exec -i xiaoya sqlite3 data/data.db << EOF
    select value from x_setting_items where key = "token";
    EOF
    +
    +

    将命令中的xiaoya替换为你实际小雅容器的名称。

    +
    + +

    执行完成之后会命令框会显示alist-开头的一串令牌,将其复制保存,随后会用到。
    +image.png

    +

    在Alist中添加存储

    +

    登录到Alist管理页面,添加一个存储,驱动选择Alist V3,挂载路径自己输入,例如/xiaoya。链接填入小雅的地址加端口。

    +

    image.png
    +在令牌处填入复制的小雅令牌,然后保存。
    +image.png
    +回到存储列表查看刚才添加的小雅存储状态是否为work。
    +image.png

    +

    回到Alist主页就可以看到小雅里面的文件了,现在就可以把里面的文件复制到你已经挂载到Alist的其他网盘了。
    +image.png

    +

    后记

    +

    需要注意的是,在Alist中添加了小雅之后可以从小雅复制文件到其他网盘,但是无法将文件复制到小雅里面,也无法删除小雅里面的文件,也就是只具有只读权限。
    +如果后期升级或重新部署了小雅容器,需要重新获取令牌。

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7079.html b/posts/7079.html new file mode 100644 index 0000000000..ee67c66e7c --- /dev/null +++ b/posts/7079.html @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +群晖搭建wordpress外网测试 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 群晖搭建wordpress外网测试 +

    + + +
    + + + + +
    +

    测试外网访问,文章发布,附件上传功能是否正常。

    + + +
    ![](cNcuPEE.png)
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7119.html b/posts/7119.html new file mode 100644 index 0000000000..a7ce610f39 --- /dev/null +++ b/posts/7119.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +N1重装OPENWRT升级Homeassistant版本 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + N1重装OPENWRT升级Homeassistant版本 +

    + + +
    + + + + +

    现在我使用的HomeAssistant是用Docker跑在OPENWRT系统上的,目前版本是2021.12.5,之前尝试过直接拉取Dcoker镜像来升级,但是提示空间不足报错,后来就一直没有理他,运行了大半年还算稳定。今天打开HA官网看到最新版本已经更新到了2022.5.5版本了,所以是时候来一次升级操作了。
    +本周末的任务就是升级我的HomeAssistant系统到最新的2022.5.5版本。
    +如果不能直接升级,就只能备份现有的配置,然后删除容器,重新部署了。
    +2022-5-22更新:
    +今天抽时间试着做了更新操作,不出意外,还是由于空间不足,在拉取最新docker镜像的时候报错了。
    +所以只能重新安装openwrt,然后再拉取镜像操作。
    +下载了F大5月9日编译的最新openwrt固件,写入U盘镜像。
    +
    +从U盘启动openwrt系统,执行命令将系统安装到N1的emmc上。

    +
    1
    cd  /root   &&   ./install-to-emmc.sh
    +

    将N1盒子用网线和电脑直连,电脑设置为192.168.1的网段,进入openwrt的WEB界面修改LAN口地址为你网络环境的网段,保存设置之后将设备接入你的网络中。
    +
    +如果和我一样作为旁路由来使用,还需要关闭LAN口的DHCP功能。
    +
    +用putty登录到openwrt系统,执行下面的命令来拉取镜像和运行容器。

    +
    1
    docker pull homeassistant/aarch64-homeassistant:latest
    +
    1
    docker run -d -v /mnt/mmcblk2p4/docker/homeassisatant/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/aarch64-homeassistant:latest
    +

    一切顺利的话,访问openwrt的地址:8123就会看到最新版本的HomeAssistant系统界面了
    +

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7120.html b/posts/7120.html new file mode 100644 index 0000000000..7f8e395865 --- /dev/null +++ b/posts/7120.html @@ -0,0 +1,535 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +支持DSM6.2Jun'sLoader 1.03b下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 支持DSM6.2Jun'sLoader 1.03b下载 +

    + + +
    + + + + +
    +

    Jun最新的黑群晖引导已升级到了1.03b版本,支持最新的DSM6.2系统。支持3615及3617两个型号。

    + + +

    全新安装应该没有太大问题,稍后我会在现有的6.1系统上进行升级测试。

    + + + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7251.html b/posts/7251.html new file mode 100644 index 0000000000..3262831e13 --- /dev/null +++ b/posts/7251.html @@ -0,0 +1,564 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +多台电脑协作更新HEXO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 多台电脑协作更新HEXO +

    + + +
    + + + + +

    家里一台电脑,单位一台电脑,如何用两台电脑同时对HEXO进行更新呢?

    +

    生成密钥并部署到GitHub

    +

    我们需要在另一台电脑上安装git、node等必要环境,然后选取一个文件夹作为工作文件夹,在这个文件夹下运行git bash命令窗口。

    +
    +

    创建一个新的密钥:

    +
    +
    1
    ssh-keygen -t rsa -C "youremail@example.com"
    +

    在本地用户名文件夹下找到.ssh文件夹,复制里面的id_rsa.pub内容,然后前往GitHub的settings页面,添加一个SSH key,title最好取名为你的电脑名称,然后粘贴刚才复制的公钥的内容。
    +

    + +

    克隆远程仓库文件

    +
    +

    运行下面的命令来克隆GitHub仓库里面的文件:

    +
    +
    1
    git clone git@github.com:miaoyanginfo/hexo-action.git
    +

    命令完成之后我们进入文件夹内会看到有一个名为“hexo-action”的文件夹,这个文件夹里面包括我们远程仓库里的所有文件,我们可以在这个文件夹里面更新文件。

    +

    推送到GitHub

    +
    +

    当我们做完相应的更新之后,运行常规push命令就能直接将更新推送到GitHub了。

    +
    +
    1
    2
    3
    git add .
    git commit -m ""
    git push
    +

    另一台电脑如何操作

    +

    当我们在原先那台电脑上工作时,本地代码和远程的代码发生了不一致,为了保持同步,所以需要将GitHub仓库中的代码同步到电脑上。

    +
    +

    从远程的origin的main主分支下载最新的版本到origin/master分支上:

    +
    +
    1
    git fetch origin main
    +
    +

    然后比较本地的master分支和origin/master分支的差别:

    +
    +
    1
    git log -p master..origin/master
    +
    +

    最后进行合并:

    +
    +
    1
    git merge origin/master
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7421.html b/posts/7421.html new file mode 100644 index 0000000000..6568647919 --- /dev/null +++ b/posts/7421.html @@ -0,0 +1,539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +多模网关升级最新版后接入homeassistant 出现telnet报错的解决方法 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 多模网关升级最新版后接入homeassistant 出现telnet报错的解决方法 +

    + + +
    + + + + +

    在用的小米多模网关2在升级到最新的v1.0.7_0019后,在homeassistant使用XiaomiGateway3接入时会有telnet_wrong的报错信息,导致接入网关的设备无法正常在homeassistant正常使用。原因是小米在最新的固件里封堵了telnet入口,导致插件无法正常获取到网关的key字段。

    + +

    在插件作者的Github里面找到了暂时解决方法如下:
    +如果你之前已经将网关接入过homeassistant,会在~/config/.storage/xiaomi_gateway3文件夹内生成一个key.json文件,该文件内存储着我们需要用到的key字段,将该字段复制出来。在homessistant前端按照之前的步骤添加网关,然后在下图的位置将key粘贴过来就可以完成接入了。
    +20231114151859
    +还需要注意的是,需要将XiaomiGateway插件版本升级到最新的v3.3.4。
    +Github插件主页:https://github.com/AlexxIT/XiaomiGateway3

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/7811.html b/posts/7811.html new file mode 100644 index 0000000000..edb36f6e36 --- /dev/null +++ b/posts/7811.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +serv00安装PM2守护程序及应用保活测试 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + serv00安装PM2守护程序及应用保活测试 +

    + + +
    + + + + +

    楔子

    +

    之前在serv00上部署了Alist服务,当时使用的是screen来后台运行alist进程。
    +经过两天使用发现,前一天服务正常,到第二天早上的时候服务就被停止了,而且也找不到screen进程,就算是在管理面板添加了cron jobs也不起作用。除非再次手动执行启动命令,任务才会启动。
    +网上搜到有人使用PM2来守护进程,今天我也试着安装了,具体效果怎么样,还需要一段时间来检验。

    +

    一键安装脚本

    +
    1
    bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
    +

    Alist任务运行脚本

    +
    1
    cd /home/ycycwin/domains/pan.ycyc.win/alist && pm2 start ./alist -- server ~/domains/pan.ycyc.win/alist
    +
    +

    注意替换脚本内相关用户名和域名。

    +
    +

    最后将上面的运行脚本添加到面板中的cron jobs中,等到明天看下效果如何。

    +

    当然你要是只用serv00来做简单的网页服务器,不搞这些奇怪应用的话,还是很稳定的。😅

    +

    次日更新

    +

    今天早上应用进程还是没启动,难道是serv00连自己的cron job也不执行?可惜无法看到重启后脚本是否执行了。
    +换了一个启动方法试一下,将现有pm2进程保存,然后再恢复。

    +
    1
    2
    pm2 save
    pm2 resurrect
    +

    corn jobs 里面直接运行pm2 resurrect ,设置频率为每小时运行。明天再观察下效果如何。
    +image.png

    +

    再次更新

    +

    又失败了,给我的感觉好像是这个cron job根本没有执行。
    +于是我写了一个脚本,准备使用青龙面板来定时登录ssh,然后执行 pm2 resurrect,每小时执行一次。目前看上去脚本执行是没问题的。具体效果再观察看下。

    +

    image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/9027.html b/posts/9027.html new file mode 100644 index 0000000000..e0081e07a9 --- /dev/null +++ b/posts/9027.html @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +docker运行阿里云盘webdav服务 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + docker运行阿里云盘webdav服务 +

    + + +
    + + + + +

    20220719161804
    +之前一直在使用L大openwrt中自带的阿里云盘webdav插件来,但最近发下插件老是运行报错,所以决定直接在openwrt的docker中跑阿里云盘webdav服务。
    +方法也很简单,直接在docker中运行下面命令就可以了

    +
    1
    2
    3
    4
    5
    6
    docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 2345:8080 \
    -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
    -e REFRESH_TOKEN='token' \
    -e WEBDAV_AUTH_USER=username \
    -e WEBDAV_AUTH_PASSWORD=password\
    messense/aliyundrive-webdav
    +

    备注:
    +1.2345为docker主机映射的端口,可以任意修改。
    +2.username为你的阿里云盘登录用户名。
    +3.password为你的阿里云盘登录密码。
    +4.如何获取阿里云盘的token请参考另一篇文章(https://miaoyanginfo.github.io/2022/05/22/15获取阿里云盘refreshtoken/)

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/9909.html b/posts/9909.html new file mode 100644 index 0000000000..540822a737 --- /dev/null +++ b/posts/9909.html @@ -0,0 +1,520 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +收到版权投诉,决定停止视频站点运营 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + + +
    +

    + 收到版权投诉,决定停止视频站点运营 +

    + + +
    + + + + +

    刚才收到Cloudflare的邮件,渊澄视频有个页面被TVB投诉侵权。所以决定从即日起永久关掉站点访问。希望大家支持正版。
    +image.png

    + +
    + + + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/search.xml b/search.xml new file mode 100644 index 0000000000..fe4348ba4f --- /dev/null +++ b/search.xml @@ -0,0 +1,5028 @@ + + + + Openwrt旁路由Adguard设置参考 + /posts/40723.html + 登录Adguard home界面,需要修改的有两个地方,一个是DNS上游服务器,一个是Bootstrap DNS 服务器。

    +

    下面是我填的DNS上游服务器地址,仅供参考。

    + +
    223.5.5.5
    114.114.114.114
    8.8.8.8
    8.8.4.4
    101.226.4.6
    120.196.165.24
    tls://dot.360.cn
    https://dns10.quad9.net/dns-query
    https://dns.google/dns-query
    https://doh.360.cn/dns-query
    https://doh-jp.blahdns.com/dns-query
    https://dns.alidns.com/dns-query
    tls://dns.alidns.com
    tls://dns.google
    tls://1dot1dot1dot1.cloudflare-dns.com
    +

    然后在并行请求之前打勾。
    +Bootstrap DNS 服务器需要填入你本地运营商提供的DNS地址,下面是我填入的地址,也是仅供参考。

    +
    202.99.216.113
    202.97.131.178
    114.114.114.114
    8.8.8.8
    8.8.4.4
    +

    另外黑名单DNS列表里面推荐几个订阅。

    +
    https://github.com/xinggsf/Adblock-Plus-Rule/blob/master/rule.txt
    https://github.com/xinggsf/Adblock-Plus-Rule/blob/master/mv.txt
    https://adguardteam.github.io/HostlistsRegistry/assets/filter_29.txt
    https://adguardteam.github.io/HostlistsRegistry/assets/filter_21.txt
    https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt

    +

    下图是我使用了差不多半天时间的统计信息。
    +20230314105521

    +]]>
    + + 网络 + + + adguard + openwrt + 广告 + +
    + + openwrt旁路由连主路由WIFI无法上网问题处理 + /posts/39032.html + 引言 +

    前两天在家里上网发现一个问题,手机设置了静态IP地址,网关和DNS都设置成旁路由的地址之后,连接AP发出的SSID可以正常出国和回国,但是连接到主路由发出的SSID之后出国不受影响,浏览国内的站点会出现无法访问的情况。因为我之前一直默认连接的是AP的信号,所以一直没发现问题,直到前天AP断电之后,手机连接到主路由发出的SSID才发现问题,而且不只是手机,笔记本也一样,只要是连接了无线之后都会有问题,但是使用有线连接的设备手动指定网关和DNS之后上网却一切正常。

    + +

    导图1

    +

    解决

    +

    我在恩山和chh发帖求助之后,有很多大神支招,有可能是主路由设置的问题,也有可能是旁路由设置的问题,而恩山上有个网友遇到的问题也和我的类似,巧的是他使用的主路由也是华为的。而华为路由器的管理后台没有太多设置的地方,连LAN的DNS和网关也无法指定。所以要解决问题的话是无法从主路由上下手了,只能在旁路由上做文章。
    +感谢chh@iamyangyi 大神的提醒,我之前在N1防火墙规则中只添加了iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE语句,没有注意到网络接口,把eth0改成br-lan然后再重启防火墙就可以了。
    +2023032201
    +遇到类似问题的朋友可以参考。
    +另外chh大神@hadis99 也提供了一种设置方法,不用添加防火墙规则,开启IP动态伪装也能解决遇到的问题。设置方法如下图
    +2023032202

    +

    其他

    +

    CSDN相关的文章https://blog.csdn.net/qq1337715208/article/details/122271608
    +恩山网友和我类似问题的帖子https://www.right.com.cn/FORUM/thread-5957512-1-1.html
    +我在恩山的帖子https://www.right.com.cn/forum/thread-8281362-1-1.html
    +我在chh的帖子https://www.chiphell.com/thread-2502752-1-1.html

    +]]>
    + + 网络 + + + openwrt + 旁路由 + +
    + + 京东AX1800 pro拆机刷uboot及华硕固件 + /posts/12783.html + 最近入手了一台京东AX1800pro 亚瑟路由器,64GB版本的,算上各种优惠后不到80块钱拿下。
    +到手后看到版本是R2242,按理说应该是是符合网上大神教程里面的免拆刷机版本的,但是按照教程一步一步折腾了好几次之后都没成功,后来回想可能是第一次开机之后在wan口插了网线,连接了互联网,导致被打了补丁所致。于是乎只剩下拆机通过TTL来刷机了。
    +过程倒是挺顺利的。
    +20240904101100
    +首先是将顶部的盖板撬开,拆除里面的两颗螺丝,接着底部的橡胶垫边缘撬起,在六边形的六个角有六颗螺丝,拆掉后就可以将底板拆掉。拆掉之后还有五颗螺丝固定主板的固定支架,拆掉后就可以将主板抽出了。
    +接着在主板TTL接口处焊接三个接线柱,分别是G、T、R三个口,对应CH340G模块的G、R、T,用杜邦线连接好,电脑上装好驱动,用网线连接路由器LAN口和电脑,就可以开始操作了。

    + +

    将uboot.mbn放到tftpd的根目录。刷机过程中保持tftpd软件为开启状态。
    +用putty连接对应的COM口,波特率为115200。
    +通电开启,putty界面按回车键出现IPQ6018命令行,输入

    +
    tftpboot u-boot.mbn

    +

    等待命令执行完再输入

    +
    tftpboot u-boot.mbn && flash 0:APPSBL && flash 0:APPSBL_1
    +

    执行完毕后断开TTL连接然后,重启路由器即可。电脑配置192.168.1网段的IP,浏览器进入192.168.1.1即可上传固件刷机。注意先上传华硕底包,然后进入路由器后台选择固件升级,再上传正式固件即可。
    +uboot及固件下载链接:
    +链接:https://pan.baidu.com/s/1Nt1q3qWMUTlxAurM6av95A?pwd=76ao
    +提取码:76ao

    +]]>
    + + 网络 + + + 京东 + AX1800PRO + 路由器 + 刷机 + 华硕 + 固件 + +
    + + 嘿嘿,ycyc.win + /posts/13691.html + 昨天不是在处理阿里云域名往porkbun转移的事嘛,然后一直联系阿里售后工单也没有进展。今天闲来无事看了看porkbun上的域名价格,看看有啥优惠合适的域名再注册一个。搜了一会发现ycyc.win还没有注册,ycyc寓意渊澄YC,是我儿女的名字,子渊和子澄。而且现在.win域名注册也有优惠,第一年3.56美刀,续费4.98美刀,折合每年35块钱左右,于是一口气注册了10年。最终一共花了35.6美刀,支付宝直接付款,折合人民币254.68元。每年也就20几块钱。😜
    +image.png

    +

    现在已经将域名的NS服务器更改到了cloudflare,也解析到了目前这个站点,现在就可以通过https://ycyc.win 来访问渊澄YC站点了。随后我会将之前miaoyang.win的主要业务陆续切到ycyc.win这个域名来。
    +现在发现拼音状态下输入ycyc出来的词语是阴差阳错😳

    +]]>
    + + 网络 + + + 域名 + 网站 + ycyc + +
    + + 域名从阿里云转移到porkbun记录 + /posts/21876.html + 前言 +

    我现在用的这个域名miaoyang.win是2016年的时候在阿里云注册的,当时.win域名有优惠活动,好像是5元还是10元每年,最多可以一次性注册10年。所以我注册了10年两个.win的域名。
    +好巧不巧,注册了没几年,具体什么时候我忘记了,阿里云被取消了.org、.win、.name等域名的注册管理机构许可,域名被强制转移到了阿里巴巴国际站。 当时想着距离到期时间还长,而且我的域名NS服务器也转移到了cloudflare,所以就没怎么关心续费和转移的事情。
    +现在眼看着马上还有两年就到期了,所以试着去阿里云国际站看看续费的事情,不看不知道,一看吓一跳,不仅续费费用比其他域名注册商要高,一年要6.19美刀,而且在支付的时候还需要添加一张外币信用卡才能付款,中国大陆还不支持paypal。最让人受不了的是居然连自家的支付宝也不支持。。。想想现在许多国外域名主机商都开始支持支付宝直接付款了,阿里云国际站居然不支持自己的支付宝付款。。😠

    + +

    image.png

    +

    好吧,只能使大招了,乾坤大挪移,把域名转移到其他注册商去。

    +

    对比了一下.win域名转移到godaddy需要285块大洋。而转移到porkbun只需要4.29美刀/年,并且也支持支付宝直接付款。
    +image.png

    +

    域名转移流程

    +

    转移第一步是前往原注册商那里获取转移授权码。大部分域名注册商限制新域名必须注册满60天以后才能进行转出操作,当然我这个域名已经注册8年了,不存在这个限制。另外注册商都不想要域名被转出去,所以转移码获取入口相对来说比较隐蔽,有的需要联系客服才能获取。好在阿里云这个转出功能标示还是比较明显的。

    +

    image.png

    +

    在获取到这个授权码之后就可以到你要转入的注册商那里填入域名和授权码进行付费了,一般域名在注册商之间转移操作,新的域名注册商会收取一年的续费费用。

    +

    image.png

    +

    但是我就是卡在第一步了,按照提示输入邮箱验证码之后直接报错返回到第一步了,并且报错信息一闪而过,看不清楚,目前正在提交工单等待售后处理。。。

    +

    2024/9/15更新

    +

    经过三天的等待终于获取到了转移授权码。在porkbun的域名转移页面填入域名和对应的转移授权码之后,完成付款即可等待转移生效。
    +我的这个域名转移收费4.29美元,折合人民币30.69元。支持支付宝付款。
    +image.png

    +

    再次前往阿里云查看域名转出进度。点击立即转出,验证邮箱链接之后,可加快转出速度。一般转移需要等待的时间比新注册要长一点,最慢需要5-7天才能完成转移。
    +image.png

    +

    我这边等了5分钟左右,porkbun处显示域名状态已经正常了。如果超时没有完成,需要联系转入的域名注册商进行处理。
    +等待转移成功之后就可以在新的域名注册商处进行域名管理和续费了。
    +image.png

    +

    后记

    +

    域名转移其实很简单,在原注册商那里获取到转移码就成功了一大半了。关键在于如何选择新转入的域名注册商,除了续费价格因素外,还要尽量找一些业界口碑好的注册商。当然目前国内审查机制越来越严格,政策三天两头做调整,而且还强制实名和备案。所以建议有条件的朋友都尽量把域名转移到国外域名注册商去。

    +]]>
    + + 网络 + + + 域名 + 阿里云 + 转移 + porkbun + +
    + + 自己网络及设备服务分享 + /posts/2895.html + 微信截图_20220329163639.png

    +

    概述

    +

    上图是我家目前的网络拓扑示意图,及部分设备正在运行的服务,下面我将尽量对每个设备及所提供的服务来做详细的介绍,某些服务由于涉及到的知识点较多,以后可以能单独写文章来介绍。

    +

    联通光猫

    +

    负责运营商光纤到户后的光电转换,并给固定电话和IPTV提供接入服务。
    +网络方面,光猫使用桥接模式,不负责拨号,不负责提供WIFI服务,WIFI服务由华为AX3路由器及水星D191G路由器负责。

    +

    华为AX3路由器

    +

    负责宽带拨号,负责提供DHCP服务,负责提供WIFI覆盖服务,负责局域网内设备的端口转发服务及DMZ服务,为了方便远程管理内网设备,还在路由器上部署了花生壳的DDNS服务。WAN口与上级的联通光猫连接,LAN与需要提供网络服务的下级设备连接。
    +##水星D191G路由器
    +提供WIFI覆盖服务及普通交换机服务。LAN口与上级主路由的LAN口连接,LAN口IP设置为和上级路由器一个网段,方便管理,关闭DHCP,DHCP服务由上级路由统一管理。剩余的LAN口可作为交换机使用,连接设备后将自动从华为AX3路由器获取IP地址。

    +

    N1盒子-OPENWRT

    +

    N1盒子已刷F大的OPENWRT系统,目前作为旁路由使用,提供科学上网服务,里面内置Docker服务,由于N1是24小时全天候运行,所以使用Docker服务部署了HomeAssistant服务来管理家里智能设备的自动化运行,后来又部署了青龙面板JD签到服务。为了方便远程管理N1路由器和里面的Docker容器,所以在华为AX3主路由上将N1的80端口和Docker容器中用到的端口做了转发处理,这样在外网环境下使用DDNS域名+对应端口就可以了访问到内网的服务了。

    +
    N1盒子及OPENWRT的其他使用分享我会再后续分功能来介绍
    +

    ##群晖NAS
    +为局域网设备提供网络存储服务,目前我使用到的服务套件有Synology MailPlus Server,使用自己的域名搭建邮件服务器;Synology Photos,用于备份和管理移动端的相片等,DownloadStaion用来下载文件和电影,配合浏览器插件,用起来很方便。WebStaion用来搭建网站。还有Docker服务,目前我在群晖的Docker上部署了KMS激活服务、阿里云盘WEBDAV服务、和FRPC服务三个容器。KMS激活服务用于直接激活内网环境下VOL版本的Windows系统和Office办公软件,如果将端口映射出去,也可以用于外网的激活。阿里云盘WEBDAV服务是将阿里云盘转换为标准的WEBDAV协议,可以在各种客户端中使用WEBDAV协议来读写云盘里面的文件。最后一个FRPC服务是一个用于内网穿透的服务,可以在外网环境下直接使用域名访问到内网中的各种服务。另外我在群晖NAS里面部署了DNSPOD的DDNS服务,将自己的域名解析到了NAS,而且在华为AX3主路由上将群晖NAS的主机加到了DMZ服务,这样直接使用DDNS服务的域名加端口就可以直接访问到群晖里面的各种服务,不需要单独做转口转发服务,当然除了运营商已经封锁掉的80/443等端口。这也是我为什么要在Docker上再跑一个DRPC服务的原因了。

    +
    群晖NAS的相关使用及经验分享可能后续会单独开个分类。
    +]]>
    + + 网络 + + + openwrt + 路由器 + 网络 + NAS + +
    + + 转载-openwrt最新版本passwall(帕斯沃)设置节点掉线时自动切换的方法 + /posts/39533.html + 之前OpenWrt系统passwall(帕斯沃)插件里面有个“自动切换”的功能,就是系统检测当前选择的节点如果有故障,会自动切换到备选的节点,以保持网络畅通。然而在Openwrt最新的版本中,passwall的作者不知何故把这个功能给砍掉了,其实这个功能挺好用的,有不少小伙伴私下问我新版本没有了这个功能?于是博主趁着周末研究了一下,发现“自动切换”的功能在原来的菜单上没有了,但是在别处是可以设置的,一起来设置一下吧。

    + +

    1、进入passwall菜单,找到“Socks设置”,把“Socks主开关”打勾,根据自己实际情况选择“Socks节点”,并设置“Socks监听端口”(这个端口号要记住,等下要用到)和“HTTP监听端口”,设置完成后点“保存&应用”;

    +

    20240105095030

    +

    2、在下图的位置中点“修改”;

    +

    20240105095046

    +

    3、进入“Socks设置”,找到“自动切换”,打勾;

    +

    20240105095100

    +

    4、在备用节点的列表中,根据自己实际情况,选择备用节点,在“恢复切换”处打勾,设置完成点“保存&应用”;

    +

    20240105095111

    +

    5、回到passwall主菜单上,点“节点列表”,添加;

    +

    20240105095125

    +

    6、节点名称自己写一下(我写的是:自动切换),类型为“Socks”,地址写“127.0.0.1”,端口写第1个步骤设置的“Socks监听端口”,点“保存&应用”;

    +

    20240105095136

    +

    7、在passwall主界面,在“TCP节点”处改成上一个步骤我们自己添加的节点名称,点“保存&应用”;

    +

    20240105095146

    +

    8、来测试一下网络,全部畅通,证明设置有效。

    +

    20240105095157

    +

    9、如果将来需要改变主用节点的话,只需要在“Socks配置”那里把“Socks节点”选择好,点“保存&应用”就可以了。

    +

    原文链接: https://wp.gxnas.com/13924.html

    +]]>
    + + 网络 + + + openwrt + passwall + +
    + + 配置iStoreOS虚拟机 + /posts/26090.html + 第一步,配置网络:
    +20240106094645
    +出现上述图像后,单机 Enter 进入命令行

    + +

    请您在 Shell 中输入如下命令,以便编辑文件

    +

    vi /etc/config/network
    +Text
    +image-20231011135937094

    +

    现在您进入了 vi 编辑器:

    +

    键盘按 i 进入输入模式(代表insert输入的意思)

    +

    找到 config interface ‘lan’下的 option ipaddr

    +

    默认配置为:

    +

    config interface ‘lan’
    +…
    +option ipaddr ‘192.168.1.1’
    +Text
    +此处需要您自行修改ipaddr,我用我的修改方法作为例子:

    +

    我们看到下面我的gateway(网关)为192.168.31.1,这是我的小米路由器的网关ip

    +

    所以我如果想在小米路由器的局域网内访问,我需要将ipaddr更改为192.168.31.x。

    +

    这里我将openwrt的局域网ip改为:192.168.31.91,这样就处于小米路由器所构建的局域网内,这样使用其他局域网内的设备就能通过这个ip来访问iStoreOS的Web界面。

    +

    20240106094729

    +

    修改完毕后,按下 Esc,输入 “:wq”(保存并退出),退出 vi 编辑器。

    +

    输入以下命令,重启虚拟机。

    +]]>
    + + 网络 + + + openwrt + 网络 + istoreOS + +
    + + GitHub图床配置 + /posts/23057.html + 自从部署了HEXO,就开始寻找一个靠谱的图床系统来用于托管网站的图片。
    +之前在群晖NAS上使用Chevereto系统部署了一套私有的图床系统,但是如果用于网站图片的托管,需要24小时开机,不仅费电,而且还会加大硬盘的读写,增加坏盘的风险,所以还是放弃了这个想法。
    +接着我在七牛云上部署了图床系统,想着他有10GB免费的额度,也够用了。但部署完成之后,第二天查看账单发现有了费用,名字叫做https-cdn-海外加速费用,咨询了客服工单之后说是因为我使用的域名没有备案,所以只能使用海外站点,如果你从国内访问的话就会产生费用。
    +于是我想到了用GitHub来部署图床,网上也有大把的教程,操作起来也很简单,需要配合PicGo来使用。

    +

    创建一个公开仓库

    +

    生成GitHub Token

    +

    进入GitHub账户设置-开发者设置-私人Token,生成一个新的token并复制。
    +

    + +

    安装PicGo设置

    +

    安装完成PicGo之之后按照下图进行设置。
    +
    +如果感觉在国内访问GitHub速度慢的话,可以在设置自定义域名那里填入https://cdn.miaoyang.win/gh/GitHub用户名/仓库名
    +来使用jsdeliver提供的免费cdn服务加速。
    +这样设置就完成了,将图片用PicGo上传之后,图片地址就会自动复制到粘贴板,使用起来很方便

    +]]>
    + + HEXO + + + 图床 + GitHub + PicGO + +
    + + Hexo启用emoji表情支持 + /posts/41234.html + HEXO默认使用的MarkDown渲染器是不支持emoji表情的,即使是你在页面插入了例如‘😃’这样的emoji代码,也无法正常识别为😃表情图标。
    +这样就需要替换HEXO默认的渲染器。运行下面的命令,首先卸载原来的渲染器,然后安装新的渲染器,最后安装支持emoji的渲染器插件。

    +
    npm un hexo-renderer-marked --save  
    npm i hexo-renderer-markdown-it --save
    npm install markdown-it-emoji --save
    + +

    插件安装之后,在站点配置文件_config.yml中添加关于markdown的配置字段即可,如果不懂相关配置参数,可无脑复制以下字段。

    +
    ## markdown 渲染引擎配置,默认是hexo-renderer-marked,这个插件渲染速度更快,且有新特性  
    markdown:
    render:
    html: true
    xhtmlOut: false
    breaks: true
    linkify: true
    typographer: true
    quotes: '“”‘’'
    plugins:
    - markdown-it-footnote
    - markdown-it-sup
    - markdown-it-sub
    - markdown-it-abbr
    - markdown-it-emoji
    anchors:
    level: 2
    collisionSuffix: 'v'
    permalink: true
    permalinkClass: header-anchor
    permalinkSymbol:
    +

    在需要插入emoji的地方插入对应的代码,最后重新部署HEXO即可。😆
    +我复制了一份常用的MarkDown emoji代码,可以参考复制。😃
    +▶️ https://miaoyang.win/about/emoji

    +

    Obsidian 使用emoji toolbar来快速插入表情

    +

    😋👏😭
    +📱🇨🇳🇲🇴

    +

    引用

    +

    Hexo NexT 开启 emoji | Kinboy’s note
    +PKMer_Obsidian 插件:Emoji Toolbar 快速插入 Emoji 符号

    +]]>
    + + HEXO + + + 表情 + emoji + HEXO + +
    + + picgo422错误代码 + /posts/2192.html + 刚刚在vscode中用picgo上传图片失败,提示检查网络或设置。起初真的以为是token到期了或是网络不通,确定了网络正常之后又检查了token,发现也在有效期。
    +于是下载了picgo的windows客户端上传同样的图片,发现还是上传失败。好在windows客户端可以查看日志详情。

    + +

    20230322145558
    +报错日志如下:

    +
    2023-03-22 14:45:49 [PicGo INFO] Before transform 
    2023-03-22 14:45:49 [PicGo INFO] Transforming... Current transformer is [path]
    2023-03-22 14:45:49 [PicGo INFO] Before upload
    2023-03-22 14:45:49 [PicGo INFO] beforeUploadPlugins: renameFn running
    2023-03-22 14:45:49 [PicGo INFO] Uploading... Current uploader is [github]
    2023-03-22 14:45:50 [PicGo WARN] failed
    2023-03-22 14:45:50 [PicGo ERROR] {
    "method": "PUT",
    "url": "https://api.github.com/repos/miaoyanginfo/hexo-img/contents/img/aaa.png",
    "statusCode": 422,
    "message": "Request failed with status code 422",
    "stack": {},
    "response": {
    "status": 422,
    "statusCode": 422,
    "body": {
    "message": "Invalid request.\n\n\"sha\" wasn't supplied.",
    "documentation_url": "https://docs.github.com/rest/reference/repos#create-or-update-file-contents"
    }
    }
    }
    +

    网上搜了一下422报错应该是上传的图片文件名和已有的图片重名了,然后修改了文件名之后windows客户端和vscode插件上传正常了。
    +水一篇文章记录一下,分享给有相同报错的朋友。

    +]]>
    + + HEXO + + + 图床 + picgo + 报错 + +
    + + vscode安装Picgo扩展 + /posts/45151.html + picgo有用于vscode的扩展插件,配置方法类似于桌面版,把Github的开发token信息及仓库源信息填上就可以开始使用了。
    +20220423143041

    +

    部分快捷键

    +
    Ctrl + Alt + u  ##从剪贴板上传图像

    Ctrl + Alt + e ##从资源管理器上传图像

    Ctrl + Alt + o ##从输入框上传图像
    +]]>
    + + HEXO + + + 图床 + vscode + PicGo + +
    + + 使用GitHub Action实现HEXO的自动编译和发布 + /posts/42824.html + 经过上一篇的步骤之后,我们已经可以将我们的HEXO站点发布到GitHub上了,并且可以正常访问。但是我们每次更新文章以及站点配置的时候必须先在本地进行编译、然后再部署到GitHub上,也就是每进行一次修改,必须执行以下命令

    +
    hexo g
    hexo clean
    hexo d
    +

    那有没有一种方法就是,系统检测到我们发布了新文章,然后自动进行程序的编译和发布呢?
    +今天部署的这个GitHub Action服务就是解决这个问题的。在上一篇文章中我们在 GitHub上还新建了一个私人仓库,我们今天用这个私人仓库来进行操作。
    +

    + +

    1.修改本地文件

    +

    删除主题文件夹下隐藏的.git文件夹

    +

    删除hexo根目录下的.deploy_git文件夹

    +

    这两个是我踩过的坑,因为主题文件和hexo deploy git工具是git clone到本地的,所以如果直接上传到GitHub仓库的话,只会上传一个空的指针文件夹,之后进行自动化编译的时候会报错,所以必须删除本地的.git相关信息。

    +

    2.将本地HEXO源文件推送到私人仓库

    +
    +

    在hexo文件夹中初始化hexo

    +
    +
    hexo init
    git init
    +
    +

    关联远程仓库

    +
    +
    git remote add origin git@github.com:miaoyanginfo/hexo-action.git
    +
    +

    和远程仓库进行一个同步

    +
    +
    git pull --rebase origin main
    +
    +

    将本地文件添加到暂存库

    +
    +
    git add .
    +
    +

    添加注释

    +
    +
    git commit -m "init repo"
    +
    +

    推送到GitHub私人仓库

    +
    +
    git push -u origin main
    +

    如果一切顺利的话,我们就会在GitHub的私人仓库中看到我们PUSH上去的HEXO文件夹和文件。

    +

    3.生成并部署deploy公钥和密钥

    +
    +
    +

    定位到本地hexo文件夹运行以下命令创建deploy key:

    +
    +
    +
    ssh-keygen -f github-deploy-key -C "HEXO CD"
    +

    运行完成之后会在hexo根目录下生成github-deploy-key和github-deploy-key.pub两个文件,一个私钥,一个公钥。
    +进入github我们创建的私人仓库,settings-secrets添加actions secrets。
    +名字输入 SSH_PRIVATE
    +value输入生成的github-deploy-key内容,也就是私钥的内容。
    +
    +进入github我们创建的公开仓库,找到settings-deploy keys,
    +名字输入 HEXO_DEPLOY_PUB
    +内容输入github-deploy-key.pub文件内的所有内容,也就是公钥的内容。
    +

    +

    4.创建GitHub Action文件

    +

    进入GitHub私人仓库页面,切换到Actions选项,创建一个名为deploy.yml的文件,内容复制下面:

    +
    name: Deploy                      # Actions 显示的名字,随意设置
    on: [push] # 监听到 push 事件后触发
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout # 拉取当前执行 Actions 仓库的指定分支
    uses: actions/checkout@v2
    with:
    ref: main # 注意选择私人仓库是main还是master分支

    - name: Setup Node # 使用node 14
    uses: actions/setup-node@v2
    with:
    node-version: "14"

    - name: NPM INSTALL #安装依赖
    run: |
    npm install hexo-cli -g
    npm install hexo-deployer-git --save
    npm install

    - name: Add KEY #这里需要提供一个ssh私钥,用你平时常用机器里的 ~/.ssh/id_rsa即可
    env:
    SSH_PRIVATE: ${{ secrets.SSH_PRIVATE }}
    run: |
    mkdir -p ~/.ssh/
    echo "$SSH_PRIVATE" > ~/.ssh/id_rsa
    chmod 700 -R ~/.ssh
    ssh-keyscan github.com >> ~/.ssh/known_hosts
    git config --global user.email "paulmiao@me.com"
    git config --global user.name "miaoyanginfo"

    - name: Hexo Deploy # hexo deploy 会自动build然后上传到github.io项目中
    run: |
    hexo clean
    hexo deploy
    +

    5.测试Action是否正常运行

    +

    我们现在私人仓库/source/_posts文件夹下新建一个.md的日志文件,然后切换到Actions选项卡看下自动化执行过程是否有报错,如果运行正常的话,我们进入公开仓库,看下文件的最后修改时间是不是最近几秒钟内。
    +然后我们再打开我们的github站点地址,看看是不是有新日志已经发布了。
    +

    +

    总结

    +
    +

    经过两篇文章的操作,我们已经可以实现HEXO在GitHub上面的部署以及使用GitHub的Action功能来实现文章发布时自动编译和部署。如果在部署过程中遇到问题,欢迎和我交流。

    +
    +]]>
    + + HEXO + + + GitHub + HEXO + Action + 编译 + 发布 + +
    + + 使用VScode编辑Markdown文章 + /posts/59730.html +

    +

    下载安装Microsoft Visual Studio Code安装包(以下简称VScode)

    +

    下载地址:

    +
    https://code.visualstudio.com/
    +

    设置显示语言为中文

    +

    软件安装完成之后默认语言是英文,我们在主界面同时按下ctrl+shift+P三个按键,输入configure display language,点击安装其他语言,然后下载安装简体中文包,安装完成之后即可启用切换到中文界面。

    +

    新建MarkDown格式文件

    +

    新建文件,格式选择MarkDwon即可创建MarkDwon格式的文件。

    +]]>
    + + HEXO + + + markdown + +
    + + 使用Valine来给HEXO添加评论系统 + /posts/35875.html + HEXO默认是不带评论系统的,但后台支持调用许多第三方的评论系统,我们这里以Valine为例来给HEXO站点配置第三方评论系统

    +

    1.注册LeanCloud账户并创建应用

    +

    进入LeanCloud网站注册账户,进行实名认证,然后创建一个应用,命名为hexo。

    +

    2.获取应用的APP KEY

    +

    进入创建好的应用,点击"设置",然后"应用凭证",获取APPID和APPKEY。

    +

    3.编辑主题配置文件

    +

    编辑主题的_config.yml配置文件

    +
    comments:
    use: Valine
    valine:
    appId:
    appKey:
    avatar: monsterid # gravatar style https://valine.js.org/#/avatar
    serverURLs: # This configuration is suitable for domestic custom domain name users, overseas version will be automatically detected (no need to manually fill in)
    bg: # valine background
    visitor: false
    option:
    +

    use字段填入"Valine"
    +appid和appkey字段填入获取到的信息,然后保存文件。

    +

    3.添加安全域名

    +

    进入应用"设置"-“安全中心”,填入你的HEXO站点地址,然后保存。

    +

    4.编译站点并发布

    +

    经过上面步骤之后对站点进行重新编译和发布,就可以在文章结尾看到评论窗口了。

    +]]>
    + + HEXO + + + HEXO + valine + +
    + + 在GitHub上部署HEXO + /posts/31120.html +
    +经过三天的不断网上趴文和自我修炼,参考了众多网上大神的教程和文章,自己又填了无数个坑之后,终于成功在GitHub上部署了HEXO系统发布文章,使用GitHub Action功能自动编译HEXO程序并发布静态页面。我将用两个篇幅来记录部署过程。
    +第一部分介绍如何在本地部署HEXO程序,安装主题,本地预览,然后发布到Github Page。
    +第二部分介绍如何使用GitHub Action功能实现HEXO程序的自动编译和发布。

    +

    1.GitHub上新建仓库

    +

    登录你的Github,新建两个仓库:
    +一个仓库用于发布我们的HEXO站点,为了便于区分,我们在这里叫它公开仓库,新建的时候选在类型为Public,网址那里填入***.github.io,确保你可以使用域名https://***.github.com 访问到你的页面,这篇文章我们主要在这个仓库中进行操作;
    +另一个站点用于存放我们的HEXO程序源文件,用于和主仓库实现自动化编译和发布的联动,我们叫它私人仓库,类型选择Pravite,名称随便起,我们这里叫做hexo-action。
    +

    + +

    2.本地安装配置环境

    +

    需要安装的工具有git和node两个环境,安装包已经上传到了阿里云,大家可以自行下载。
    +git x64

    +
    https://www.aliyundrive.com/s/eWkiy8beBEj
    +

    node x64

    +
    https://www.aliyundrive.com/s/A6iLQPNecXt
    +

    安装完成之后在cmd窗口运行git --version及node -v 命令确保安装正确。

    +

    3.部署Github通讯密钥

    +
    +

    我们在本地运行git bash命令窗,

    +
    +
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub注册邮箱"
    +
    +

    生成ssh密钥文件:

    +
    +
    ssh-keygen -t rsa -C "你的GitHub注册邮箱"
    +

    连续回车,直到命令运行结束。
    +在本地用户名文件夹下会看到一个.ssh命名的文件夹,用记事本或是notepad++打开里面的id_rsa.pub文件并复制全部内容。
    +打开GitHub_Settings_keys 页面,新建new SSH Key,Title随便填,Key那里把刚才复制的公钥粘贴过去,然后点击Add SSH Key。
    +

    +
    +

    我们可以输入下面命令来测试一下密钥是否配置正确:

    +
    +
    ssh git@github.com
    +

    3.运行安装命令进行HEXO的安装

    +

    在本地选择一个文件夹,作为你的hexo主目录,在这个文件夹下右键,选择git bash here打开git命令窗口。

    +
    +

    运行命令安装hexo:

    +
    +
    npm install -g hexo
    +
    +

    运行命令在此文件夹新建站点:

    +
    +
    hexo init
    +

    如果命令没有报错的话,在你选定的文件夹下应该会下载到hexo的文件。

    +
    +

    我们可以编辑根目录下的_config.yml来配置HEXO站点的相关信息。
    +编辑完相关信息之后运行以下命令重新生成站点文件:

    +
    +
    hexo g
    +

    4.打开本地演示模式

    +
    +

    输入下面命令打开本地演示模式:

    +
    +
    hexo s
    +

    打开之后在浏览器输入http://localhost:400 就可以访问到网站了。

    +

    5.安装主题butterfly

    +

    我们接下来安装一个主题,这里以butterfly这个主题为例,其他主题的安装也类似。

    +
    +

    在hexo文件下下运行以下命令:

    +
    +
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
    npm install hexo-renderer-pug hexo-renderer-stylus --save
    +

    运行完成之后我们编辑主题文件夹下的_config.yml文件来对主题进行配置。
    +编辑完成之后复制一份这个yml文件到hexo根目录,并命名为_config.butterfly.yml。
    +接着编辑根目录下面的站点配置文件_config.yml来更改主题

    +
    theme: butterfly
    +
    +

    修改完成之后重新运行下面命令编译HEXO:

    +
    +
    hexo g
    +
    +

    然后本地预览新安装的主题:

    +
    +
    hexo s
    +

    6.将站点发布到Github上

    +

    如果在本地演示没有报错,我们就可以将站点发布到Github上面了。
    +首先我们需要编辑根目录下的_config.yml文件,拉到文件最底部填入你的github地址:

    +
    deploy:
    type: 'git'
    repo: git@github.com:miaoyanginfo/miaoyanginfo.github.io.git
    branch: master

    +
    +

    然后运行下面的命令:

    +
    +
    npm install hexo-deployer-git  --save
    hexo clean && hexo g && hexo d
    +

    发布完成之后我们直接用域名https://***.github.io
    +就可以访问到我们搭建的HEXO站点了。

    +]]>
    + + HEXO + + + GitHub + HEXO + 部署 + +
    + + 在VScode中使用snippets来简化hexo头部matter + /posts/61790.html + 每次写hexo文章的时候都需要手动敲入文章头部的front-matter字段,而且有时候可能会敲错,导致发布失败,那有没有一种简单的方法,输入某个字符就能带出这些内容呢?
    +你别说还真有,在vscode中有一个snippets的功能就可以实现上面的需求,下面跟我来操作吧。

    +

    编辑markdown.json文件

    +

    ctrl+shift+P打开配置搜索框搜索snippets。
    +20220525134538
    +然后搜索markdown编辑markdown.json文件
    +20220525134725
    +在文件中插入以下字段并保存。
    +这里prefix后面的title可以随意替换,之后输入这个词就会带出相应的内容。body里面的字段也可以随意增减。

    +
    "Generate Hexo blog header": {
    "prefix": "title",
    "body": [
    "---",
    "title: ",
    "date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
    "categories: ",
    "tags:",
    "cover: ",
    "sticky: ",
    "---",
    ],
    "description": "hexo header"
    }
    +

    20220525134901

    +

    编辑settings.json文件

    +

    在vscode中搜索settings.json文件进行编辑。
    +20220525135009
    +插入下面的字段并报错。

    +
    "[markdown]": {
    "editor.wordWrap": "on",
    "editor.quickSuggestions": true
    },
    +

    大功告成

    +

    完成上面设置步骤之后在markdown文件中输入title就可以带出hexo所需的头部matter字段了。
    +20220525135235

    +]]>
    + + HEXO + +
    + + 多台电脑协作更新HEXO + /posts/7251.html + 家里一台电脑,单位一台电脑,如何用两台电脑同时对HEXO进行更新呢?

    +

    生成密钥并部署到GitHub

    +

    我们需要在另一台电脑上安装git、node等必要环境,然后选取一个文件夹作为工作文件夹,在这个文件夹下运行git bash命令窗口。

    +
    +

    创建一个新的密钥:

    +
    +
    ssh-keygen -t rsa -C "youremail@example.com"
    +

    在本地用户名文件夹下找到.ssh文件夹,复制里面的id_rsa.pub内容,然后前往GitHub的settings页面,添加一个SSH key,title最好取名为你的电脑名称,然后粘贴刚才复制的公钥的内容。
    +

    + +

    克隆远程仓库文件

    +
    +

    运行下面的命令来克隆GitHub仓库里面的文件:

    +
    +
    git clone git@github.com:miaoyanginfo/hexo-action.git
    +

    命令完成之后我们进入文件夹内会看到有一个名为“hexo-action”的文件夹,这个文件夹里面包括我们远程仓库里的所有文件,我们可以在这个文件夹里面更新文件。

    +

    推送到GitHub

    +
    +

    当我们做完相应的更新之后,运行常规push命令就能直接将更新推送到GitHub了。

    +
    +
    git add .
    git commit -m ""
    git push
    +

    另一台电脑如何操作

    +

    当我们在原先那台电脑上工作时,本地代码和远程的代码发生了不一致,为了保持同步,所以需要将GitHub仓库中的代码同步到电脑上。

    +
    +

    从远程的origin的main主分支下载最新的版本到origin/master分支上:

    +
    +
    git fetch origin main
    +
    +

    然后比较本地的master分支和origin/master分支的差别:

    +
    +
    git log -p master..origin/master
    +
    +

    最后进行合并:

    +
    +
    git merge origin/master
    +]]>
    + + HEXO + + + HEXO + github + +
    + + 让HEXO“动起来”-体验Qexo静态博客管理面板 + /posts/23533.html + 前言 +

    对于习惯了使用WordPress等传统CMS程序的用户来说,使用纯静态的hexo更新网站或多或少还是有些不太适应。缺少了管理后台,无法直观的管理站点的日志和页面,只能通过一个个静态文件来更新。并且想要发布还需要去向github提交更改。

    +

    介绍

    +

    qexo01.png

    +

    Github上有个开源项目名为Qexo,这是一个为静态站点而生的项目,官方介绍为“Qexo 是一个快速、强大、美观的在线 静态博客编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署, 为您的静态博客添加动态的元素”。程序方面目前支持Hexo、Hugo和Valaxy。如果你正在使用这些程序,可以尝试一下。这个项目支持在Vercel平台一键部署,免去了额外的花销。而且官方也有较为详细的配置文档,新手也很容易上手。Qexo 文档 (oplog.cn)
    +部署前需要确认你的hexo已经通过github action设置了自动化部署,如何设置github action可以参阅我之前的文章使用GitHub Action实现HEXO的自动编译和发布 | 渊澄|YCYC.WIN
    +还需要注意的是如果你是在vercel部署的,需要在项目设置那里将node.js版本降级为18.x。这一点文档里面也着重强调了。

    + +

    部署完成之后就可以进入站点页面进行配置了。(当然你也可以在vercel设置自定义域名,只需将域名cname解析到vercel即可)。根据页面提示和文档获取相关的github和vercel密钥,然后创建管理员账户之后就可以登录了。
    +qexo00.png

    +

    Qexo同样支持图床的配置,但是我配置完Github图床之后有系统报错,看报错代码像是仓库中有同名文件,picgo422错误代码 | 渊澄|YCYC.WIN,但已排除。不知何故,已经在项目issues提问了。

    +

    经过排查,问题为设置界面的“保存路径”输入有误,需要按照Qexo的格式来填写,和其他图床插件不一样。Qexo 文档 (oplog.cn)

    +

    https://img.ycyc.win/Qexo/24/9/image_547c7788639701b124967757991368f9.png

    +

    界面上的日志新增、编辑、删除都会push到Github仓库。
    +虽然面板上还无法像wordpress那样对种主题和插件进行可视化设置,但是可以从配置选项卡直接编辑对应的配置文件,也算是弥补了一些遗憾。
    +image.png

    +

    另外Qexo还提供了一个说说和友情链接的模块可供选用,部署也简单,只需新建相关页面,然后插入代码对应即可。另外说说的编辑是不会产生仓库push的。实际测试该模块在国内的网络环境下好像加载不出来,可能与Qexo部署在vercel有关。
    +image.png

    +

    后记

    +

    整体体验下来还算可以,界面设计和布局都比较容易上手。只是响应速度有点慢,可能与vercel访问速度慢有关。还有一个问题我发现站点实际的文章总数与Qexo界面显示的文章总数不一致,可能是我新发的两篇文章是在安装了Qexo之后用Obsidian发布的,没有统计进去。(这个问题在界面刷新界面清除缓存或者设置webhook可解决)。常见问题 | Qexo 文档 (oplog.cn)

    +

    https://img.ycyc.win/Qexo/24/9/image_636f76ab9a82fe2264b49d3f2e4a0d66.png

    +

    另外我目前已经习惯了在Obsidian编写hexo,大部分情况可能不会去用Qexo编写,但是如果在移动端等其他不方便部署环境的地方,会选择用Qexo来进行站点的更新。可以作为一个备选方案。

    +

    f5c3d9a5b0a822be70c754af795b6c7.jpg

    +

    引用

    +

    Qexo 文档 (oplog.cn)
    +Qexo/Qexo: A fast, powerful and beautiful online manager for all static blog frameworks. (github.com)

    +]]>
    + + HEXO + + + HEXO + QEXO + vercel + +
    + + Obsidian格式化插件-Linter + /posts/13016.html + 今天介绍一款Obsidian神级插件-Linter。
    +项目主页platers/obsidian-linter: An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility. (github.com)
    +Linter是一款可以让你的Obsidian文件更加整齐统一美观的插件,而我得知到它的途径是我想要实现如何在Obsidian的文章中可以自动更新文章的修改时间。
    +Hexo日志的Front-matter有date和updated两个参数,date是文章的创建时间,updated是最后修改时间。之前用vscode通过github action部署之后这两个时间默认是一样的,都是项目最后部署的时间,除非你手动在每篇文章都指定这两个字段。
    +转到Obsidian之后,我用templater插件创建了Front-matter模板,虽然可以简化手动输入的操作,但是updated字段在你首次插入模板之后就固定下来了,不会随着你修改的时间而变化,除非你手动去修正。
    +然后就是一通搜索,看看有没有办法能获取到每次文章真正修改的时间,并写入到文章的Front-matter中去。
    +然后就是有人推荐一款名为Linter的插件。看上去设置比较繁琐,但实际安装调整完之后感觉还好。只要设置正确,都能按照你的预期来执行。

    + +

    如何搜索安装就不说了。着重写一下我目前实现的功能和相关的设置。还有就是如果设置得当的话,完全可以弃用templater来导入front-matter模板了。

    +

    自动将文件名设置为title并写入front-matter。

    +

    在插件的YAML选项卡找到下图所示的选项设置保存。

    +

    image.png

    +

    自动将标签和分类字段添加到front-matter

    +

    在插件的YAML选项卡找到下图所示的选项设置保存。
    +image.png

    +

    如果你还希望插入其他字段,可以一并在这里输入

    +

    自动将创建时间和最后修改时间写入front-matter

    +

    在YAML选项卡找到YAML时间戳。
    +image.png

    +

    image.png

    +

    日期格式按照图中所示填写。

    +

    设置完成之后在基础选项卡参照下图按需设置

    +

    image.png

    +

    测试

    +

    一切就绪之后可以新建一篇文章进行测试。
    +手动保存之后会自动添加front-matter内容,并且会更新当前时间修改updated字段的时间。
    +目前发现一个问题,如果我打开之前的文章,没有做任何修改,直接保存后,updated时间会更新到当前时间。
    +image.png

    +]]>
    + + HEXO + + + HEXO + obsidian + linter + 插件 + +
    + + 使用Alist来同步Obsidian项目 + /posts/60919.html + 想要多终端同时处理Obisdian怎么搞,可以借助三方插件remotely save配合alist的webdav协议来将文件存到接入Alist的各种网盘。
    +Alist是一个可以任意接入主流网盘的平台,并且可以通过alist来同步网盘间的文件,并且部署起来也很简单,只需要一条docker命令即可完成。详细的介绍可以直达官网了解Home | AList文档 (nn.ci)

    +

    安装配置插件

    +

    搜索安装并启用三方插件Remotely Save。这个插件支持多种包括亚马逊S3、微软OneDrive等主流网盘,也支持WEBDAV传输协议。我们今天就是要使用webdav协议来同步obisdian项目中的文件。
    +image.png

    + +

    你需要在你家里的NAS或是软路由上搭建了Alist,我的alist是搭建在家里istoreOS路由器上的,并且在公网做了端口转发,这里要确保你的alist可以在外网环境下访问。在如下图的地方填入你的alist地址和用户名密码。
    +image.png

    +

    需要注意的几点

    +

    这里需要注意几点,一个是服务器地址需要https协议,也就是你需要申请并部署SSL证书。如果你只是在电脑客户端使用,http也是可以的,但是在iOS移动端使用,就必须使用https协议。如何申请并部署SSL可自行搜索相关教程,这里不做详细介绍。
    +另一点需要注意的是服务器地址的路径,格式为ip或域名+alist的端口号/dav/同步的文件夹名。例如(https://yourdomain.com:4567/dav/yourfold)
    +插件设置里面还有一个地方需要注意的是“修改远端基文件夹”这个选项,你可以每个终端都设置成不同的,也可以统一设置为一个文件夹,如果你是为了多终端同步,每个终端都要修改成一直的名称。全部设置完成之后,点击下面的检查按钮来确认webdav是否可以正常连接。

    +

    image.png

    +

    插件设置完成之后,左侧菜单栏会出现同步按钮,点击等待同步完成之后可以查看alist的相应文件内是否有同步的文件。
    +image.png
    +在插件基本设置里面也可以设置自动同步时间间隔等等。
    +image.png

    +

    其他客户端的设置都类似,先搜索安装插件,然后进行webdav服务器配置即可。还有一种简便的方法就是在电脑端导出配置链接,然后再导入到其他客户端。
    +

    +

    image.png

    +]]>
    + + HEXO + + + HEXO + obsidian + alist + 同步 + webdav + +
    + + 测试使用Obsidian同步github + /posts/45920.html + 最近发现了一款使用体验不错的MarkDown编辑器,Obsidian。之前在电脑端一直使用微软的VScode来更新hexo和同步Github。试用了两天之后,感觉与vscode相比,obsidian轻量不少,启动和反应速度更快,界面更加适于写作。安装了三方插件之后,我觉得是可以取代vscode来作为日常hexo更新工具使用了。
    +image.png

    +

    目前我安装了三个插件,第一个是Templater,创建相应的模板之后可以直接在文章中调用,用于编辑文章的front-matter。这个插件设置比较简单,只要指定模板存放的文件夹,然后在该文件夹新建模板文件即可。使用的是由在界面左侧有快速插入按钮,选择相应模板即可。

    + +

    image.png

    +

    第二个是Git插件,用于和Github同步,更新文章之后可以很方便的push和pull,可以设置每隔多长时间自动push,前提是你本地安装了git并且账户信息配置无误。
    +image.png

    +

    最后一个是Image auto upload plugin图片上传插件,与vscode不同的是这个插件需要配合picgo的桌面客户端来使用,而且需要客户端常驻后台。还有就是插件只支持剪切板粘贴上传,如果再加入一个浏览上传按钮就更好了。
    +image.png

    +

    大概看了一下,Obisdian不仅有丰富的插件库,还支持三方主题,另外付费用户还可以多终端同步文件项目。更多的功能静待以后慢慢探索分享。

    +]]>
    + + HEXO + + + HEXO + markdown + obsidian + +
    + + N1重装OPENWRT升级Homeassistant版本 + /posts/7119.html + 现在我使用的HomeAssistant是用Docker跑在OPENWRT系统上的,目前版本是2021.12.5,之前尝试过直接拉取Dcoker镜像来升级,但是提示空间不足报错,后来就一直没有理他,运行了大半年还算稳定。今天打开HA官网看到最新版本已经更新到了2022.5.5版本了,所以是时候来一次升级操作了。
    +本周末的任务就是升级我的HomeAssistant系统到最新的2022.5.5版本。
    +如果不能直接升级,就只能备份现有的配置,然后删除容器,重新部署了。
    +2022-5-22更新:
    +今天抽时间试着做了更新操作,不出意外,还是由于空间不足,在拉取最新docker镜像的时候报错了。
    +所以只能重新安装openwrt,然后再拉取镜像操作。
    +下载了F大5月9日编译的最新openwrt固件,写入U盘镜像。
    +
    +从U盘启动openwrt系统,执行命令将系统安装到N1的emmc上。

    +
    cd  /root   &&   ./install-to-emmc.sh
    +

    将N1盒子用网线和电脑直连,电脑设置为192.168.1的网段,进入openwrt的WEB界面修改LAN口地址为你网络环境的网段,保存设置之后将设备接入你的网络中。
    +
    +如果和我一样作为旁路由来使用,还需要关闭LAN口的DHCP功能。
    +
    +用putty登录到openwrt系统,执行下面的命令来拉取镜像和运行容器。

    +
    docker pull homeassistant/aarch64-homeassistant:latest
    +
    docker run -d -v /mnt/mmcblk2p4/docker/homeassisatant/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/aarch64-homeassistant:latest
    +

    一切顺利的话,访问openwrt的地址:8123就会看到最新版本的HomeAssistant系统界面了
    +

    +]]>
    + + HomeAssistant + + + openwrt + HomeAssistant + docker + 智能家居 + N1 + +
    + + docker运行appdaemon容器创建UI触控界面 + /posts/41924.html + Appdaemon是一个可以让HomeAssistant界面更适合触控操作的三方UI面板,可以通过docker容器来运行。
    +HA_URL字段是你的homeassistant地址,别忘了加端口号;
    +TOKEN字段填入你的homeassistant长期访问令牌token;
    +-v后面填入本地映射的appdaemon文件夹,需要提前创建好;
    +访问端口使用默认的5050,当然你也可以改成其他。

    + +
    docker run --name=appdaemon -d -p 5050:5050 \
    --restart=always \
    -e HA_URL="<your HA_URL value>" \
    -e TOKEN="<your TOKEN value>" \
    -e DASH_URL="http://$HOSTNAME:5050" \
    -v <your_conf_folder>:/conf \
    acockburn/appdaemon:latest
    +

    之后运行上面的命令就可以创建docker容器了。
    +运行下面的命令查看docker容器运行日志:

    +
    docker logs appdaemon 
    +

    20230215140309
    +首次运行日志如果和上面显示的一样,则说明容器已经正常运行了。成功运行之后会在你映射的文件夹内自动生成默认配置文件,你可以编辑这些文件来打造属于你自己的控制界面。
    +最后的效果可以访问ip:5050看到。
    +20230215111207
    +其实这个面板的作用很简单,你可以在在家里面墙上镶嵌一个ipad之类的平板电脑,用浏览器打开这个界面,就可以得到一个界面优美的家庭智能控制中枢了。
    +像这样:
    +20230215113057

    +]]>
    + + HomeAssistant + + + HomeAssistant + docker + appdaemon + UI + +
    + + 使用openwrt的docker容器来运行mqtt服务 + /posts/64809.html + putty登录主机
    +拉取镜像

    +
    docker pull eclipse-mosquitto
    +

    新建配置文件夹
    +下面的文件夹路径根据你自己设备的实际情况做相应的更改

    +
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/config
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/data
    mkdir -p /mnt/mmcblk2p4/docker/mqtt/log
    +

    新建配置文件

    +
    nano /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf
    +

    复制下面的内容,然后保存。

    +
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous true
    +

    文件夹赋予权限

    +
    chmod -R 755 /mnt/mmcblk2p4/docker/mqtt
    chmod -R 777 /mnt/mmcblk2p4/docker/mqtt/log
    +

    运行容器

    +
    docker run -it --name=mosquitto --privileged  -p 1883:1883 -p 9001:9001 -v /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /mnt/mmcblk2p4/docker/mqtt/data:/mosquitto/data -v /mnt/mmcblk2p4/docker/mqtt/log:/mosquitto/log -d  eclipse-mosquitto 
    +

    目前可以使用IP加1883端口直接连接mqtt服务器,无需使用用户名密码登录。
    +如果需要设置用户名密码,则需要在mosquitto.conf文件中将allow_anonymous true字段改成fasle,然后声明密码文件保存路径。详细配置参考下面:

    +
    persistence true
    persistence_location /mosquitto/data
    log_dest file /mosquitto/log/mosquitto.log
    listener 1883
    allow_anonymous false
    password_file /mosquitto/config/pwfile.conf
    +

    找到容器的id并将下面命令行中的id字段进行替换

    +
    docker ps 
    +

    进入到容器中

    +
    docker exec -it id sh 
    +

    运行下面的命令创建用户和密码。

    +
    mosquitto_passwd /mosquitto/config/pwfile.conf mqtt
    +

    完成之后ctrl+p ctrl+q保存退出。
    +重启docker容器

    +
    docker restart id
    +

    之后就可以使用设置的用户名和密码连接mqtt服务器了。

    +]]>
    + + HomeAssistant + + + HomeAssistant + docker + 智能家居 + mqtt + +
    + + 华为AX3 WS7100路由器接入HomeAssistant + /posts/65048.html + 使用华为的AX3路由器已经快三年的时间了,一直没有适合的插件将其接入HomeAssistant当中,中间还用了一段时间的小米路由器。
    +最近在github上闲逛的时候发现有大神已经开发出了相应的插件,接入到HA之后不仅可以实现device_tracker设备跟踪,还可以实现一键重启路由的功能。废话不多,直接放出作者的github地址
    +https://github.com/vmakeev/huawei_mesh_router
    +下载下来放到ha的custom_compents文件夹中,之后在界面中搜索Huawei Mesh Router即可进行配置。如果你装了HACS商店,在里面直接搜索安装更方便。
    +20230213103412
    +填入路由器地址、密码即可完成配置,配置完成之后就可以看到相关设备实体了。
    +20230213103507
    +下面是插件自带的可供使用的开关和传感器
    +20230213103600
    +我用了一段时间,插件运行很稳定。如果你在使用中发现bug可以在作者的github主页提交issues。

    +]]>
    + + HomeAssistant + + + 路由器 + HomeAssistant + 华为 + +
    + + 多模网关升级最新版后接入homeassistant 出现telnet报错的解决方法 + /posts/7421.html + 在用的小米多模网关2在升级到最新的v1.0.7_0019后,在homeassistant使用XiaomiGateway3接入时会有telnet_wrong的报错信息,导致接入网关的设备无法正常在homeassistant正常使用。原因是小米在最新的固件里封堵了telnet入口,导致插件无法正常获取到网关的key字段。

    + +

    在插件作者的Github里面找到了暂时解决方法如下:
    +如果你之前已经将网关接入过homeassistant,会在~/config/.storage/xiaomi_gateway3文件夹内生成一个key.json文件,该文件内存储着我们需要用到的key字段,将该字段复制出来。在homessistant前端按照之前的步骤添加网关,然后在下图的位置将key粘贴过来就可以完成接入了。
    +20231114151859
    +还需要注意的是,需要将XiaomiGateway插件版本升级到最新的v3.3.4。
    +Github插件主页:https://github.com/AlexxIT/XiaomiGateway3

    +]]>
    + + HomeAssistant + + + HomeAssistant + 小米 + 网关 + +
    + + 2018-10-27hassbian镜像下载 + /posts/33186.html + Homeassistant在2018年10月27日编译了最新的hassbian镜像,将镜像直接写入树莓派的TF卡即可自动安装Homeassistant,并支持hassbian-config脚本来安装其他组件,适合手头有树莓派的朋友快速安装Homeassistant系统。

    +

    该镜像有1.86GB,下载后无需解压,可用win32diskimager等软件直接将img文件写入TF卡,然后树莓派连接网线,通电启动,整个安装过程视网速而定,大约需要10-20分钟不等。如需设置WIFI等信息,可用Putty登入(默认用户为pi,密码为raspberry),然后执行sudo rasp-config来进行设置。

    +

    Github下载地址:https://github.com/home-assistant/pi-gen/releases/latest

    +

    稍后我会将镜像上传到百度盘,方便国内朋友下载。

    +]]>
    + + HomeAssistant + + + 智能家居 + hassbian + LINUX + 安装 + 树莓派 + +
    + + Hassbian-scrpits脚本的安装和应用 + /posts/53352.html + 最新的Hassbian镜像会集成hassbian-scripts脚本服务,使用该脚本可以方便的安装、升级homeassistant的各项服务。

    +

    我们先来升级一下

    +
    sudo hassbian-config upgrade hassbian-script
    +
    +

    TIM截图20180131113607.png

    +

    输入下面的命令可以看到当前可用的hassbian-scrpits脚本命令

    +
    sudo hassbian-config show
    +
    +

    TIM截图20180131113643.png

    +

    如果我们要安装samba服务,只需要输入

    +
    sudo hassbian-config install samba
    +
    +

    即可一键完成samba的服务。

    +

    如果我们要升级Home-Assistant的版本,只需输入

    +
    sudo hassbian-config upgrade home-assistant
    +
    +

    即可一键完成Home-Assistant的升级。

    +

    更多的使用方法请参阅Hassbian-scripts GitHub项目地址:https://github.com/home-assistant/hassbian-scripts

    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + HomeAssistant0.83版本中小米无线开关等设备无法使用解决办法 + /posts/40252.html + 在最新的HomeAssistant0.83版本中,对小米无线开关、Aqara墙壁无线开关及魔方的自动化触发语句做了修改,大家可以按照下面的示例来进行相应的修改。

    +

    小米无线开关

    +
    - alias: Toggle dining light on single press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: single
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_left_158d000xxxxx01
    +- alias: Toggle couch light on double click
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: double
    +  action:
    +    service: switch.toggle
    +    entity_id: switch.wall_switch_right_158d000xxxxx01
    +- alias: Let a dog bark on long press
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.switch_158d000xxxxxc2
    +      click_type: long_click_press
    +  action:
    +    service: xiaomi_aqara.play_ringtone
    +    data:
    +      gw_mac: xxxxxxxxxxxx
    +      ringtone_id: 8
    +      ringtone_vol: 8
    +
    +

    Aqara墙壁无线开关

    +
    - alias: Decrease brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60 >= 10 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Increase brightness of the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
    +      click_type: single
    +  action:
    +    service: light.turn_on
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +    data_template:
    +      brightness: >-
    +        {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %}
    +              {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60 <= 255 %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60}}
    +              {% else %}
    +                {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}}
    +              {% endif %}
    +        {% else %}
    +          10
    +        {% endif %}
    +
    +- alias: Turn off the gateway light
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.click
    +    event_data:
    +      entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
    +      click_type: both
    +  action:
    +    service: light.turn_off
    +    entity_id: light.gateway_light_34xxxxxxxx13
    +
    +

    小米魔方

    +
    - alias: Cube event flip90
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip90
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "springgreen"
    +- alias: Cube event flip180
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: flip180
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "darkviolet"
    +- alias: Cube event move
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: move
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "gold"
    +- alias: Cube event tap_twice
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: tap_twice
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "deepskyblue"
    +- alias: Cube event shake_air
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.cube_action
    +    event_data:
    +      entity_id: binary_sensor.cube_15xxxxxxxxxxxx
    +      action_type: shake_air
    +  action:
    +    - service: light.turn_on
    +      entity_id: light.gateway_light_28xxxxxxxxxx
    +      data:
    +        color_name: "blue"
    +
    +

    Aqara震动传感器

    +
    - alias: Turn on Living Room Lamp on vibration
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: vibrate
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +- alias: Turn on Living Room Lamp on tilt
    +  trigger:
    +    platform: event
    +    event_type: xiaomi_aqara.movement
    +    event_data:
    +      entity_id: binary_sensor.vibration_xxxx000000
    +      movement_type: tilt
    +  action:
    +    service: light.toggle
    +    data:
    +      entity_id: light.living_room_lamp
    +
    +

     

    +]]>
    + + HomeAssistant + + + 智能家居 + 小米 + aqara + homeassistant + 自动化 + +
    + + HomeAssistant0.84版本的Lovelace又更新了 + /posts/45210.html + 没错,最新版的HomeAssistant0.84版本中再次更新了Lovelace的配置方式,如果你之前配置并使用过Lovelace模式,下面我将演示一下如何在0.84版本中导入之前的Lovelace配置并启用全新的"半可视化"Lovelace配置模式。

    +

    请确保你的HomeAssistant已经升级到了0.84版本以上,确保你的配置文件夹根目录下有之前配置过的lovelace.yaml文件。

    +

    切换到Lovelace模式下,在右上角的下拉菜单中选中"配置UI",然后在弹出的对话框中选择"自己配置"。

    +

    TIM截图20181228094315.jpg

    +

    接着我们能在之前的下拉菜单中找到"Raw config editor"

    +

    TIM截图20181228094129.jpg

    +

    然后我们把之前配置过的lovelace.yaml文件中的所有内容复制到当前页面,并在右上角点"SAVE"保存。

    +

    TIM截图20181228094047.jpg

    +

    现在我们已经把之前配置过的Lovelace导入到新版本中了。

    +

    这样你可以再次点击"配置UI"来使用全新的可视化模式来配置Lovelace界面了。

    +

    如果你还是喜欢用yaml文件的方式来配置Lovelace界面,只需要将下面的字段插入到主配置文件中。

    + + +
    lovelace:
    +  mode: yaml
    +
    + + +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + HomeAssistant利用WOL及shell_command添加群晖NAS开关无坑版 + /posts/27341.html + 记过了近两天的各种尝试,终于搞定了群晖NAS在HomeAssistant的开关机操作,废话不多说,直接切入正题。

    +

    先说一下我这边的设备。

    +

    树莓派安装hassbian镜像运行HomeAssistant。

    +

    X86架构的黑群晖一台,内网IP为192.168.1.111。

    +

    我在HomeAssistant中用到的是WOL组件,利用网卡的MAC地址来唤醒NAS。首先将群晖的MAC地址和IP地址在路由器中进行绑定操作,并记录下MAC及IP地址。

    +

    然后在HomeAssistant系统中添加WOL组件。

    +
    - platform: wake_on_lan
    +  mac_address: "B8-97-5A-F5-5B-CA" ####群晖的实际MAC地址####
    +  host: 192.168.1.111  ####群晖在内网中的IP地址####
    +  name: MY-NAS   ####给这个开关起个名字####
    +  turn_off:
    +    service: shell_command.nasoff
    +
    +

    重点来了,看到turn_off命令了吗?这里用到的是shell_command组件,所以我们需要添加一个shell_command脚本,直接在configuration.yaml中添加就可以。

    +
    shell_command:
    +  nasoff: "ssh root@192.168.1.111 'shutdown -h now'"  ####将这里的IP替换为你群晖的IP####
    +
    +

    接下来,我们用putty登录到NAS,修改下root用户的密码,步骤可以参考我的上一篇文章。

    +
    https://miaoyang.win/%E7%BE%A4%E6%99%96dsm%E8%8E%B7%E5%8F%96root%E5%AF%86%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95.html
    +
    +

    之后我们用putty登录到树莓派,运行下面的命令,切换到homeassistant用户。

    +
    sudo su -s /bin/bash homeassistant
    +
    +cd
    +
    +

    此时请确保你的NAS是开机状态。

    +
    ssh-keygen
    +
    +ssh-copy-id root@192.168.1.111
    +
    +

    接着按照提示输入群晖NAS的root账户及密码,然后创建rsa秘钥,rsa生成之后我们就可以直接用 ssh root@192.168.1.111 这个命令来登录群晖NAS了,不用再输入密码。

    +

    最后我们重启一下树莓派就可以了。

    +

    NAS开关机的状态反馈会有30秒左右,在界面里面点了开关之后不要着急,等30s左右系统就会接收到返回的状态。

    +]]>
    + + HomeAssistant + + + NAS + 智能家居 + home + Synology群晖 + synology群晖 + WOL + +
    + + HomeAssistant基础设置笔记 + /posts/36865.html + 现在,HomeAssistant系统虽然已经安装完成,但我们还需进行一些基础的设置,才能正常使用。

    +

    我们以下的操作,如无特殊说明,均在Windows10 X64操作系统下完成。

    +

    我们在之后的操作中会经常用到三个软件,请下载安装:

    +
      +
    1. PUTTY:用于远程登录主机,运行操作命令;
    2. +
    3. WINSCP:用于远程登录主机,对文件进行操作;
    4. +
    5. Notepad++:用于编辑.yaml等文本文件。
      +首先,我们打开PUTTY软件,在Hostname处输入主机的ip地址,端口保持22不变,连接类型选择SSH,然后点击OPEN。
      +TIM截图20180131083738.png
    6. +
    +

    在弹出的终端窗口中我们用树莓派默认的用户名(pi)和密码(raspberry),然后回车来登录主机,注意输入密码的时候界面不会显示。

    +

    TIM截图20180131083840.png

    +

    登录成功之后会出现如下界面,如果登录失败,请检查输入的用户名和密码是否有误。

    +

    TIM截图20180131112150.png

    +

    我们可以运行以下命令来设置树莓派的网络、时区、输入输出设备等,类似于WINDOWS下的控制面板。

    +
    sudo raspi-config
    +
    +

    TIM截图20180131112237.png

    +

    我们先来修改时区,依次进入Localisation Options-Change Timezone,选择Asia-Chongqing。

    +

    TIM截图20180131112628.png

    +

    当然如果只是修改时区的话,直接输入

    +
    sudo dpkg-reconfigure tzdata
    +
    +

    即可直接进入。

    +

     

    +]]>
    + + HomeAssistant + + + 智能家居 + putty + winscp + +
    + + docker环境中安装mqtt服务器 + /posts/64780.html + 和上次一样,用putty登录NAS。

    +
    sudo -i
    +
    +

    切换到root账户,然后拉取mqtt镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/ncarlier/mqtt
    +
    +

    然后进入docker中的映像,选择刚刚下载好的mqtt映像,点击启动。

    +

    TIM截图20180422215859.png

    +

    容器名称随便写。
    +TIM截图20180422214120.png

    +

    在弹出的窗口中选择"高级选项",然后选择"网络",在"使用与docker host相同的网络"前打钩,

    +

    TIM截图20180422214341.png

    +

    之后切换到"环境"选项卡,添加两个变量:

    +

    可变:PATH 值:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    +可变:DEBIAN_FRONTEND 值:noninteractive

    +

    TIM截图20180422214711.png

    +

    之后点击应用,一路完成。

    +

    接着我们来创建mqtt的用户名和密码。

    +

    转到容器选项卡,并启动刚创建的容器,切换到"终端机"。

    +

    如下图所示,新建一个命令。

    +

    TIM截图20180422215103.png

    +

    然后输入mosquitto_passwd -c pwfile.example pi (此处将pi改为你想创建的用户名)
    +TIM截图20180422215153.png

    +

    点击确认之后,在左边切换到mosquitto_passwd,输入两次密码。

    +

    TIM截图20180422215242.png

    +

    这样,我们就创建了一个名为pi的mqtt用户,并为其设置了密码。

    +]]>
    + + HomeAssistant + + + docker + 智能家居 + mqtt + Synology群晖 + synology群晖 + Docker + +
    + + homeassistant报404错误手动安装 frontend组件 + /posts/49575.html + +

    昨天将HomeAssistant升级到最新的0.89.2版本之后,网页页面打不开,提示404错误,查看log日志发现有如下报错信息:

    + + +
    019-03-14 21:54:55 ERROR (SyncWorker_13) [homeassistant.util.package] Unable to install package home-assistant-frontend==20190305.1: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))': /packages/bc/99/d91230141eb6838f9daa18e04bcbc206a40c8c14bb2edde7f75ba264f4b5/home-assistant-frontend-20190305.1.tar.gz
    +
    + + +

    主要报错信息是Unable to install package home-assistant-frontend==20190305.1,也就是无法安装版本为20190305.1的home-assistant-frontend组件,解决办法就是手动安装。

    + + +

    Putty登陆到你的Hass主机,然后依次运行以下命令:

    + + +
    sudo su -s /bin/bash homeassistant
    +source /srv/homeassistant/bin/activate
    +pip3 install  home-assistant-frontend==20191025.1
    +等到安装完之后之后
    +exit
    +
    + + +

    ** 目前最新的frontend版本为20191025.1 ,所以这里我们安装最新版。**

    + + +

    最后重启homeassistant就可以了。

    + + +

    如果系统log中有其他缺失组件的报错,也可以用此方法来试着修复,但此方法只适用于基于命令安装的home-assistant,不适用于hassio等其他系统。

    + + +]]>
    + + HomeAssistant + + + LINUX + homeassistant + frontend + +
    + + 【3-21更新】Padavan路由器使用HomeAssistant自带的Asuswrt组件来追踪设备 + /posts/38617.html + 想要将Padavan固件的路由器接入HomeAssistant系统中用来追踪设备,除了使用第三方插件还能怎么办?HomeAssistant官方给出了解决办法,只需要路由器上稍作修改,即可使用HA官方的ASUSWRT组件。话不多说,跟我一起来做吧。

    +

    首先确保路由器打开了SSH功能,高级设置—系统管理–服务–启用SSH服务。

    +

    ss.jpg

    +

    接下来我们用Putty登陆路由器来进行操作,登陆地址就是你的路由器地址,端口默认是22,用户名和密码就是你登陆路由器管理界面的用户名和密码。

    +

    登陆成功之后依次运行以下命令行:

    + + +
    find / -name "dnsmasq.leases"
    +####寻找dnsmasq.leases文件的位置,并记录下来####
    +mkdir -p /var/lib/misc
    +####创建目录####
    +echo "/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases" >> /etc/storage/started_script.sh
    +####将脚本添加到启动项(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +/bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases
    +####将dnsmasq.leases文件进行位置链接(将路径/tmp/dnsmasq.leases替换为第一步找到的路径)####
    +
    +

    TIM截图20190314105322.png

    +

    完成以上设置之后,我们前往HomeAssistant的主配置文件
    +configuration.yaml 中添加以下代码:

    + + +
    asuswrt:
    +  host: ####路由器IP地址####
    +  username: ####路由器登陆名####
    +  password: ####路由器登陆密码####
    +
    + + +

    添加完之后就大功告成了,更详细的配置说明请查阅HomeAssistant官网https://www.home-assistant.io/components/asuswrt/

    + + +

    3/21更新:

    + + +

    asuswrt插件下的sensor无法获取到数值,我在正文中已经删除;

    + + +

    另外因为asuswrt没有了 track_new_device参数,所以加入WIFI的新设备会自动被追踪,目前的解决方法是将下面的代码直接添加到configuration.yaml文件中。

    + + +
    device_tracker:
    +  - platform: asuswrt
    +    consider_home: 180
    +    new_device_defaults:
    +      track_new_devices: false
    +      hide_if_away: false
    +
    +]]>
    + + HomeAssistant + + + 智能家居 + homeassistant + device_tracker + padavan + +
    + + 【3-29更新】如何将鸿雁8340插排接入HomeAssistant + /posts/6049.html + timg-1-1.jpg

    +

    鸿雁的8340系列插排(包括8340B及8340J)是一款WIFI四孔位智能插排,有一个实体按键,可控制总开总关。使用APP绑定之后四个孔位可以独立控制开关。

    +

    将其接入HomeAssistant系统之后,不仅可以分控四个孔位,还可以实现更多的自动化。话不多说,一起跟我来设置。

    +

    首先请确保插排已根据说明接入到了WIFI,并记录下插排的IP地址及MAC地址备用。

    +

    由于官方暂时没有收录该插排,我们需要手动上传插件,将broadlink_mp1.py上传到HomeAssistant配置文件夹下的/cutom_components/switch目录下。如果没有请手动创建。

    +

    截止我们在configuration.yaml文件中加入以下配置文件

    +
    `switch:
    +  - platform: broadlink_mp1  ####不可更改####
    +    host: 192.168.1.195  ####插排的IP地址####
    +    mac: '34:EA:34:C7:19:15'   ####插排的MAC地址####
    +    friendly_name: "Broadlink MP1"   ####填写你喜欢的名字####
    +    alias:
    +      s1: device1   ####给每一个插孔起个名字####
    +      s2: device2
    +      s3: device3
    +      s4: device4 `
    +

    添加完成之后重启系统即可。

    +

    +

    插件下载地址:

    + +

    目前官方已正式支持该设备,直接在configuration.yaml添加以下字段即可。

    + + +
    switch:
    +  - platform: broadlink
    +    host: !secret hongyan1
    +    mac: '34:EA:34:C7:19:15'
    +    type: mp1
    +    friendly_name: "Broadlink MP1"
    +    slots:
    +      slot_1: 'device1'
    +      slot_2: 'device2'
    +      slot_3: 'device3'
    +      slot_4: 'device4' 
    +
    +]]>
    + + HomeAssistant + + + 智能家居 + 插排 + 鸿雁 + +
    + + 使用include语句重建HomeAssistant结构 + /posts/5098.html + 添加的设备越来越多,configuration.yaml文件越来越长,而且修改和查找起来起来很不方便,肿么办?

    +

    我们可以使用include语句来将不同类型的设备分成单独的yaml文件,方法很简单,在configuration.yaml文件夹添加

    +
    switch: !include switch.yaml
    +
    +

    然后在配置文件夹新建一个switch.yaml文件,即可将switch类型独立成一个单独的yaml文件。

    +

    同理,我们也可以将常用的sensor、device_tracker、media_player、light、automation等类型统统分开,类似这样

    +
    ###配置指向###
    +group: !include groups.yaml
    +automation: !include automations.yaml
    +switch: !include switch.yaml
    +binary_sensor: !include binary.yaml
    +sensor: !include sensors.yaml
    +light: !include lights.yaml
    +device_tracker: !include device_trackers.yaml
    +input_select: !include input_select.yaml
    +input_boolean: !include input_boolean.yaml
    +media_player: !include media_player.yaml
    +
    +

    独立之后的yaml文件配置代码直接以platform开头即可,类似这样

    +
    - platform: broadlink
    +  host: xx.xx.xx.xx
    +  mac: 'xx:xx:xx:xx:xx'
    +  type: spmini2
    +  friendly_name: 'spmini' 
    +
    +

    不必再声明类型。

    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + 在orange pi上安装homeassistant + /posts/26009.html + +

    我使用的是orange pi zero 512M的版本,其他版本的orange pi 类似。

    + + +

    首先前往armbian网站下载最新版的Debian_stretch镜像并写入TF卡,将机器接入网线然后通电开机。

    + + +

    登录路由器或手机下载Fing软件,找到orange pi的IP地址,然后用Putty登录root账户,默认密码是1234。

    + + +

    首次登录系统会要求修改root密码以及创建一个新用户(下面以pi用户名为例进行演示),我们根据提示进行操作就可以了。

    + + +

    接下来我们输入armbian-config命令来进行连接WIFI,修改时区,修改网络名称,禁用IPV6等操作,根据菜单提示一步一步进行即可。设置完之后我们reboot一次机器。

    + + +

    等机器重启完之后我们用root登录,然后进行以下操作:

    + + +
    apt update
    +apt upgrade -y
    +apt install sudo net-tools -y
    +
    + + +

    将我们创建的用户加入到sudo组

    +
    nano /etc/sudoers
    +
    +

    将pi ALL=NOPASSWD: ALL插入到相应位置。

    +

    然后我们切换到之前创建的pi用户来进行下面的操作

    +
    su pi
    +sudo apt install wget screen git curl -y
    +sudo wget https://github.com/home-assistant/hassbian-scripts/releases/download/v0.6/hassbian-scripts_0.6.deb
    +sudo apt install bluetooth avahi-daemon python3-venv  python3-pip python3-dev libbluetooth-dev build-essential libssl-dev libffi-dev  python-dev libudev-dev -y
    +sudo dpkg -i  hassbian-scripts_0.6.deb;
    +sudo hassbian-config show;
    +sudo mv /opt/hassbian/suites/install_homeassistant.sh /opt/hassbian/suites/install_homeassistant.sh.bak
    +sudo nano /opt/hassbian/suites/install_homeassistant.sh
    +
    +

    然后复制以下内容并保存退出:

    +
    #!/bin/bash
    +function homeassistant-show-short-info {
    +    echo "Home Assistant install script for Hassbian"
    +}
    +function homeassistant-show-long-info {
    +    echo "Installs the base homeassistant package onto this system."
    +}
    +function homeassistant-show-copyright-info {
    +    echo "Copyright(c) 2017 Fredrik Lindqvist <https://github.com/Landrash>";
    +}
    +function homeassistant-install-package {
    +homeassistant-show-short-info
    +homeassistant-show-copyright-info
    +echo "Changing to the homeassistant user"
    +sudo adduser --system homeassistant
    +sudo addgroup homeassistant
    +sudo chown -R homeassistant:homeassistant /srv/homeassistant
    +sudo su -s /bin/bash homeassistant
    +echo "Creating Home Assistant venv"
    +python3 -m venv /srv/homeassistant
    +echo "Changing to Home Assistant venv"
    +source /srv/homeassistant/bin/activate
    +echo "Installing latest version of Home Assistant"
    +pip3 install pip==18.1 netdisco setuptools wheel
    +pip3 install homeassistant
    +echo "Deactivating virtualenv"
    +deactivate
    +EOF
    +echo "Enabling Home Assistant service"
    +systemctl enable home-assistant@homeassistant.service
    +sync
    +echo "Disabling the Home Assistant install script"
    +systemctl disable install_homeassistant
    +systemctl daemon-reload
    +echo "Starting Home Assistant"
    +systemctl start home-assistant@homeassistant.service
    +cd
    +ip_address=$(ifconfig ' awk -F':' '/inet addr/&&!/127.0.0.1/{split($2,_," ");print _[1]}')
    +echo
    +echo "Installation done."
    +echo
    +echo "Your Home Assistant installation is running at $ip_address:8123 or if prefered http://hassbian.local:8123";
    +echo
    +echo "To continue have a look at https://home-assistant.io/getting-started/configuration/";
    +echo
    +echo "If this script failed then this Raspberry Pi most likely did not have a fully functioning internet connection."
    +echo "If you have issues with this script, please say something in the #Hassbian channel on Discord."
    +echo
    +return 0
    +}
    +# Make this script function as it always has if run standalone, rather than issue a warning and do nothing.
    +[[ $0 == "$BASH_SOURCE" ]] && homeassistant-install-package
    +
    +

    接下来运行

    +
    sudo hassbian-config install homeassistant
    +
    +

    等停止之后输入

    +
    exit
    +
    +

    安装会继续进行。

    +

    等到安装结束之后运行下面命令:

    +
    sudo chown -R homeassistant:homeassistant /srv/homeassistant;
    +sudo systemctl stop home-assistant@homeassistant.service;
    +sudo su -s /bin/bash homeassistant;
    +source /srv/homeassistant/bin/activate;
    +hass
    +
    +

    直到我们能正常打开orange pi ip:8123看到网页,整个安装过程结束。

    +

    之后我们可以使用sudo hassbian-config show来安装samba、mqtt等服务。

    +

     

    +]]>
    + + HomeAssistant + + + 智能家居 + LINUX + homeassistant + orangepi + +
    + + 在群晖NAS中用docker安装homeassistant + /posts/54954.html + 首先在群晖套件中心安装Docker应用并打开,打开FileStation,在docker文件夹中新建一个名为"home-assistant"的文件夹。

    +

    然后进入DSM的控制面板,选择"终端机和SNMP",然后启动Telnet和SSH。

    +

    接下来我们去阿里云来获取docker加速地址,我获取到的地址是https://cb59j9ia.mirror.aliyuncs.com

    +

    接着我们用putty软件登录到NAS,用户名为admin,密码为admin的登录密码,然后依次运行以下命令:

    +
    sudo -i
    +
    +

    输入密码切换到root权限;

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/homeassistant/home-assistant
    +
    +

    拉取homeassistant的docker镜像;

    +

    等到下载完成之后运行

    +
    docker run -d --name="home-assistant" -v /volume1/docker/home-assistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
    +
    +

    注意将命令中的volume1替换为你实际的地址;

    +

    等到命令执行完之后,我们打开http://nasip:8123就可以看到homeassistant的界面了,至此,homeassistant在docker中已安装完成。

    +

    如何配置homeassistant呢?我们可以通过网上邻居,打开NAS中docker目录下的home-assistant文件夹来配置。

    +]]>
    + + HomeAssistant + + + docker + 智能家居 + homeassistant + Synology群晖 + synology群晖 + Docker + +
    + + 在群晖NAS的Docker下安装appdaemon + /posts/5754.html + Appdaemon是用来干嘛的?

    +

    appdaemon是用python编写并在其环境下运行的一套程序。

    +

    HAdashboard和Appdaemon是什么关系?

    +

    HAdashboard是一种图形界面化的程序,是appdaemon下的一个子系统。想要安装HAdashboard必须先安装Appdaemon,然后在Appdaemon下再安装HAdashboard。

    +


    +用putty登录NAS,并切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取appdaemon镜像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/acockburn/appdaemon
    +
    +

    打开FileStation,在docker目录下新建一个名为"appdaemon"的文件夹,然后在appdaemon文件夹下新建

    +
    compiled/Javascript 及compiled/css 文件夹。
    +
    ![](TIM截图20180424093953.png)
    +回到docker中的映像,启动刚刚获取到的appdaemon镜像,然后点击高级设置。 +

    TIM截图20180424093813.png

    +

    切换到"卷"选项卡,添加文件夹,输入 docker/appdaemon,对应的装载路径输入/conf。

    +

    TIM截图20180424110151.png

    +

    然后切换到"网络"选项卡,选择"使用与docker host 相同的网络"。

    +

    TIM截图20180424094229.png

    +

    最后切换到"环境"选项卡,添加如下变量:

    +

    1.可变:HA_URL 值: http://nasip:8123 # homeassistant的地址。

    +

    2.可变:HA_KEY 值:password #homeassistant的登陆密码。

    +

    3.可变:DASH_URL 值: http://nasip:5050 #appdaemon的登陆的网址。

    +

    4.可变:DASH_PASSWORD 值:password #登录appdaemon的密码,可以不设置。

    +

    TIM截图20180424094456.png

    +

     

    +

    设置完成之后启动容器。

    +

    查看容器的运行日志,如果出现下图字样,说明appdaemon已经安装完成。

    +

    TIM截图20180424105908.png

    +

    我们输入http://nasip:5050就能看到appdaemon的界面了。

    +

    TIM截图20180426095025.png

    +

    如果打不开网页,请检查一下docker/appdaemon/appdaemon.yaml文件,是否有

    +
    hadashboard:
    +  dash_url: http://nasip:5050
    +
    +

    如果没有请添加后重启容器。

    +

    注意:HA的密码要设置的复杂一点,不能纯数字,否则会报错!!!

    +

    appdaemon的详细使用和设置,请参考网站http://appdaemon.readthedocs.io/en/latest/index.html

    +]]>
    + + HomeAssistant + + + docker + 智能家居 + appdaemon + homeassistant + Synology群晖 + synology群晖 + Docker + +
    + + 小米米家设备接入HomeAssistant + /posts/28746.html + TIM截图20180202134007.png

    +

    小米的HA插件已被官方正式收录,现在只要在configuration.yaml文件中直接添加配置即可完成小米米家设备的接入。

    +

    如果局域网中只有一个小米网关,无需添加MAC地址,只需在米家APP中获取局域网通讯协议,填入即可,配置代码如下:

    +
    xiaomi_aqara:
    +  discovery_retry: 5
    +  gateways:
    +    - key: xxxxxxxxxxxxxxxx
    +
    +

    如果局域网中有多个网关,需要获取到各自的MAC地址及局域网通讯协议,配置代码如下:

    +
    xiaomi_aqara:
    +  gateways:
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +    - mac: xxxxxxxxxxxx
    +      key: xxxxxxxxxxxxxxxx
    +
    +

    目前可以接入HA的设备有:

    +
      +
    • 温湿度传感器
    • +
    • 移动传感器
    • +
    • 门窗传感器
    • +
    • 小米无线开关
    • +
    • 小米ZIGBEE智能插座
    • +
    • 墙面插座
    • +
    • AQARA单双键面板(单火及零火)
    • +
    • AQARA单双键无线开关
    • +
    • 小米魔方
    • +
    • 天然气传感器
    • +
    • 烟雾传感器
    • +
    • 网关夜、亮度、铃声
    • +
    • 智能窗帘
    • +
    • 溢水传感器
    • +
    • 电量传感器
      +详情请参阅HA官方文档https://home-assistant.io/components/xiaomi_aqara/
    • +
    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + 智能家居的精髓-人性化的自动化 + /posts/10394.html + 个人认为,智能家居的核心是自动化,而智能家居的精髓所在,是人性化的自动化。所有设备根据设定好的条件自动运行,有条不紊,而不是掏出手机,点开APP来控制。

    +

    HomeAssistant系统提供了强大的自动化平台,利用各式各样的传感器来自动化控制各类设备。

    +

    举个例子,每天都有太阳升起和降落的时间,我们可以设置,每天太阳升起时关闭卧室的吊灯,太阳降落时打开卧室的吊灯。

    +

    当然这只是最简单的一个自动化,我们可以在其中添加更多的条件,让它越来越人性化。

    +

    太阳降落时,如果我不在家,就不用开灯,我在家的时候才打开卧室的吊灯。

    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + 树莓派安装HomeAssistant笔记 + /posts/58386.html + 树莓派安装HomeAssistantyou很多方法,比如HA强推的HASSIO、ALL IN ONE脚本安装以及通过Docker安装等方法,相比而言,我更推荐使用Hassbian镜像来安装HomeAssistant,相比较而言,Hassbian镜像安装使用时间更短,组件相对完整,比HASSIO及DOCKER有更开放的系统。下面我会详细记录树莓派3B使用Hassbian镜像来安装HomeAssistant的过程。

    +

    我们需要准备一台目前最新的树莓派3B主机,为了保证树莓派稳定运行,最好选用5V2.5A的电源,准备一张8GB以上的高速TF卡,推荐闪迪16GB A1速的TF卡,另外我们还需要提供稳定高速的下载环境,最好可以稳定访问Github以及Homeassistant.io、Google等国外网站。

    +

    硬件方面基本上准备就绪了,下面我们来准备需要用到的软件。

    +

    首先是hassbian镜像,下载地址

    +
    https://github.com/home-assistant/pi-gen/releases
    +
    +

    目前最新的hassbian镜像版本为1.31,我们点击页面上的下载链接将.zip文件下载到电脑,文件大小为400MB左右,如果网络对国外网站的访问速度慢的话,会需要较长的时间,耐心等待下载完成。下载完成之后解压得到.img文件备用。

    +

    接下来我们需要将.img文件写到准备好的TF卡中,需要两个软件,SD FOMATTER和WIN32DISKIMAGER,下载地址请自行搜索。用稳定的读卡器将TF卡和电脑连接,打开SD FOMATTER软件将卡格式化,格式化完毕之后用WIN32DISKIMAGER软件浏览到.img镜像,选择TF卡的盘符,点击"WRITE"将.img文件写入TF卡。

    +

    写入完成之后将TF卡插入树莓派卡槽,插上网线,通电开机。

    +

    如果网速稳定的话,预计在10分钟之内,HomeAssistant系统会自动安装完毕,此时我们需要在手机上下载一个名为"Fing"的APP来查看树莓派的IP地址,当然也可以在路由器的DHCP列表中查看。找到主机名为"Hassbian"的设备并记录下该IP地址,用浏览器访问http://ip:8123即可进入安装好的HomeAssistant界面。

    +

    到此为止,安装过程结束,之后我们会对安装好的HomeAssistant系统进行初步的配置。

    +]]>
    + + HomeAssistant + + + 智能家居 + 安装 + 树莓派 + homeassistant + +
    + + 简化操作安装hassctl命令 + /posts/11416.html + 现在我们安装HASSCTL脚本,使用该脚本可以很方便的开启、停止、重启、升级HomeAssistant以及检查HomeAssistant配置文件是否有误。

    +
    sudo curl -o /usr/local/bin/hassctl https://raw.githubusercontent.com/dale3h/hassctl/master/hassctl && sudo chmod +x /usr/local/bin/hassctl
    +
    +

    安装完成之后,我们可以使用以下命令:

    +
    hassctl start   ###快速启动homeassistant服务###
    +hassctl stop   ###快速停止homeassistant服务### 
    +hassctl restart   ###快速重启homeassistant服务### 
    +hassctl config   ###检查homeassistant配置文件是否有误###
    +hassctl update-hass  ###升级homeassistant到最新版本###
    +
    +

    更详细的使用说明可以参照作者的GitHub项目主页:https://github.com/dale3h/hassctl

    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + 获取token将米家PM2.5传感器接入HomeAssistant + /posts/28478.html + TIM图片20180518150305.jpg

    +

    由于HomeAssistant官方并没有发布米家PM2.5传感器的组件,所以我们这里需要用到第三方组件才能将其顺利接入HomeAssistant。

    +

    这个是bit3725大神制作的插件页面,下载之后放入/custom_components/sensor路径下,然后在配置文件中加入下面的配置即可。

    +
    sensor:
    +  - platform: mi_air_quality_monitor
    +    host: YOUR_SENSOR_IP
    +    token: YOUR_SENSOR_TOKEN
    +    name: YOUT_SENSOR_NAME
    +
    +

    这里我们遇到一个问题,因为米家的这个传感器不是通过多功能网关连接,而是直接通过WIFI连接的,所以我们需要想办法获取到设备的token。

    +

    HA官方在这个页面介绍了几种方法,我试过mitoolkit工具这个方法,不清楚是米家APP版本的问题还是电脑端JAVA环境的问题,始终无法正常获取,所以我用了直接在树莓派上安装miio的方法来获取米家PM2.5传感器token的方法。具体操作如下

    +

    首先putty登录到树莓派,输入下面命令来安装miio

    +
    sudo npm install -g miio
    +
    +

    安装完成之后我们输入下面的命令来查看设备的token

    +
    miio discover
    +
    +

    如下图会出现传感器的token,我们将token填入插件即可完成配置。

    +

    TIM截图20180518144528.png

    +

    如果你的系统里面没有安装nmp命令,可以参阅我的另一篇文章来进行安装。

    +

    此方法同样适用于需要获取token才能接入HomeAssistant的其他米家设备。

    +]]>
    + + HomeAssistant + + + 智能家居 + LINUX + homeassistant + token + 米家 + +
    + + + /posts/29347.html + +

    今天将hass升级到最新的0.86.3.之后,系统提示自动化有错误,具体报错信息如下:

    + + +
    Invalid config for [automation]: [minutes] is an invalid option for [automation].
    +
    + + +

    查阅官方更新日志后得知,最新版本的hass新增了名为"time_pattern"的platform,而之前版本中的自动化一律使用的是名为"time"的platform。

    + + +

    那么什么时候用"time",什么时候用"time_pattern"呢?

    + + +

    如果你的自动化使用的是具体的绝对时间,也就是有详细的时分秒的时候,使用"time",比如:

    + + +
    automation:
    +  trigger:
    +    platform: time
    +    # Military time format. This trigger will fire at 3:32 PM
    +    at: '15:32:00'
    +
    + + +

    如果你的自动化使用的是相对时间,那么就应该使用"time_pattern",比如:

    + + +
    automation 2:
    +  trigger:
    +    platform: time_pattern
    +    # Trigger once per minute during the hour of 3
    +    hours: '3'
    +    minutes: '*'
    +
    + + +

    然后把自动化中使用相对时间的platform改为"time_pattern"之后,之前的报错就消失了。

    +]]>
    + + HomeAssistant + + + 智能家居 + +
    + + HomeAssistant升级到了2024.10.4 + /posts/63727.html + 没错,2024年11月4日,我将家里HomeAssistant的版本升级到了2024.10.4-截止到目前的最新版本。
    +目前在用的是2024.9.1的版本,使用了近两个月的时间,很稳定,很少重启。时隔一个月才升级到新版本,主要还是觉得智能家居系统这一块,稳定是最重要的,如果没有特别大的功能改动或异常BUG,我现在是不会在第一时间升级到新版本的。
    +我的HA是在docker环境下运行的,跑在刷了iStoreOS的N1盒子上,由于盒子是arm架构的,所以拉取镜像的时候需要选择homeassistant/aarch64-homeassistant这个镜像,而这个镜像的latest有问题,所以每次拉取镜像的时候需要手动加上版本号,例如homeassistant/aarch64-homeassistant:2024.10.4。
    +该版本具体更新了哪些可以参与HA官网文档2024.10: Heading in the right direction - Home Assistant

    +

    简单说一下我的更新步骤:
    +1.拉取新版本docker镜像;
    +2.复制旧版本容器,然后选择新版本的docker镜像,创建新容器,其他设置保持不变;
    +image.png
    +3.停止旧版本容器,启动新版本容器。
    +image.png
    +4.确认新容器启动正常无报错。
    +通常我会保留旧版容器3-5天,确认新版本一切正常之后再手动删除。如果期间新容器有异常,还可以随时退回到旧版本。

    +]]>
    + + 叨叨 + + + homeassistant + +
    + + Mac加量不加价-全线产品16+256起步,维持原价 + /posts/64365.html + image.png

    +

    随着昨晚新款Macbook Pro的发布,苹果已经调整了全系Mac系列内存的起步容量,由原先的最低8GB起步升级为16GB起步,包括在售搭载M2和M3处理器的Macbook Air和Pro,最低配置已经升级到了16GB+256GB的配置,而且售价还维持原来的不变。官网也大方暗示,内存升级到16GB起步是为即将到来的苹果AI智能做准备。
    +image.png
    +最近有购买Mac需求的小伙伴可以入手了,旧款Macbook的性价比瞬间拉满。😊

    +]]>
    + + 叨叨 + + + 苹果 + Macbook + AI + +
    + + TESLA,WE ROBOT! + /posts/55722.html + image.png

    +

    北京时间10月11日,埃隆马斯克用一场名为“WE,ROBOT”的发布会,向世人展示了基于特斯拉最新全自动驾驶(FSD)的Robotaxi,客货两用车Robovan。另外还有人形机器人Tesla Bot。

    +

    Robotaxi

    +

    微信截图_20241012105529.png

    +

    据马斯克透露,Robotaxi预计2026年在美国上市。没有传统意义上的方向盘及刹车油门踏板,妥妥的L5。不再使用传统的充电插头,而是通过感应充电垫进行无线充电。

    + +

    Robovan

    +

    微信截图_20241012110310.png

    +

    Robovan 既能作为客运车辆承载 20 名乘客,也可转换为货运车辆满足不同运输需求,同样没有方向盘及踏板。整体造型就像从科幻片中出来一样。这种高灵活性的设计为城市交通和物流运输提供了新的解决方案,提高了车辆的使用效率和经济性。

    +

    Tesla Bot

    +

    微信截图_20241012105540.png

    +

    Tesla Bot人形机器人可以实现如照顾孩子、遛狗、修剪草坪、去超市买东西、端咖啡等各种日常事务,具有高度的灵活性和实用性,为未来的家庭服务和个人助理机器人发展提供了新的可能性。未来按规模生产的机器人成本将在 2 万 - 3 万美元之间,相比之前的机器人技术,成本大幅降低,使得人形机器人更有可能走进普通家庭,具有广泛的市场应用前景。

    +

    引用

    +

    图片引用自tesla官网。

    +]]>
    + + 叨叨 + + + 特斯拉 + Robotaxi + Tesla + Robovan + +
    + + 在Follow订阅渊澄最新动态 + /posts/49200.html + Follow是最近很热门的一款RSS订阅器,虽说是热门,但也仅限于所谓的极客圈吧。目前RSS已经被人忘却很多年了,新兴一代好像都不清楚RSS是什么东西。似乎只有在十几年前写博客的元老们才了解RSS为何物。还记得最后一次使用的RSS订阅器还是Google Reader那时还是上高中或大学的时候,06-10年左右吧。可惜谷歌早已放弃了这个项目,之后随着微博等自媒体的兴起,也就没有再用其他RSS订阅器的机会了,虽然也有一些类RSS订阅器做的还不错,比如flipboard,但终究RSS已经成了一个小众领域。
    +image.png

    +

    Follow官网Follow

    + +

    目前处于公测阶段,有web版和电脑客户端两个版本,暂时还没有移动端应用。注册无需邀请码,可关联Github或是Google账户登录,但一些功能还是需要邀请码才能使用的,比如内置的自动化功能。因为没有邀请码,无法测试这个自动化究竟是个什么功能。还有目前没有邀请码的用户最多只能订阅5个更新源。
    +image.png

    +

    Follow除了支持传统的RSS文章订阅之外,还支持B站、油管、电报、小红书等账号的订阅,而这些功能是基于Follow作者之前名为RSShub的项目。该项目可以将三方自媒体平台更新数据转化为可供RSS订阅的地址,通过一个客户端就可以关注到你在不同平台上所关注的用户的更新动态了,而这个客户端就类似于现在提到的Follow。只是Follow对所关注的内容做了细化分类,分为普通文章、社交媒体,图片、视频、音频及通知,可根据平台的类型划分到不同的分类下面,以获取更好的阅读体验。比如可以把普通的博客划分到文章,B站和油管的更新划分到视频,微博或是X划分到社交媒体,Instagram的更新划分到图片,而类似于什么值得买之类的更新可划分到通知类。
    +image.png
    +目前有一点需要吐槽一下,如果我想要在Follow关注我在三方平台关注的用户,只能一个一个手动搜索然后添加关注,很是不便。如果Folllow能够一键读取我三方平台内关注的用户并同步过来,应该会极大的改善用户的体验,但这需要Follow和各平台进行数据对接,而平台应该是会反对了,因为通过Follow浏览更新之后,几乎没有平台什么事了。

    +

    Follow的另一个亮点是支持打赏功能,你可以给你喜欢的文章进行打赏,当然前提是这个文章所有者进行了Follow认证,打赏的金额才能进入到他的账户中去。Follow使用的打赏货币名为power,是一种区块链货币,按照官方的说法会根据在Follow上的活跃度和贡献值来获取power。而目前似乎没有更为详细的获取规则。
    +image.png

    +

    以下是Follow认证信息。

    +
    This message is used to verify that this feed (feedId:73561881581939712) belongs to me (userId:73561590031793152). Join me in enjoying the next generation information browser https://follow.is.
    +

    目前渊澄站点已经过认证,在搜索框中直接输入【渊澄】可直接订阅我们的更新动态。或者直接填入渊澄的RSS地址也是可以的 atom.xml
    +image.png
    +如果你有需要认证的RSS源,可以参照指引将认证信息填入更新文章内,Follow读取到包含认证信息的更新后就成功了。站点右上角就会出现认证图标。
    +更多的其他功能估计要等到正式版发布才能体验到。
    +最后还是希望Follow能把RSS再次带回到大众视野,虽然RSS已经注定了是个小众领域了,但至少可以让当下的年轻人知道还有一种跨平台订阅更新的方式叫做RSS。

    +]]>
    + + 叨叨 + + + Follow + 订阅 + +
    + + 导入WordPress备份的历史文章 + /posts/56316.html + 今天终于把我尘封多年的之前在WordPress写的日志导入到了Hexo。由于之前在WP导出的是xml,而hexo使用的是markdown格式,在往上搜了几个转化的工具都是一堆报错。最后按照下列文章的指引成功将wordpress备份出来的xml转换成了单个md文件。但是文章引用的图片和其他附件就没了。之后我翻一下NAS里面看有没有备份,有的话修复一下。(好在文章数量不是很多,目前大部分能找到备份的引用图片已经重新上传修复)。大部分是18年到20年左右写的,主要是一些关于HomeAssistant早期的文章,现在大部分都已经可以界面可视化操作了,还有一些提到的教程或脚本或许已经失效了,仅供参考。
    +有wordpress转换markdown需求的朋友可以 参阅以下链接教程。实际测试后基本可用,只是wordpress不像Markdown要求那么严格,如果标题中有特殊符号,部署Hexo的时候可能会报错,需要手动修改剔除,还有一些WordPress专有的格式和布局需要重新设置。

    +

    引用

    +

    小白-使用wordpress-to-markdown的方法 – 听水观沙

    +]]>
    + + 叨叨 + + + HEXO + markdown + wordpress + +
    + + 地表最快四门量产车来了-小米SU7 Ultra发布 + /posts/49729.html + 昨晚科技圈有点热闹,苹果和小米都发布了各自的新品,苹果最近一段时间新品频发,iPad mini 7,M4芯片的新款iMac,还有昨晚发布的更小尺寸的基于M4芯片的Mac mini,其中除了Mac mini外观和尺寸有明显变化外,其他升级都只能算是挤牙膏式的常规升级,苹果估计也觉得没必要单独开发布会的必要了。
    +image.png

    +

    转到小米这边,昨晚一口气发布了澎湃OS2操作系统、小米15系列手机以及小米SU7 Ultra高性能四门超跑汽车。当然其中最引人关注的还是小米SU7 Ultra,官方给出的数据百米加速2秒内,号称是地表最快的四门量产车。小米SU7 Ultra预售价格为81.49万元,明年3月份正式开售。虽然咱们普通人看上去80W很贵,但是看了参数及外观图片之后,还是觉得小米SU7 Ultra性价比是很高的。然后早上翻看小米官网介绍的时候发现,小米居然在车身配备了40W的外置扬声器,内置三种音效,可模拟超跑加速音浪。👍看来小米还是最懂年轻人的。不知道小米会不会在后续的OTA升级中加入更多的音效呢?😛
    +image.png

    +

    详细的参数及精美图片视频移步SU7官网查看小米汽车
    +那如果你有80W预算买车,会选择小米SU7 Ultra吗?🤑
    +另外忘了说了,两个厂家昨天还有一次隔空互动😍。新的澎拜OS2支持小米手机在苹果的Mac OS上投屏,并支持操控,就像小米笔记本那样,也支持与iPhone间共享图片和文件,实现这些功能的前提是需要在Mac或是iPhone上安装名为小米互联服务的APP。
    +image.png

    +]]>
    + + 叨叨 + + + 小米 + SU7 + SU7Ultra + 汽车 + +
    + + 影视飓风被下架视频《清晰度不如4年前!视频变糊是你的错觉吗?》 + /posts/33470.html + 最近全网知名千万级up主影视飓风上架了一部关于视频清晰度的视频,随后却被全网集体下架。视频中详细分析了各视频平台如何利用最新的编码算法欺骗用户的眼睛,标称4k、8k分辨率的视频清晰度甚至不如几年前的1080p。有些平台甚至根据播放量调整视频编码方式,节约带宽流量。随着视频的下架以及在海外平台的转载,网友评论出奇一致,解决不了问题,就解决提出问题的人。

    +
    +

    该视频分享自油管,如果打不开请挂梯子。

    +
    + + +]]>
    + + 叨叨 + + + 影视飓风 + 视频 + 下架 + +
    + + 收到版权投诉,决定停止视频站点运营 + /posts/9909.html + 刚才收到Cloudflare的邮件,渊澄视频有个页面被TVB投诉侵权。所以决定从即日起永久关掉站点访问。希望大家支持正版。
    +image.png

    +]]>
    + + 叨叨 + +
    + + 苹果又发新iPhone了 + /posts/20537.html + 20240910152713
    +昨儿个凌晨,苹果召开了一年一度的秋季新品发布会,不知道从什么时候开始被誉为了科技界的春晚。
    +早上起来看苹果的公众号大概了解了一下发布的新品,依旧是没有什么亮点可言,都是一些常规升级:iPhone16系列,包括pro Max机型,Apple Watch 10代,还有Airpods第四代,包括一款支持主动降噪的型号。
    +没有期待中的新款Apple TV。
    +但是iPhone16系列会搭载最新的iOS18操作系统,在苹果iOS18的页面(https://www.apple.com/ios/ios-18/) 增强了AI(Apple Intelligence)功能,期待在iPhone上有惊艳表现,但据介绍最低只支持到iPhone 15Pro。

    + +

    今天不对新品做什么评论,只是想单纯吐槽一下苹果的创新已经大不如前了,虽然这是众所周知、无可奈何的事实。近年来发布的新品除了Apple vision pro之外,很难再找到一款类似于当年iPhone4那么跨时代、让人兴奋的产品了,而这个vision pro 居然还需要用一根线外接一个充电宝才能用。
    +20240910155144
    +第一次用苹果的手机就是iPhone4,经典的设计,玻璃背板,金属机框,retina高清屏,还有流畅的iOS系统;然后是iPhone4S,在外形与上一代保持一致的情况下,首次搭载了siri语音助手;iphone5是更大的屏幕,更薄的机身;iPhone5s首次在home键上融入了TouchID,让解锁更方便,并且首次使用了土豪金配色。。。
    +接下来的每代iPhone就没什么值得记忆的亮点了,无非是更快的处理器,更高的摄像头像素,还有更大的屏幕。就算是这些毫无亮点毫无新意的换代,也让国内友商竞相模仿,最不能忍受的是为了降低机身厚度,居然砍掉了3.5mm耳机孔,发展到现在市面上主流的手机,都不带耳机孔了。。。还有机身左侧的静音按钮,也在最新款的iphone上被砍掉了。。
    +但不可否认苹果依然是当今最具影响力的手机公司,而且iPhone的市场占有率好像也越来越高了(是不是得益于国产手机的售价也不便宜?),其他地方不周到,我周边平均每10个人至少有3-4个是用苹果手机的。当年iphone4-iphoneX时代应该没有这么高的占有率,毕竟当时苹果的售价是遥遥领先的。
    +当然作为一名三流果粉,还是希望苹果越来越好,发布更多改变时代的好产品。

    +]]>
    + + 叨叨 + + + 苹果 + Apple + iPhone + +
    + + pornhub推出免费VPN软件VPNHUB【APK下载】 + /posts/26860.html + **目前该APP已无法在给国内使用了,如需访问跨境网络,请前往SS之家注册账户 **https://sshome.win

    +

    世界知名的成人网站PORNHUB近日推出了一款免费的VPN软件,名为vpnhub。支持iOS及Android系统,现已在谷歌的PLAY商店以及苹果appstore上架,苹果iOS用户切换到美国地区的AppleID应该可以下载,而安卓用户可以在本文的结尾获取到APK下载地址。

    +

    下面以Android手机来演示一下怎么使用。安装之后我们点开APP,首次进入会有提示升级到高级用户,我们点击SKIP跳过,然后进入主界面,点击中间的图标进行连接,连接成功之后会变绿,顶部状态栏会有VPN图标。然后我们就可以愉快的玩耍了。

    +

    Uploading file...omc9y

    +

    Screenshot_2018-05-31-13-42-06-125_VPNhub.png

    +

    Screenshot_2018-05-31-13-42-42-938_VPNhub.png

    +

    如果升级到高级用户,可以选择其他国家或地区的节点,而免费的节点目前只有美国一个。

    +

    Screenshot_2018-05-31-13-57-15-164_VPNhub.png

    +

    高级用户的收费标准为月付11.99美金,年付的话6.25*12美金,高级用户可以享受更多的节点,更快的连接以及去广告服务。

    +

    不过还是建议大家用用就OK,没必要付费,一旦用的人多了,服务器都有随时被墙的危险。

    +

    Screenshot_2018-05-31-13-57-27-562_VPNhub.png

    +]]>
    + + 叨叨 + + + Network网络 + PORNHUB + VPN + VPNHUB + 免费 + +
    + + 关于 + /posts/23630.html + +

    89年双子座理工男,坐标山西太原。目前已结婚生子,有压力,但很幸福。

    + + +

    2000年左右接触互联网;

    + + +

    打开的第一个网站好像是cctv.com,当时只记得这一个网址;

    + + +

    第一个QQ号是在小卖铺的公用电话打168申请的,现在已经忘记了;

    + + +

    第一个邮箱是xxxxxxxx.student@sina.com结尾的,现在已经忘记了,还记得当时死活不会输入@;

    +

    玩的第一个游戏应该是暴力摩托,现在基本上不玩游戏;

    +

    上的第一个购物网站是卓越网joyo.com,也就是现在的亚马逊;

    +

    第一次建网站好像是在一个名为zjtop.com的网站上建的论坛;

    +

    第一次自己租虚拟空间是在常来网,这个网站已经倒闭很多年了;

    +

    自建博客用的第一个系统是pjblog,现在好像已经不更新了;

    +

    自己买的第一部手机是从淘宝买的西门子的S65;

    +

    喜欢的偶像是BEYOND,五月天,孙燕姿;

    +

    喜欢的运动品牌是美津浓;

    + + +

    喜欢的互联网公司是Google,Apple;

    + + +

    目前持有的设备:

    + + +

    ThinkPad X230

    + + +

    MacBook Pro 2015

    + + +

    锤子坚果Pro

    + + +

    iPad mini2

    + + +

    iPhone7

    + + +

    AirPods 2

    + + +

    树莓派3

    + + +

    Orange Pi Zero

    + + +

    X86架构的黑群晖

    + + +

    小米智能家庭套装

    + + +

    NEWIFI Y1路由器

    + + +

    小爱AI音箱

    + + +

    天猫精灵方糖

    + + +

    小米手环2

    + + +

    斐讯N1盒子

    + + +

    斐讯T1盒子

    + + +

    Lenovo Y1S路由器(Padavan)

    + + +

    Lenovo NEWIFI3 路由器

    + + +

    HUAWEI AX3 路由器

    + + +

    TP-LINK 886 千兆版路由器

    + + +

    水星D191G路由器

    + + +

    版权说明:本站的内容若无转载说明均为作者原创,未经许可请勿随意转载,如需转载请征得本人同意并注明出处,谢谢合作。

    +]]>
    + + 叨叨 + +
    + + 推荐好友使用OneDrive,免费获得扩容奖励 + /posts/60877.html + OneDrive是微软推出得一款免费云盘服务,之前叫做Skydrive。不同于Google Drive以及百度云盘,OneDrive可以和最新得Windows10操作系统深度集成,只需在Windows10系统中登陆你得微软账户,即可实时同步,非常适合Windows用户来同步和备份一些重要的数据,而且OneDrive的各项功能目前在国内可以正常使用。

    +

    微软提供为OneDrive免费账户提供15GB得存储空间,如果你觉得空间不够用微软也推出了收费扩容服务,价格如下:

    +

    TIM截图20181204140905.jpg

    +

    除了与office打包,单独购买50GB的空间每月需要15块钱。

    +

    如果你和我一样,舍不得花钱,但又觉得15GB不够用,那你可以邀请好友来注册激活OneDrive服务,成功邀请一位好友,你和你的好友都可获得0.5GB的扩容,最多可获得10GB的扩容空间,也就是说,你成功邀请了20位好友注册激活OneDrive,你的存储空间就会升级到25GB。
    +TIM截图20181204141234.jpg

    +

    下面是我的邀请链接,还没有注册OneDrive的的朋友点击一下链接,你和我都会另外获得0.5GB的扩容哦!

    +

    https://onedrive.live.com?invref=2201fc6079f823f2&invscr=90

    +]]>
    + + 叨叨 + + + Network网络 + OneDrive + 微软 + +
    + + 更换服务器 + /posts/11923.html + 仔细一看,距离上次更新已经有大半年之久了,真是惭愧,一直没有时间静下心来更新。

    +

    期间很长时间是因为原先的服务器被墙了,暂时没有找到合适和服务器来替换。而就在昨天,在Godaddy上无意间搜索,竟然发现我之前被盗的域名miaoyang.info可以注册了,所以我立即下手注册了,接着在Vultr上购买了VPS,安装了宝塔面板,把被墙服务器的数据又倒了过来,这才暂时算是正常了。
    +目前网站的主域名是miaoyang.info,将miaoyang.win以及miaoziyuan.com两个域名做了跳转,现在上述三个域名都可以直达本站。

    +]]>
    + + 叨叨 + + + Daily我的日常 + +
    + + 本站启用新域名miaoziyuan.com + /posts/55749.html + 本站从即日起启用全新域名miaoziyuan.com,旧域名miaoyang.win依然可以正常访问,但是会跳转到新域名。目前大家可以通过以下网址访问本站

    +

    https://miaoziyuan.com

    +

    https://www.miaoziyuan.com

    +

    https://miaoyang.win

    +

    https://www.miaoyang.win

    +

    新域名没有什么特殊的含义,是我儿子的名字全拼。自打他出生的时候注册的,一直没有什么用,现在拿来做我网站的主域名,等他长大的时候交给他,哈哈。

    +]]>
    + + 叨叨 + + + 域名 + Daily我的日常 + +
    + + 来宜家网购吧 + /posts/16783.html + 目前宜家官网(https://www.ikea.cn/cn/zh/)已开通网上商城服务,可配送的城市已由之前的34个扩展到149个,覆盖国内大部分一二三线城市,而我所在的太原也赫然在列。(具体覆盖城市点这里查看

    +

    management-theory-and-IKEA.jpg

    +

    其实自己也算是半个宜家粉,因为所在城市没有宜家家居,之前购买宜家的东西都是通过淘宝代购。

    +

    我试着在宜家网上商城下了两个订单,如果只是小件物品的话,运费只需要9.9元/单,大件家具的话只能通过货车运送,运费应该是最低69元。配送时限方面,小件物品一般会在3天内送达,大件物品需要7个工作日左右。

    +

    具体的购物流程我就不写了,和大部分网上商城一样,先注册账户,然后商品加入购物车,最后结账付款。需要注意的是订货之前必须查到你的收货地址的邮编,因为宜家是按照邮编来计算运费的,付款方面支持微信及支付宝。

    +

    购物的时候记得加入会员俱乐部,会员不仅能享受部分商品的会员价,退货时限延长到365天,凭会员卡好像还可以在宜家商场喝免费咖啡哈。

    +

    PS:刚刚接到京东物流的电话,说快递分发错站点了,明天就会送过来。
    +所以推断宜家的快递用的应该是京东物流,至少山西太原是用京东物流来配送,昨天中午下的单今天就送来了,给京东物流点个赞。

    +]]>
    + + 叨叨 + + + Daily我的日常 + IKEA + 宜家 + +
    + + 目前群晖搭建WordPress存在的问题 + /posts/13021.html + 现在在群晖上将域名进行了DDNS解析,目前实现了使用域名+端口的方式来访问站点。由于电信运营商封锁了80和443端口,所以现在使用8012端口来替代443访问。

    +

    目前存在的主要问题是,必须手动输入https://miaoyang:8012才可以访问,不输入https直接访问会有报错。

    +

    尝试使用默认的443端口采用反向代理的方法来跳转到8012端口,但是现在群晖系统内设置了反向代理也没有生效,暂时不知道是哪里的问题。

    +]]>
    + + 叨叨 + + + Synology群晖 + wordpress + 群晖 + +
    + + 网站升级到了WordPress5.0 + /posts/52498.html + 刚刚收到了Wordpress推送的5.0版本更新。

    +

    不出意外,这次WordPress强推了全新的古腾堡编辑器,经过几次版本更新,现在的古腾堡编辑器已经可以让使用者愉快的编辑文字了。

    +
    而且无须插件可以较为方便的插入代码。
    +
    +

    目前编辑器的汉化工作还不是很完善,可以说是基本上没有汉化,英文不是很好的朋友上收起来还是有点困难的,好像现在Wordpress官方的汉化工作也迟迟没有推进,除了古腾堡编辑器,WordPress主程序也有好几处没有汉化到位。

    +

    ####12月11日更新####

    +

    就在刚刚收到了5.0的中文汉化更新,之前WordPress主程序未汉化的部分也得到了汉化,赞一个。

    +

    TIM截图20181211173924.jpg

    +

    想退回使用原来的编辑器怎么办?后台搜索插件classic-editor安装应用,就可以回到原先的经典编辑器了,据官方介绍说该经典编辑器仅支持到2021年。

    +]]>
    + + 叨叨 + + + wordpress + Daily我的日常 + +
    + + 网站对文章部分内容及网盘提取密码启用回复可见功能 + /posts/40322.html + 好吧,为了增加点网站人气,从即日起决定对所发布文章的相关部分以及附件的提取密码进行"回复可见"功能设置,只有对相应的文章进行评论回复,才能看到相关内容。

    +

    目前该功能已初步测试完成,大家在有附件下载的文章底部会看到下载链接按钮,对该文章进行回复之后,刷新页面,就会出现百度网盘的提取密码了。

    +

    sss.png

    +

    如果在使用过程中发现有bug,欢迎反馈。

    +]]>
    + + 叨叨 + + + Daily我的日常 + Android安卓 + +
    + + 苹果2019年初正式发售国行版HomePod 售价2799 + /posts/12103.html + 近日,苹果升级了智能音箱HomePod的固件,使其终于能够支持中文了,同步支持的语言还包括广东话。

    +

    而苹果中国官网也随即挂出了国行HomePod的页面,有白色和深空灰两种配色,售价均为2799元人民币,预计会在2019年初开放购买。

    +

    TIM截图20181206135234.jpg

    +

    HomePod是苹果公司发布的一款互联网智能音箱,内置自家的Siri语音助手,配合iPhone手机及Apple Music账户可以实现信息查询、播放音乐、接打电话、AirPlay等功能,配合家庭APP及HomeKit配件,可以实现智能家庭的语音控制。

    +

    HomePod同时也支持多台HomePod串联,组成多声道音响系统,也支持多个HomePod播放不同的内容,组成家庭背景音乐系统。

    +

    目前国内的各品牌智能音箱,无论从外观、功能及音质方面,都无法和HomePod直接竞争,当然也包括价格,而随着HomePod国行版的正式发售,苹果在国内的智能音箱及智能家居领域,必会有所斩获,毕竟苹果的用户体验是有目共睹的。

    +]]>
    + + 叨叨 + + + 智能家居 + 苹果 + HomePod + 智能音箱 + +
    + + 闲鱼710块大洋入手暴风播酷云NAS主机 + /posts/10203.html + 前几天在闲鱼出掉了之前使用的NAS主板,因为在使用过程中发现,安装黑群晖之后在进行图片转码和播放影片时,CPU占用率很高,所以想着换一块性能更好一些的主板,然后这次再次把目光锁定在了网红NAS专用主板-华擎J3455ITX。

    +

    今天在闲鱼上搜索J3455的时候,找到一个卖家在出售回收回来的暴风播酷云,自带J3455ITX主板,8GB笔记本内存,16GB SSD硬盘加电源,关键是还有万由代工的双盘位机箱,加运费算下来一共710块大洋。

    +

    TIM截图20181221162058.jpg

    +

    因为买的人比较多,所以卖家在付款两天后才会发货,等收到货之后我会写一篇文章简单介绍一下这个主机,以及安装黑群晖系统的步骤。

    +

    因为家里下个月宽带会升到300M,所以我最近也买了新路由3还有千兆网线、水晶头,等到时候所有设备都准备就绪之后,我再来测试一下家庭千兆网络环境下的网速究竟能有多快。

    +]]>
    + + 叨叨 + + + NAS + Synology群晖 + 群晖 + 播酷云 + +
    + + Github+Cloudflare Pages图床部署 + /posts/20185.html + 将Github的图床部署到Cloudflare的Pages,可以享受cloudflare的加速服务,速度虽然比不上国内,但比起github原生的速度还是要强上不少。过程很简单,在Cloudflare新建一个Pages项目,链接到Github账户,选择图床源,一路下一步,完成部署。
    +然后设置自定义域名,例如img.ycyc.win,使用cname协议解析到Cloudflare分配的默认项目地址。
    +image.png

    +

    例如原来在Github的图片地址为’https://raw.githubusercontent.com/miaoyanginfo/hexo-img/main/img/202409131248235.png
    +现在替换为‘https://img.ycyc.win/img/202409131248235.png ’即可。

    +]]>
    + + 应用 + +
    + + crontab 定时任务规则收藏 + /posts/18367.html + 定时规则由六位组成,分辨是分、时、天、月、星期。

    +
    *    *    *    *    *
    - - - - -
    | | | | |
    | | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
    | | | +---------- 月份 (1 - 12)
    | | +--------------- 一个月中的第几天 (1 - 31)
    | +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)
    +

    引用来源:Runoob

    +]]>
    + + 网络 + +
    + + iOS端收发163域名邮箱邮件IMAP + /posts/37524.html + 引言 +

    随着移动互联网的普及,现在电子邮箱的用处已经没有原先那么大了,但是有些网站注册和敏感的操作还是需要邮箱验证码。常用的类似于163、QQ、微软的主流邮箱服务的配置已经在手机邮件客户端内置了,只要输入邮箱地址和密码就可以很方便的接入手机邮件客户端。但是诸如一些非主流的企业邮箱想要接入手机端邮件APP就有些繁琐了,除了需要邮箱地址密码等基础信息外,还需要获取邮件服务器的地址和端口、加密方式等额外信息。下面记录一下如何将基于163服务的企业邮箱接入到iOS的邮件APP来进行邮件的收发。
    +image.png

    +

    相关协议

    +

    之前想要在三方客户端收发邮件是需要开通邮箱的POP3和SMTP协议的,然后在三方客户端输入pop3和smtp地址以及邮箱和密码就可以接入三方客户端了。而现在越来越多的邮箱已经取消的对POP3协议的支持,改用IMAP协议。其实原理差不多,只是IMAP输入的不是邮箱的登录密码,而是随机生成的授权码。

    + +

    下面是往上关于IMAP、POP、SMTP三者的介绍:
    +SMTP相对于其他两者协议,更多的侧重点在于发送与中继,与POP、IMAP太多不同;正常情况下只需去考虑POP和IMAP的情况进行解析,因为POP和IMAP对客户是进行实实在在的接收;唯一比较特殊的是SMTP是注重于”推送“而不是”拉取“这是区别于其他两种协议的方式之一,此外,SMTP是明确的在TCP/IP协议簇里,其他两者只是通过TCP/IP协议进行传输。
    +POP与IMAP主要区别就在于POP是单一的离线模式对邮件进行传输,IMAP是在线和离线两种模式对邮件进行传输,上述对离线和在线有解释,就不做过多解释,简单来说,离线就得下载之后对邮件进行查看、删除等一系列操作,且客户端与服务端消息不互通;在线就是无需下载就能进行查看、删除等操作,且他们之间的消息处于互通。

    +

    授权码获取

    +

    我的邮箱地址是以ycyc.win结尾的企业邮箱,使用网易企业邮免费版。接入步骤很简单,在域名DNS那里修改相关的TXT及MX记录到网易指定的地址,等待解析生效就可以了。网易企业邮箱 - 登录入口 (163.com)
    +其实我现在使用的这个并不是真正意义上的企业邮箱,只是将域名接入到网易使用其邮箱服务。而真正意义上的企业邮箱是需要自己搭建单独的邮件服务器的。当然如果你有群晖NAS,可以使用群晖的套件来搭建自己的邮件服务。
    +其实不管什么邮箱,要接入第三方邮件收发客户端,所需要的信息都类似,首先需要邮箱地址和密码,或是上面说到的授权码,其次就是邮箱服务器的POP3地址、IMAP地址、SMTP地址以及端口。
    +获取163企业邮箱的授权码根据下图所示操作:

    +

    qiyeyou.png

    +

    这里的协议类型可以选POP或是IMAP协议,推荐IMAP协议。
    +qiyeyou2.png

    +

    将授权码复制到手机上备用。

    +

    iOS端添加邮箱服务

    +

    iOS进入设置-邮件-账户,添加账户,选择其他。

    +

    image.png|200

    +

    选择添加邮件账户
    +image.png|200

    +

    然后根据类型选择POP协议还是IMAP协议,输入邮箱地址,IMAP地址,SMTP地址及端口,用户名处输入邮箱地址,密码处输入授权码,等待授权完成。
    +image.png|200

    +

    设置完成之后就可以通过邮件APP来收发邮件了。
    +以下为163企业邮箱IMAP地址及端口:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    类型推荐备用(尽量别用)SSL端口
    收信服务器hwhzimap.qiye.163.comimap.qiye.163.com993
    发信服务器hwhzsmtp.qiye.163.comsmtp.qiye.163.com465
    说明推荐使用这个服务器配置推荐服务器不可用,可用备用替代
    +

    引用

    +

    网易企业邮箱:授权码登录 | 来发信 (laifa.email)

    +]]>
    + + 应用 + + + 域名 + 邮箱 + 企业邮箱 + 网易 + +
    + + mac os 配置图床上传工具picgo + /posts/58482.html + 如果电脑没有安装homebrew,需要先安装homebrew。

    +
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    之前我在安装git的时候已经安装过了所以这里跳过。执行下面命令安装picgo。

    +
    brew install picgo --cask
    +

    截屏2024-09-21 21.44.41.png|300

    +

    安装完成之后在启动台就可以看到picgo的图标了,不出意外的话是无法直接打开的。这里我们需要设置一下mac的安全性策略,将允许从以下位置下载的app更改为“任何来源”。
    +image.png|475

    + +

    如果你没有这个选项,需要在终端中执行下面的命令来打开。

    +
    sudo spctl --master-disable
    +

    打开picgo之后就可以像windows平台那样进行图床设置了。
    +image.png|475
    +Obsidian安装 image auto upload plugin插件之后就可以正常上传图片了。
    +image.png|475

    +]]>
    + + 应用 + + + 图床 + GitHub + PicGO + macos + mac + +
    + + win11系统恢复右键菜单 + /posts/56765.html + win+r运行cmd命令提示窗,键入以下命令在注册表中添加相应字段即可还原鼠标右键菜单。

    +
    reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
    +

    如果想回复win11默认右键菜单,只需要运行下面命令,将添加的字段删除即可。

    +
    reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
    +

    重启资源管理器生效

    +
    taskkill /f /im explorer.exe & start explorer.exe
    +]]>
    + + 应用 + + + win11 + +
    + + 利用cloudflare+outlook创建自定义域名邮箱收发邮件 + /posts/18268.html + 前言 +

    前几天写了一篇介绍在iOS端收发企业邮箱的方法。iOS端收发163域名邮箱邮件IMAP | 渊澄|YCYC.WIN,当时使用的是网易的免费企业邮。因为我之前就有域名加到网易企业邮了,管理员账号是用的原来的域名设置的,所以我想要变更为新的域名账号。界面上找了一圈没找到修改入口,于是我就给客服发了一封站内信,咨询如何更换管理员账号。于是今天上午不出意料的接到了网易打来的推销电话,没有告我如何更换管理员账号,反而是推销了一番他们的收费企业邮箱。还有让人不可思议的是,当时我提交的站内信仅仅留了联系邮箱,并未留下我的联系电话。。。
    +于是乎想起了之前在cloudflare看过一眼的电子邮件转发功能。这个功能是新建一个你的域名邮箱地址,然后可以将这个地址收到的邮件转发到你现有的其他邮箱里面去。

    +

    操作

    +

    进入cloudflare相应的域名主页,左侧导航找到电子邮件路由。
    +image.png|300
    +设置方法很简单,根据界面提示操作就可以了。创建一个自定义地址,然后操作选择“转发电子邮件”,接着输入你现有的outlook电子邮箱地址。

    + +

    image.png|300
    +添加完成之后cloudflare会自动为域名做相关解析,并且会向你的outlook邮箱发送验证链接。
    +image.png
    +等待验证完成后状态变为活动即可。

    +

    image.png

    +

    这里需要说一下catch-all功能,开启这个功能后,所有来自你域名的邮件都会被转发到你指定的邮箱。也就是说理论上你可以创建无数个虚拟邮箱地址,邮件都会被转到你设置好的邮箱里面去。

    +

    outlook添加别名实现邮件发送

    +

    参考【小白向】文章中关于在outlook添加别名的路径好像已经失效了。经过查阅微软相关文档,在 Outlook.com 中添加或删除电子邮件别名 - Microsoft 支持,可以在该帮助文档内点击链接前往别名管理页面( https://go.microsoft.com/fwlink/p/?linkid=864833 )。
    +在下图所示页面中选择“将现有电子邮件地址添加为 Microsoft 帐户别名”并输入你的自定义邮箱地址,点击添加别名。

    +

    image.png

    +

    随后你的邮箱会收到一封验证邮件。点击验证邮件链接完成验证即可。

    +

    验证

    +

    设置完成之后就可以试着往你创建的自定义邮箱里面发一封邮件了,看看你设置好的转发邮箱里面有没有收到。发送的时候在你的outlook发件人那里填入你设置的自定义邮箱地址就可以了。
    +image.png

    +

    后记

    +

    当然这也并非真正意义上的企业邮箱,只是套壳了自定义域名,利用了cloudflare的邮件转发,核心服务还是调用的微软的outlook。

    +

    引用

    +

    【小白向】使用Cloudflare搭建无服务器无成本域名邮箱 - 鱼のBlog (fishze.com)

    +]]>
    + + 应用 + + + 微软 + 邮箱 + 企业邮箱 + Cloudflare + 邮件 + outlook + +
    + + 清理docker占用空间脚本 + /posts/32581.html + +

    title: 清理docker占用空间脚本
    +categories:

    + +
    +

    20220808135436
    +docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
    +其实运行下面的命令就会自动清理docker无用的空间。
    +think01

    +
    docker system df -v
    +

    列出docker使用空间详情

    +
    docker system prune -a
    +

    该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
    +如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

    +]]>
    + + 应用 + + + docker + N1 + linux + +
    + + 如何在macos上设置github + /posts/46564.html + 安装homebrew和git +

    安装homebrew

    +
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    +

    等待homebrew安装完成之后开始安装git

    +
    brew install git
    +

    配置github账户信息并生成ssh

    +

    安装完成git之后开始配置github账户信息

    +
    git config --global user.name "miaoyanginfo"
    git config --global user.email "paulmiao@me.com"
    + +

    在本地生成ssh

    +
    ssh-keygen -t ed25519 -C "paulmiao@me.com"
    +

    将ssh密钥添加到ssh-agent

    +

    后台启动ssh代理

    +
    eval "$(ssh-agent -s)"
    +

    然后修改~/.ssh/config

    +
    vi ~/.ssh/config
    +

    插入下面的字段

    +
    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_ed25519
    +

    将ssh私钥添加到ssh-agent并将密码存储在密钥链中。

    +
    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
    +

    将ssh密钥添加到github账户

    +

    将ssh公钥复制到剪贴板。

    +
    pbcopy < ~/.ssh/id_ed25519.pub
    +

    然后粘贴到github账户设置里面的ssh key 中。

    +

    image.png|300

    +

    引用

    +

    https://blog.51cto.com/u_14201949/6145688
    +https://www.php.cn/faq/541966.html

    +

    Windows平台的部署可以参阅我的另一篇文章在GitHub上部署HEXO | 渊澄|YCYC.WIN

    +]]>
    + + 应用 + + + GitHub + 苹果 + macos + git + +
    + + 清理docker占用空间脚本 + /posts/32581.html + docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
    +其实运行下面的命令就会自动清理docker无用的空间。
    +think01

    +
    docker system df -v
    +

    列出docker使用空间详情

    +
    docker system prune -a
    +

    该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
    +如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

    +]]>
    + + 应用 + + + docker + N1 + linux + +
    + + 渊澄短链接服务上线了! + /posts/37049.html + 利用国庆假期搭建了一个短链接生成服务,使用任意长链接可以生成类似于https://to.ycyc.win/yourlink 的短链接,虽然也不是很短😜,但有胜于无。
    +站点地址 https://to.ycyc.win
    +使用方法很简单,在输入框输入你需要生成短链接的长链接,点击生成按钮即可。
    +然后你也可以使用备用站点 https://2.ycyc.win 来生成(2和to同音,而且又少了一个字符👏)。两个站点地址数据共享,后缀可通用。

    +

    image.png

    +
    +

    重要声明:免费服务,使用前需遵守中华人民共和国相关法律法规,切勿用于非法用途,以免服务被封,影响其他人的使用!

    +
    +]]>
    + + 网络 + + + 短链接 + 渊澄 + +
    + + 爱普生L3250系列通过docker支持Airprint打印 + /posts/63379.html + 最近入手了一台爱普生的L3251彩色喷墨打印机,可以连WIFI实现网络共享,但有点遗憾的是机器原生并不支持苹果的Airprint协议,也就是无法通过iOS设备直接打印,但是官方提供了一款名为“Epson Smart Panel”的软件,在该软件中配置好打印机之后,可以直接通过该软件打印照片或文档等内容,也可以在相册中选择需要打印的图片,点击共享按钮,选择“使用epson打印”,系统可以直接跳到该软件,完成打印任务,如果你在共享中直接选择系统自带的打印服务,是发现不了打印机的。

    + +

    20240225172222
    +虽然这样也可以完成手机端的打印操作,但始终没有类似于airprint那样的丝滑和简洁。下面我们来通过在docker中创建cups容器来让机器支持airprint协议。
    +首先说下我现在的设备情况及网络环境,打印机已经通过wifi接入到了家里的网络中,并且获取到了ip地址,另外我家里有一台斐讯N1,刷了F大的openwrt系统用作旁路由,并且系统内置了docker环境。
    +首先我们浏览器登录打印机获取到的IP地址,选择高级设置。
    +20240225171145
    +登录密码是我们的机器序列号,可以在机身上的标签中找到。
    +依次进入services-protocol,然后在右边找到ipp地址并复制出来备用。
    +20240225171309
    +由于N1是基于arm架构的主机,而非我们常用的x86,所以常规的cups容器是无法在N1上运行的,我们需要找到基于arm架构编译的cups容器。
    +运行下面的命令,拉取并运行容器:

    +
    docker run \
    --name=cups \
    --restart=always \
    --net=host \
    -v /var/run/dbus:/var/run/dbus \
    -v ~/airprint_data/config:/config \
    -v ~/airprint_data/services:/services \
    -e CUPSADMIN='admin' \
    -e CUPSPASSWORD='password' \
    jysky007/cups:v1
    +

    确保该容器已正常运行,登录N1的ip地址加端口631,进入cups主页面。用户名密码为admin和password。
    +20240225170901
    +点击添加打印机。
    +20240225170940
    +选择ipp协议然后继续。
    +20240225171030
    +输入我们之前复制出来的ipp地址,打印机制造商选EPSON,型号选择如图所示的325,然后添加打印机。
    +20240225171628
    +添加完成之后我们切换到Prints页面,找到刚才添加的打印机,然后打印测试页试一下是否可以正常打印。
    +20240225171743
    +如果打印测试页正常之后,我们回到手机上点打印,然后就可以发现我们添加的打印机了,设置好打印参数之后,直接打印就可以了。

    +]]>
    + + 应用 + + + docker + 苹果 + L3250 + 打印机 + Airprint + iOS + EPSON + 爱普生 + +
    + + 群晖Docker部署CentOS系统 + /posts/62297.html + 下载镜像 +

    打开群晖的DOcker套件,切换到注册表选项卡,找到Centos,下载,标签选择latest。
    +20220429095414
    +下载完成之后我们可以在映像选项卡中找到它。

    +

    配置环境

    +

    高级设置里面将自动重启打勾。
    +20220429095758
    +切换到存储空间,配置本地文件夹映射到镜像的data文件夹。
    +20220429095914
    +指定一个本地未使用的端口映射到镜像的22端口。
    +20220429100121
    +完成上面设置之后运行容器。

    +

    系统初始化

    +

    进入终端机更新系统:

    +
    yum -y update
    +

    安装所需的软件包:

    +
    yum install vim openssl openssh-server net-tools initscripts passwd -y
    +

    如果你在运行上面的更新命令时报错,需要依次执行下方命令:

    +
    cd /etc/yum.repos.d/
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    +

    设置SSH连接

    +

    创建SSH key

    +
    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' 

    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    +

    UsePAM yes 改为 UsePAM no

    +

    修改ssh_config

    +
    vim /etc/ssh/sshd_config
    +

    UsePAM yes 改为 UsePAM no

    +

    启动ssh

    +
    /usr/sbin/sshd -D &
    echo "/usr/sbin/sshd -D &" >> /etc/rc.local 添加到开机启动,就不用每次重启后运行了
    +

    修改root密码

    +
    passwd root
    +

    使用第三方SSH工具登录

    +

    设置完成之后我们可以使用其他第三方SSH工具来登录到我们的CentOS系统,比如Putty。
    +输入主机IP,SSH端口为我们映射的端口号,用户名root,密码时我们上一步修改的密码。
    +20220429135856

    +

    收工

    +

    至此我们就完成了在群晖Docker上安装部署CentOS的过程,接下来我们就可以用SSH工具在我们搭建的CentOS上部署各种服务了
    +。

    +]]>
    + + 应用 + + + docker + 群晖 + centos + +
    + + 群晖VPN server套件安装配置 + /posts/48504.html + 下载安装套件 +

    根据你当前DSM系统的版本安装对应版本的套件,如不确定,可以下载最新版本的套件尝试,如安装失败,会提示可安装版本号。
    +https://archive.synology.com/download/Package/VPNCenter

    + +

    DDNS配置

    +

    20240204110234

    +

    安装证书

    +

    套件配置

    +

    20240204105551

    +

    pptp

    +

    20240204105629

    +

    openvpn

    +

    20240204105710

    +

    l2tp/ipsec

    +

    20240204105806

    +

    客户端配置

    +

    20240204105953

    +]]>
    + + 应用 + + + VPN + 群晖 + DDNS + DSM + OPENVPN + L2TP + PPTP + +
    + + 魔改版picgo体验-piclist + /posts/6420.html + 引言 +

    今天想着在图片上加水印,然后去看了picgo的插件。找到两个水印插件,设置完成之后一上传图片picgo程序就会闪退,不知道是不是个例。看了下插件已经3年没更新了,可能和新版的picgo不太兼容。然后在picgo的github讨论区看到有人推荐piclist。
    +piclist是在picgo的基础上进行二次开发的图片上传工具。完整保留了picgo的全部功能,而且增加了更多细致化的设置选项,并且原生支持文字或图片水印,无需安装三方插件。
    +按下图所示,安装完piclist后设置页面会有一键从picgo迁移配置的选项,可以导入在picgo的基本上所有设置项目,无需重复进行配置。
    +piclist1.png

    +

    另外设置页面可供自定义的选项也比picgo要多,可以满足更多人的需求。在图片上传设置里面可以设置水印信息。如果要添加图片水印,路径要填入计算机本地的路径,填入互联网地址不生效。

    + +

    piclist2.png

    +

    另外obsidian的 image upload plugin插件还支持piclist的删除接口,可以在obsidian里面直接删除piclist里面的图片。
    +piclist3.png

    +

    当然piclist也支持mac平台安装,并且还有与vscode配套使用的插件- VS-PicList。至于稳定性如何,需要交给时间来检验了。
    +image.png

    +

    后记

    +

    本文的配图使用的就是piclist上传的,并且添加了水印。

    +

    引用

    +

    PicList/README_cn.md at dev · Kuingsmile/PicList (github.com)

    +]]>
    + + 应用 + + + 图床 + PicGO + piclist + 图片 + 上传 + +
    + + 用支付宝给美区appleID充值 + /posts/25411.html + 之前使用了一个网友共享的appleID来下载小火箭,最近刚换了手机,密码早已失效,于是想着用自己的美区ID买下软件,也不贵,2.99美元,折合人民币算下来不到30块钱,而且是终身免费升级,自己平时也是要用到的,干脆买下来也不亏。
    +美区ID已经有了,接下来的问题就是如何付款购买,手头没有外币信用卡,也没有paypal,所以只能用礼品卡充值了。网上搜了很多方法,其中比较简单,速度也比较快的是使用支付宝来购买。

    + +

    首先需要进入支付宝,左上角地区那里切换带海外,美国,旧金山。
    +ad001
    +然后搜索Pockytshop,进入小程序。
    +ad002
    +找到App Store图标,点金进去之后可以任意选择2-500美金进行充值,首次使用需要输入姓名和邮箱注册Pockytshop账户。
    +ad003
    +接着付款成功之后页面会出现礼品卡兑换码,复制兑换码,到APPstore进行充值就可以了。
    +ad004

    +]]>
    + + 应用 + + + 美区 + appleID + 支付宝 + +
    + + MAC OS10.14系统添加ar9285无线网卡驱动 + /posts/49923.html + 苹果最新的Mac OS 10.14 系统取消了对AR9285系列网卡驱动的支持,所以我们需要手动添加驱动才能使用AR9285无线网卡,下面来介绍如何在Mac OS 1014中添加AR9285的网卡驱动。

    +

    下载附件中的压缩包并解压,得到AirPortAtheros40.kext文件,打开/SYSTEM/LIBRARY/EXTENSIONS,找到IO80211Family.kext文件,显示包内容,打开contents/Plugins,将解压到的文件复制到这个文件夹。

    +

    然后在终端中输入

    +
    sudo touch /System/Library/Extensions/ && sudo kextcache -u /
    +
    +

    重新建立缓存即可完成AR9285无线网卡在MAC OS 10.14中的驱动安装。

    +

    参考内容https://forum.51nb.com/forum.php?mod=viewthread&tid=1857633

    +]]>
    + + 应用 + + + LINUX + 苹果 + AR9285 + MAC + +
    + + N1盒子刷写openwrt系统做旁路由 + /posts/24992.html + +

    Amlogic系列盒子,包括 N1、章鱼星球、S905X2外贸盒子、S905X3外贸盒子、S922X外贸盒子

    + + +
          第一次刷机(从U盘或TF卡启动之后):
    +
    + + +
             cd  /root   &&   ./install-to-emmc.sh     或者: /root/install-to-emmc.sh
    +
    + + +
          在线升级,先把 update-amlogic-openwrt.sh 以及镜像文件 xxxxxxxxxxxxxxxxxxxxxxxxx.img用winscp工具上传至/mnt/mmcblk2p4, 然后:
    +
    + + +

    cd /mnt/mmcblk2p4

    + + +
         chmod 755 update-amlogic-openwrt.sh
    +
    + + +
         ./update-amlogic-openwrt.sh  xxxxxxxxxxxxxxxxxxxxxxxxxx.img
    +
    + + +
         注意:update-amlogic-openwrt.sh一般随固件同时发布,在.7z包里面,每次升级最好都用最新版的update脚本
    +
    + + + + +]]>
    + + 应用 + + + openwrt + 旁路由 + N1 + +
    + + OUTLINE服务 + /posts/27488.html + 最近在一台美国的VPS上搭了OUTLINE服务,需要的朋友可以和我联系(微信MIAOYANG)。

    +

    目前定价为10元/月,限10GB流量。

    +

    由于目前苹果iOS的客户端已在国内appstore下架,所以必须切换到美国或其他地区的appstore才能下载。Android及Windows用户不受影响。

    +]]>
    + + 应用 + + + outline + +
    + + VPS增加swap交换分区笔记 + /posts/52176.html + +

    对于配置较低的VPS主机,我们可以通过适当增加swap交换分区的大小来提高主机的性能。下面以搬瓦工ubuntu14.04系统进行操作。

    + + +

    1.查看当前swap分区大小

    + + +
    free -h
    +
    + + +

    2.删除swap分区

    + + +
    swapoff -a
    +
    + + +

    3.创建新的swap分区

    + + +
    dd if=/dev/zero of=/root/swapfile bs=1M count=1024
    +
    + + +

    修改count后面的数字来调整swap分区的大小,现在以1GB为例。

    + + +

    4.格式化分区

    + + +
    mkswap /root/swapfile
    +
    + + +

    5.启用分区

    + + +
    swapon /root/swapfile
    +
    + + +

    6.添加开机启动

    + + +
    nano /etc/fstab
    +
    + + +

    加入下面一行命令

    + + +
    /root/swapfile swap swap defaults 0 0
    +
    + + +

    7.再次查看swap分区大小

    + + +
    free -h
    +
    +]]>
    + + 应用 + + + SWAP + VPS + +
    + + WordPress数据的备份与还原 + /posts/16289.html + +

    刚刚重装了VPS系统,分享一下如何备份和还原WordPress的数据。

    + + +

    首先我们需要将数据库进行备份,登陆PHPMYADMIN,然后找到WordPress所在的数据库,找到"导出"选项卡,将数据库备份下载到本地。

    +

    微信截图_20180814154750.png

    +

    接着我们用FTP工具登陆到网站目录,可以备份整个目录,也可以只备份wp-content文件夹,因为这个文件夹存放着我们上传的主题、插件及图片附件等文件。

    + + +

    备份完成之后我们介绍一下如何还原。

    + + +

    从wordpress官网下载最新版本的程序,然后上传到空间,接着新建一个数据库,名称随意,可以使用之前的名称,也可以使用新名称。然后在PHPMYADMIN中找到"导入"选项卡,将我们之前下载到本地的数据库备份文件上传导入。

    +

    微信截图_20180814155528.png

    +

    然后我们用FTP工具将之前备份的wp-content文件夹上传覆盖。在根目录下将wp-config-sample.php文件复制一份并重命名为wp-config.php。编辑wp-config.php文件,填入数据库地址、名称、用户名及密码,然后保存。

    + + +

    至此,WordPress的备份及还原工作结束。

    +]]>
    + + 应用 + + + wordpress + +
    + + YouTube后台播放神器OGYT + /posts/3682.html + 今天给大家推荐一款APP,可以在当YouTube退到后台之后继续以音频的形式播放。

    +

    一般情况下,我们在用YouTube APP播放视频时,如果退到后台,视频就会暂停播放,如果我们想要继续以音频形式播放YouTube,就必须要开通YouTube的付费功能。

    +

    安装的OGYouTube之后,我们在OGYouTube中观看视频,然后点击"背景"按钮,视频就会以音频方式在后台继续播放,此等神器,GOOGLE PLAY商店时绝对不会上架了,大家可以在附件中下载到。

    +

    另外OGYOUTUBE还有下载YOUTUBE视频的功能,但我测试了之后没有下载成功,不知道是APP本身的原因还是我网络环境的问题。大家可以试一下,如果有下载成功的请留言告知。

    +

    使用方法:将附件内的两个APP同时安装,然后在OGYoutube中登陆Google账户就可以使用了。

    +

    微信图片_20180802104843.jpg

    +

    下载地址链接: https://pan.baidu.com/s/1Kre7Lo--yaEsRODV2lZbxA 提取码: 7dqy

    +]]>
    + + 应用 + + + Android安卓 + GOOGLE + youtube + +
    + + outlineANDROID客户端下载 + /posts/39287.html + outline的安卓客户端可以直接在谷歌PLAY商店内搜索下载,如果没有PLAY商店,可以下载APK直接安装使用。

    +]]>
    + + 应用 + + + outline + VPS + android + 客户端 + +
    + + snipaste-强大的windows平台截图工具下载 + /posts/34605.html + 我们在电脑里操作截图一般会用QQ或微信自带的截图工具,用起来虽然方便,但是必须要登录QQ或是微信才能使用,这一点很是不爽。虽然Windows也自带有截图工具,可是用起来并不友好。

    +

    今天推荐给大家一款好用到爆的截图工具-Snipaste,绿色版无需安装,可设置开机启动,只需按下F1键即可完成截屏,可截取屏幕上任何位置的画面,而且还支持标注及粘贴、颜色提取等快捷操作。

    +

    该工具的设置也简单明了,将压缩包解压之后运行软件,在托盘区找到snipaste的图标,右键选择首选项即可进行设置。

    +

    Snipaste_2018-06-07_10-07-11.jpg

    +

    软件分为32位、64位及XP专用三个版本,大家可根据自己的系统下载相应的版本。

    +

    目前该工具也推出了适用于MAC系统的测试版。

    +]]>
    + + 应用 + + + Daily我的日常 + Android安卓 + snipaste + 工具 + 截图 + +
    + + ubuntu服务器安装v2ray笔记及客户端下载 + /posts/56961.html + +

    首先用root账户来登录服务器,然后运行下面的命令一键安装v2ray

    + + +
    bash <(curl -L -s https://install.direct/go.sh)
    +
    + + +

    所有的详细配置都存储在/etc/v2ray/config.json文件中,安装完成之后我们运行下面命令来将服务器的端口及id记录下来。

    + + +
    cat /etc/v2ray/config.json
    +
    + + +

    最后我们运行下面的命令来启动v2ray服务并设置为开机启动。

    + + +
    systemctl enable v2ray
    +systemctl start v2ray
    +
    + + +

    到此安装完毕,最后我们检查一下服务器的防火墙设置,一定要放行上面记录到的端口才能够正常使用。

    + + +

    服务器端配置完成之后,我们还需要在你所使用的主机上安装部署v2ray客户端,常用的windows、iOS、Android平台都有相应的客户端,windows客户端推荐使用 v2rayN ,配置起来简单直观。iOS平台可以使用 Shadowrocket ,但是必须切换到美区账户才能购买安装。Android这边的话可以使用免费的 V2RayNG 。文章结尾我会放出windows和Android客户端的下载链接。

    + + +

    其实v2ray就类似于ssr采,只不过它采用了vmess加密协议,使用起来更加隐蔽,更加难以被监测到。

    +]]>
    + + 应用 + + + LINUX + linux + 客户端 + v2ray + 下载 + +
    + + 中晶科技FS-3125S扫描仪驱动下载 + /posts/26864.html + 今天给客户安装中晶的FS3125S扫描仪,在网上找了一圈也没下载到驱动,现在从机器自带的光盘里拷贝了一份,上传到了百度云,有需要的朋友可以前往下载。该驱动支持winXP到win10。

    +

    xc6981855.jpg

    + +

    [reply]123[/reply]

    +]]>
    + + 应用 + + + Daily我的日常 + 下载 + FS3125s + 扫描仪 + 驱动 + +
    + + 利用ifttt将Wordpress文章同步到社交平台 + /posts/29347.html + 今天我在ifttt新建了三个自动同步应用,如果Wordpress有新文章发布,更新消息将会自动在twitter以及新浪微博发送一条更新通知,并会在印象笔记同步一条以文章为内容的笔记。

    +

    TIM截图20181213191941.png

    +

    TIM截图20181213191827.png

    +

    设置起来很简单,只需将你的各种平台的账号信息授权给ifttt,然后根据提示一步一步傻瓜式操作就可以了。

    +

    现在我们来测试一下同步效果吧。

    +

    经过测试及长时间的等待,Wordpress同步到Twitter及印象笔记均可以正常工作,但是无法同步到新浪微博,据网友反馈说,新浪微博早已关闭了来自ifttt的同步请求。

    +]]>
    + + 应用 + + + wordpress + Daily我的日常 + ifttt + twitter + 微博 + +
    + + 华擎J3455安装黑群晖的几点建议 + /posts/46714.html + 华擎 的J3455是目前很热门的一款集成主板,许多网友都拿它来组黑群晖玩,我手里正好也有一块J3455,上周装了黑群晖,已经稳定运行了近一个星期,下面我将罗列几点在装机以及使用过程中遇到的问题及解决方法,希望对正打算用J3455装黑群晖的朋友有所帮助。

    +

    1.Bootloader引导版本的选择

    +

    由于群晖的DS918+也是采用的J3455处理器,所以很多朋友都用最新的Jun’s Loader 1.04b来做引导,但是目前使用1.04b引导DS918+有一个问题,就是在DSM网页中无法重启机器,所以我选择了用1.03b引导DS2615XS来装DSM6.1.6系统。安装完成之后可以在线更新DSM版本到 DSM 6.1.7-15284 Update 3 。

    +

    aa.jpg

    +

    2.WOL相关设置

    +

    想要实现WOL网络唤醒,需要满足以下几个条件:

    +

    1.引导优盘中的MAC地址必须填主板实际的MAC地址;

    +
      +
    1. 在BIOS中启用"允许从PCI-E设备启动电脑";
    2. +
    +

    3.DSM控制面板—电源中必须WOL选项打勾。

    +]]>
    + + 应用 + + + Synology群晖 + J3455 + 主板 + 华擎 + 黑群晖 + +
    + + 如何快速备份和还原padavan路由器的系统设置及脚本 + /posts/63397.html + 之前家里用的主路由器是刷了Padavan固件的联想NEWIFI Y1S,前几天在闲鱼上收了一台NEWIFI 3,想着把主路由换成NEWIFI3,但是想想换了新路由之后还要重新设置宽带连接账号、内网IP地址绑定、SS、DNSPOD、端口转发、DMZ等等一大堆的操作,感觉好头疼。所以更换路由器的工作就拖了下来,等找到宽裕点的时间再换。

    +

    就在昨天我更新路由器固件版本的时候,突然发现Padavan居然可以一键导出配置及脚本,顿时豁然开朗,这不正好解决了我的痛点?

    +

    如果你和我一样要更换路由器,碰巧新旧路由器都是padavan系统,跟着我的步骤一起来操作吧,可以实现路由器无痛升级。

    +

    1.如何备份

    +

    TIM截图20181228171704.jpg

    +

    进入旧路由器的管理页面,依次进入【高级设置】-【系统管理】-【恢复/导出/上传设置】,将设置的备份及脚本的备份下载到本地电脑上。

    +

    TIM截图20181228191927.png

    +

    2.如何恢复

    +

    和上面的步骤一样,将下载到本地的备份上传到路由器,然后保存设置就可以。

    +

    操作完成之后,旧路由器的所有设置和脚本都会导入到新路由器中,包括LAN口地址、管理员账户密码、宽带连接账号密码、局域网IP地址表、SS、DNSPOD等等。

    +]]>
    + + 应用 + + + 路由器 + padavan + Network网络 + +
    + + 如何搭建outline服务器 + /posts/20287.html + Debian8系统进行如下操作:

    +

    ####切换到root权限####

    +
    sudo -i
    +
    +

    ####安装docker####

    +
    curl -sS https://get.docker.com/ ' sh
    +
    +

     

    +

    ####启动docker####

    +
    systemctl start docker
    +
    +

    ####将docker加入系统服务####

    +
    systemctl enable docker
    +
    +

    ####查看docker运行状态,返回值应有绿色running字样####

    +
    systemctl status docker
    +
    +

     

    +

    ####一键安装outline server####

    +
    wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh ' bash
    +
    +

    安装完成之后将{}内的内容进行复制,然后下载并安装outline manager软件,将复制到的内容粘贴到软件相应的地址即可。

    +

    之后就可以用outline manager软件来生成outline的key及查看流量的消耗。

    +

    TIM截图20180419112617.png

    +

    outline官方网站:https://getoutline.org/en/home

    +]]>
    + + 应用 + + + outline + VPS + GOOGLE + 服务器 + 谷歌云 + +
    + + 支持DSM6.2Jun'sLoader 1.03b下载 + /posts/7120.html + +

    Jun最新的黑群晖引导已升级到了1.03b版本,支持最新的DSM6.2系统。支持3615及3617两个型号。

    + + +

    全新安装应该没有太大问题,稍后我会在现有的6.1系统上进行升级测试。

    + + +]]>
    + + 应用 + + + Synology群晖 + 黑群晖 + +
    + + 树莓派安装nodejs及npm环境 + /posts/60215.html + 我们以nodev6.10.3版本为例进行安装,最新的版本可以参阅nodejs官网(http://nodejs.org/dist

    +

    先来现在安装包

    +
    wget http://nodejs.org/dist/v6.10.3/node-v6.10.3.tar.gz
    +
    +

    然后将下载好的安装包解压

    +
    tar -xzf node-v6.10.3.tar.gz
    +
    +

    打开解压好的文件夹进行编译

    +
    cd node-v6.10.3
    +./configure
    +make
    +
    +

    编译过程需要一段时间,请耐心等待。编译完成之后我们就可以进行安装了。

    +
    sudo make install
    +
    +

    安装完成之后我们重启一下树莓派。

    +
    sudo reboot
    +
    +

    重启之后我们可以用下面命令查看nodejs以及npm的版本。

    +
    node -v
    +npm -v
    +
    +

    如果有正确的版本返回,则安装成功。

    +]]>
    + + 应用 + + + LINUX + 安装 + 树莓派 + nodejs + npm + +
    + + 测试新的编辑器Gutenberg + /posts/56073.html + 这篇文字是用全新的WordPress文章编辑器Gutenberg编写的。

    +

    接下来插入一张图片看看效果。

    +

    Snipaste_2018-08-05_09-03-34.png

    +

    与之前的默认编辑器相比,Gutenberg使用更加灵活,可以随意在任何地方插入任何东西。

    +

    Snipaste_2018-08-05_09-05-32.png

    +

    甚至是插入小工具。

    +

    亦或是Twitter账户的最新动态。

    + + +
    +http://twitter.com/miaoyanginfo +
    + + +

    好了,发布一下看看最后的效果吧。。

    +]]>
    + + 应用 + + + wordpress + +
    + + 激活windows及office-自用KMS服务器分享 + /posts/59409.html + KMS服务器可以用来激活VOL版本(俗称大客户版本)的Windows系统及Office办公软件。

    +

    每次激活可用180天,如果KMS服务器不瘫痪,到期后会自动续期,所以也算是永久激活。

    +

    如需使用KMS服务器来激活,记得下载和安装VOL版本的Windows及Office,大家可以去【msdn我告诉你】搜索下载。

    +

    我的KMS服务器是搭建在家里的路由器上面的,地址是 home.miaoyang.win,目前可以保证其稳定性,如果因服务器问题出现无法激活的状态,我会尽快解决。

    +

    切记以管理员身份运行CMD!

    +

    1、Office 手动激活命令:

    +
    cd C:\Program Files\Microsoft Office\Office16(Office 安装目录,32位和64位的安装目录不同,以你的安装目录为准)
    +cscript ospp.vbs /sethst:home.miaoyang.win
    +cscript ospp.vbs /act
    +cscript ospp.vbs /dstatus
    +
    +

    2、Windows 手动激活命令:

    +
    slmgr.vbs /skms home.miaoyang.win:1688
    +slmgr.vbs /ato
    +slmgr.vbs /xpr
    +
    +

    切记下载VOL大客户版本的windows及office,VOL版本的镜像名一般是以SW开头且文件名中一般含有VL字样。

    +]]>
    + + 应用 + + + Network网络 + KMS + OFFICE + windows + 激活 + +
    + + 用斐讯N1盒子看电视 + /posts/59600.html + 最近在各大论坛出镜率很高的斐讯N1天天链应该算是目前性价比最高的盒子了。这款盒子原先是斐讯推出的一款可以挖矿的盒子,现在矿塌了,大神们就开始研究这货究竟还有什么用。

    +

    斐讯N1采用S905处理器,2GB的内存,8GB的EMMC存储,千兆网口,购买一个挖矿退下来的二手机器,价格应该不超过80块钱。目前这款盒子经过刷机改造之后可以作为一款配置不出的Android电视盒子来用,也可以刷入Ambian来跑Ubuntu或是Debian等Linux系统。

    +
    +

    今天根据论坛大神们的教程来教大家如何将N1盒子刷成Android电视盒子。

    +

    首先我们将买回来的盒子连接HDMI线及网线,然后接通电源开机;

    + + +

    接入鼠标点击系统版本,直到屏幕提示"ADB打开"字样;

    + + +

    接着我们运行附件里面的"连接盒子"脚本,输入盒子获取到的IP地址;

    + + +

    盒子重启之后我们点击"降级"脚本,对盒子进行降级,降级完成之后我们点击"降级完成"按钮,盒子会自动重启;

    + + +

    然后我们用双公头USB线连接盒子和电脑(盒子上使用靠近HDMI的USB口),电脑上安装USB_Burning_Tool软件,并导入.img烧录包,软件右边将"擦出flash"打勾,其余不打勾,然后点击"开始"按钮;

    + + +

    接着我们运行"盒子进入刷机模式"脚本,windows会自动发现新设备,
    +USB_Burning_Tool会自动开始刷机;

    + + +

    等提示刷机完成之后,我们点击"停止"按钮,然后断开USB连接,重新插拔盒子电源线;

    + + +

    盒子第一次启动大约需要1-2分钟时间,请耐心等待,之后我们就会进去刷好的Android系统了,我们可以选择"当贝桌面"作为默认桌面软件,在当贝市场中可以随意下载自己喜欢的APP,具体的操作我就不细说了,和其他盒子类似。

    + + +

    最后强调一下,盒子不带遥控器,我们可以在淘宝上购买20块包邮的高仿小米的蓝牙遥控器,也可以购买斐讯T1的原装遥控器,当然也可以直接使用无线鼠标操作。

    + + +]]>
    + + 应用 + + + LINUX + Android安卓 + +
    + + 群晖DSM获取root密码的方法 + /posts/16982.html + 用Putty登录群晖NAS的时候发现输入root用户然后输入admin密码之后无法登录,只能用admin的账户和密码才能登录,如果要获取root权限,必须输入 sudo -i然后输入admin的密码才可以。

    +

    也就是说我们并不知道群晖默认的root密码是多少,那我们可以用下面的命令来修改root密码

    +
    synouser --setpw root newpassword
    +
    +

    将newpassword替换成你要设置的密码就可以了。

    +

    这样就可以用root账户直接登录了。暂时没有发现修改root密码后对系统产生的影响。

    +]]>
    + + 应用 + + + Synology群晖 + +
    + + 群晖Mailplus套件搭建邮件服务器 + /posts/34873.html + +

    套件中心搜索【Synology Mail Plus Server】和【Synology Mail Plus】两个套件安装。

    + + +
    ![](image-5.png)
    + + +

    安装完成之后启动【Synology MailPlus Server】套件,进入【服务】选项卡进行设置,启用SMTP、POP3服务及对应端口。

    + + +
    ![](image.png)
    + + +

    切换到【邮件投递】选项卡进行设置。

    + + +
    ![](image-2.png)
    + + + + +

    切换到【账号】选项卡,激活相应的账户。

    + + +
    ![](image-1.png)
    + + +

    激活完成之后就可以进入【Synology MailPlus】套件来进行邮件的收发动作。

    + + +
    ![](image-4-1024x372.png)
    + + +

    另外我重点说一下我这边的网络环境及路由器和DDNS的设置。

    + + +

    家里面使用的是联通宽带,有公网IP。

    + + +

    在路由器中设置DMZ主机为群晖的IP。这样设置之后群晖上所有服务的端口都会暴露到公网上去,不需要单独在路由器中做端口转发,如果为了安全起见,不希望暴露某些端口到公网,可以在群晖防火墙里面做设置。

    + + +

    然后在群里里面设置DDNS。我使用的是DNSPOD的DDNS服务。在群晖的【控制面板】-【外部访问】中进行DNSPOD的设置。需要在DNSPOD后台生成API密钥,这里不展开讨论。

    + + +

    然后在DNSPOD后台添加对应域名的解析操作,比如我的域名是miaoyang.win。我将主域名用DDNS的方式解析到了群晖,然后MX记录用解析到miaoyang.win,将二级域名mail.miaoyang.win用CNAME方式解析到miaoyang.win。

    + + +

    这样所有记录都会正确解析到宽带获取到的公网IP上面。

    + + +
    ![](image-3-1024x443.png)
    + + +

    经过上述设置之后,我这边可以在外网环境下使用WEB和手机客户端进行邮件的收发操作。

    +]]>
    + + 应用 + + + Synology群晖 + 群晖 + 邮件 + +
    + + 群晖NAS使用Docker安装迅雷远程下载xware教程 + /posts/468.html + 和之前一样,用putty登录NAS,然后切换到root权限

    +
    sudo -i
    +
    +

    从阿里云拉取xware映像

    +
    docker pull cb59j9ia.mirror.aliyuncs.com/yinheli/docker-thunder-xware
    +
    +

    下载完成之后前往NAS的docker中启动该映像,然后选择"高级设置",切换到"卷"选项卡,选择一个本地的文件夹来作为迅雷的下载目录,挂载路径为/app/TDDOWNLOAD。

    +

    设置完成之后启动容器,然后在运行日志中查看激活码。

    +

    TIM截图20180424174524.png

    +

    最后将激活码记录下来前往 http://yuancheng.xunlei.com 绑定即可。

    +

    TIM截图20180424174851.png

    +]]>
    + + 应用 + + + docker + Synology群晖 + synology群晖 + Docker + 教程 + 迅雷 + 远程下载 + +
    + + 获取JD账号cookie + /posts/4496.html + 使用电脑操作,打开打开京东签到页面,登陆自己的账号后,打开浏览器开发者界面(键盘按F12),切换到Application选项,左侧选择cookies,并在右侧找到pt_keypt_pin,复制对应的值,拼接成pt_key=****;pt_pin=***格式保存起来备用

    + + +
    ![](WiL7dVCETgXlep9-1024x568.png)
    +]]>
    + + 应用 + + + 青龙面板 + +
    + + 黑群晖DS3615XS最新版启动优盘的制作 + /posts/50351.html + DIY NAS的配件还没到,昨天闲来无事,根据网上现有的教程,提前做了黑群晖DSM6.1.4的启动优盘。现在记录下来,方便有需要的朋友参考。

    +

    需要用到的软件和文件有:

    +

    1.最新版的黑群晖ds3615xs引导镜像;

    +

    2.用来将镜像写入优盘的Win32DiskImager(下载地址);

    +

    3.用来查看优盘VID以及PID的ChipEasy芯片无忧(下载地址);

    +

    4.用来加载镜像的OSFmount软件(下载地址);

    +

    5.用来修改grub文件的Notepad++(非必须,也可用记事本打开,下载地址);

    +

    6.用来计算黑群晖序列号和MAC地址的EXCEL表格。

    +

    以上文件请点击文章结尾的下载地址来进行下载。

    +

    将上面的东西都准备完毕了之后我们正式开始喽,当然还需要1个优盘,2G或4G都可以,不需要太大。

    +

    高能正式开始:

    +

    由于最新版的WIN10无法正确加载引导镜像,导致无法修改里面的grub文件,所以我们先来安装OSFmount软件,并用OSFmount加载引导镜像,记得将 read only 那里的勾去掉,加载的时候选择15M的那个分区,然后打开分区,找到grub.cfg文件,用NotePad++打开,当然也可以用自带的记事本打开。

    +

    将U盘插入电脑,运行ChipEasy,查看并记录下优盘的VID以及PID。

    +

    在grub.cfg中找到set vid=0x1234,set pid=0x1234字段,并将最后4位数字替换为自己优盘的VID及PID。接着打开黑群晖的算号Excel表格,选择DS3615XS型号,然后表格会自动生成序列号和MAC地址,我们将算好的SN和MAC地址一并在这个文件里面修改了。

    +

    然后保存文件,点击DISMOUNT取消加载。

    +

    接下来我们用Win32DiskImager打开修改好的镜像,并写入到优盘,等到写入完成之后,我们的黑群晖启动优盘就做好了。

    +

    稍后我会将需要用到的文件上传到网盘供大家下载。制作过程中的图片也会随后上传。

    +]]>
    + + 应用 + + + Synology群晖 + synology群晖 + 黑群晖 + 教程 + 引导 + 洗白 + +
    + + 黑群晖NAS装机实录 + /posts/44514.html + 昨天晚上收到了买的主板和机箱,电源还没有到,就先用之前旧电脑上的电源吧。连装箱带装系统,差不多折腾了两个小时。

    +

    酷冷的小魔方整体做工还算精致,支持标准电源,有三个硬盘位,顶部的硬盘支架可以装两块,侧板可以装一块,机箱前面板自带一个应该是12寸的风扇,可以直接接到主板上,开关按钮是前面板的LOGO,开机之后会有蓝灯,感觉不错,吐槽一下侧边的红色硬盘灯,有点不协调。

    +

    由于是ITX小机箱,装起来还是比较费劲的,翻工了一次,原因是如果侧边的硬盘安装靠上的话,会和顶部的硬盘架有冲突,必须靠下装,但试了几个位置,最多只能对上两个螺丝孔,不过还算稳定。

    +

    将主板、内存和电源安装完成,各种接线完成之后,将之前做好的启动优盘插上开机,连接网线和显示器,一切启动正常。

    +

    之后在电脑上登录http://find.synology.com之后会自动搜索局域网内的NAS设备,搜索到之后,根据提示上传ds3615xs的固件,然后系统会自动安装和重启,重启完成之后再进入http://find.synolgoy.com将NAS联机进行初始化设置即可

    +

    远程访问我用的是DDNS,没有用群晖自带的QC,目前WOL还没有搞定,由于主板是UEFI的,没有找到设置WOL的地方。

    +

    系统里可以设置定时开关机时间,也是起作用的。

    +]]>
    + + 应用 + + + Synology群晖 + +
    + + Alist套娃小雅操作指南 + /posts/6776.html + 虽然小雅也是基于Alist的docker容器,但它是相对独立的,并且阉割也许多Alist的功能,无法像Alist那样和其他网盘进行文件复制。那有没有一种可能将小雅容器接入Alist呢,让小雅里面的资源也能轻松复制到其他网盘中?
    +今天咱们来搞小雅套娃操作,也就是将小雅接入到完整的Alist平台,将小雅中的资源转存到接入Alist的其他网盘中去。

    +

    前提

    +

    正常运行的小雅容器和Alist容器。

    +

    获取小雅链接令牌

    +

    使用ssh工具登录到小雅的宿主机。
    +运行以下命令:

    +
    docker exec -i xiaoya sqlite3 data/data.db << EOF
    select value from x_setting_items where key = "token";
    EOF
    +
    +

    将命令中的xiaoya替换为你实际小雅容器的名称。

    +
    + +

    执行完成之后会命令框会显示alist-开头的一串令牌,将其复制保存,随后会用到。
    +image.png

    +

    在Alist中添加存储

    +

    登录到Alist管理页面,添加一个存储,驱动选择Alist V3,挂载路径自己输入,例如/xiaoya。链接填入小雅的地址加端口。

    +

    image.png
    +在令牌处填入复制的小雅令牌,然后保存。
    +image.png
    +回到存储列表查看刚才添加的小雅存储状态是否为work。
    +image.png

    +

    回到Alist主页就可以看到小雅里面的文件了,现在就可以把里面的文件复制到你已经挂载到Alist的其他网盘了。
    +image.png

    +

    后记

    +

    需要注意的是,在Alist中添加了小雅之后可以从小雅复制文件到其他网盘,但是无法将文件复制到小雅里面,也无法删除小雅里面的文件,也就是只具有只读权限。
    +如果后期升级或重新部署了小雅容器,需要重新获取令牌。

    +]]>
    + + 影音 + + + alist + docker + 小雅 + 套娃 + +
    + + N1可用的第三方油管APP-smarttube + /posts/248.html + N1刷了W大的电视盒子固件有两三年的时间了,期间配了T1遥控器,又扩容到了32G的存储,可以装下更多的APP了。运行KODI和日常的爱优腾都还算比较流畅,但唯独有一点,运行官方Youtube应用的时候会经常出现卡顿和死机的情况,体验不是很好,加之KODI下里面的Yotube插件也不能正常使用了,所以在N1上看油管视频一直没有一个很好的解决方案。
    +最近闲逛的时候发现有好多网友和我一样的情况,下面有热心网友推荐第三方的油管APP-smarttube。不仅可以流畅观看油管视频,而且可以免安装谷歌框架登录油管谷歌账号,同步观看记录和订阅频道。
    +image.png

    +

    这是软件的官网地址,可以下载稳定版和测试版:
    +https://smarttubenext.com/
    +安装方法也很简单,下载APK拷贝到优盘,插到N1上直接安装就可以了。
    +项目Github主页:yuliskov/SmartTube: SmartTube - an advanced player for set-top boxes and tvs running Android OS (github.com)

    +]]>
    + + 影音 + + + N1 + YOUTUBE + 油管 + APP + smarttube + +
    + + docker运行阿里云盘webdav服务 + /posts/9027.html + 20220719161804
    +之前一直在使用L大openwrt中自带的阿里云盘webdav插件来,但最近发下插件老是运行报错,所以决定直接在openwrt的docker中跑阿里云盘webdav服务。
    +方法也很简单,直接在docker中运行下面命令就可以了

    +
    docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 2345:8080 \
    -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
    -e REFRESH_TOKEN='token' \
    -e WEBDAV_AUTH_USER=username \
    -e WEBDAV_AUTH_PASSWORD=password\
    messense/aliyundrive-webdav
    +

    备注:
    +1.2345为docker主机映射的端口,可以任意修改。
    +2.username为你的阿里云盘登录用户名。
    +3.password为你的阿里云盘登录密码。
    +4.如何获取阿里云盘的token请参考另一篇文章(https://miaoyanginfo.github.io/2022/05/22/15获取阿里云盘refreshtoken/)

    +]]>
    + + 影音 + + + webdav + docker + 阿里云盘 + +
    + + win11开启WEBDAV协议挂载阿里云盘 + /posts/57995.html + 之前提到了使用第三方软件RaiDrive来挂载WEBDAV协议的网盘,其实Windows自身是支持WEBDAV协议的,只需要简单的设置一下即可,可以完全抛弃三方软件。
    +##1.开启WEBCLIENT服务。
    +右键计算机-管理-服务,找到WEBCLIENT服务并开启运行。
    +webdav01.png

    +

    ##2.编辑注册表,修改键值,以同时支持http和https协议。
    +运行输入regedit回车。
    +找到如下路径,将BasicAuthLevel值改为2。

    +
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    +

    webdav02.png
    +##3.添加网络位置即可。
    +webdav03.md.png

    +]]>
    + + 影音 + + + webdav + win11 + 阿里云盘 + +
    + + 入手了两台二代小米AI音箱 + /posts/40056.html + 家里有两台小爱音箱,一台是在2017年首发时候淘宝加价买的小米小爱音箱第一代,用到现在已经7年了。音质放到现在还是很能打。另一台是今年在闲鱼买的小米小爱音箱Play增强版,翻了一下记录花了85块钱,而现在全新的官网售价也才129块。当初买这个是看中了其可以充当蓝牙Mesh网关,支持红外控制家电,还有机身LED时间显示。

    +

    image.png

    +

    但到手使用了一段时间之后才发现这个音箱很垃圾,相当不推荐购买。首先是唤醒延迟,一般需要喊两三次小爱同学才会唤醒,而且反应迟钝,在接收到唤醒指令之后还要反应1-2s才会做出回应。在一个就是音质和第一代AI音箱相比差了一条街的距离,可以说根本没有音质可言,也就是当个喇叭听个响。还有这音箱偶尔还会死机,具体表现为唤醒无反应,顶部按键无反应,LED时钟卡住不动。

    + +

    目前这两个音箱我都通过xiaomi miot auto插件接入到了HomeAssistant,使用TTS来播放闹钟以及配合device_tracker跟踪手机执行到家欢迎语。
    +image.png

    +

    最近想着把这个智障的Play增强版换掉,起初还在考虑是再入手一个AI音箱呢还是入手个小爱音箱pro来试试,或者干脆一步到位买两个homepod mini组立体声。在逛小黄鱼的时候发现了个AI音箱二代,型号为L15A,这个音箱发布了也有几年了,但是目前官网还在售,179块。外观和一代大差不差,可见的是电源口换成了主流的圆口,功能上主要是增加了蓝牙mesh网关功能,而且可以支持两个同型号音箱组成立体声增加音质。那买来组个立体声玩玩吧,如果体验可以的话就把之前的一代和play增强版都出掉。逛了一圈160块买了两个😆,不带电源适配器。
    +image.png
    +其实现在的智能音箱已经被各种音频VIP服务绑架了,连最起码的听歌和听故事,都需要办各种三方VIP会员才行,否则只能听几秒试听版。不过之前看到一个开源项目,可以劫持小爱同学语音调用本地存储的曲库,只要本地曲库里面有的歌曲,可以免VIP直接播放。昨天已经发货了,趁着中秋三天假期研究一下。
    +现在我这边的主要作用也就是接入HomeAssistant做一些自动化功能,再者就是用蓝牙播放手机里面的音乐,还有就是孩子听一些免费的睡前故事。

    +]]>
    + + 影音 + + + 小米 + 音箱 + 小爱同学 + AI音箱 + +
    + + 分享一些关于小雅Alist的使用心得 + /posts/2878.html + 前言 +

    好久没有更新了,最近除了工作,其他时间都在研究小雅Alist的使用。什么是小雅Alist?它是一个基于Alist搭建的影音分享的docker容器,部署完成之后支持webdav协议,可以连接infuse、kodi、potplayer、nplayer、vidhub等等众多支持webdav协议的影音软件,资源主要来自于作者分享的各个网络云盘的资源,比如阿里云、115等等。
    +20240904095057
    +之前小雅Alist里面的资源都是来自于阿里云盘的,因为之前阿里云盘声称是永不限速,很长一段时间都可以通过小雅来流畅观看阿里云盘里面的视频资源。但是很快就被打脸了。大概在7月底的阿里云盘推出了三方权益包,每月需要额外花十几块钱办理这个包,里面有1TB的流量,可以将阿里云盘挂载到包括小雅Alist在内的其他第三方应用,享受高速传输服务,。如果你不办理这个权益包,速度会被限制在500kb/s左右,别说4k了,连1080的影片都无法流畅观看。让网友无法接受的是之前办理了阿里云盘VIP甚至是SVIP的网友,也需要单独购买这个三方权益包才可以不被限速,而且这个权益包只有1TB流量,用完之后,还是会被限速。。。
    +于是乎小雅开始转战115网盘,因为115有个转存阿里云盘的功能,简单来说就是,如果这个阿里的资源在115网盘上也有,会立即转存到你自己的网盘中。这样就跳过了阿里云盘的限制。当然115这边也有限制,需要开通会员才可以实现这个功能。但是115推出了优惠活动,包年会员115元,吸引了很多网友。而且最新的很多资源小雅都放到了115网盘中,所以想要玩小雅Alist,必须要办个115会员了。

    + +

    小雅alist的安装

    +

    想要安装小雅ALSIT首先你需要先安装好docker环境,arm或x86平台都可以。
    +安装脚本可以使用小雅原生的脚本,也可以使用DD-derek的一键脚本(包括emby和自动清理脚本等功能)。期间需要获取阿里云盘的相关token,具体方法可以参阅小雅说明文档(https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f)

    +
    bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)"
    +
    bash -c "$(curl --insecure -fsSL https://ddsrem.com/xiaoya_install.sh)"
    +

    安装完成之后进入主机IP:5678即可进入小雅ALIST页面。

    +

    一些115的配置

    +

    小雅alist的默认配置文件夹位于/etc/xiaoya路径下,里面有多个txt文档用来配置相关功能。
    +如果你办理了115的会员,需要至少配置三个文件。

    +

    ali2115.txt

    +

    这个文件是用来加速阿里云盘资源的,如果你没有办理阿里云盘的会员,但是有115的会员,可以配置这个文件来转存阿里的资源到115网盘,实现流畅观看视频。
    +格式如下:

    +
    purge_ali_temp=true
    cookie="UID=800012347_F1_1712345;CID=0f99357f000xxxxx67af8e167fcd68;SEID=0f439555555559d9b227595c0cd37b63c065e5d934d70045e8bfb3089b09b8d843662ad6ac00a90c6ecc3faf0e5abff45d73797470"
    purge_pan115_temp=true
    dir_id=0
    +

    里面的cookie换成你的115cookie即可。

    + +

    配置115的cookie来观看存储在115云盘上面的资源
    +格式如下:

    +
    UID=800012347_F1_1712345;CID=0f99357f000xxxxx67af8e167fcd68;SEID=0f439555555559d9b227595c0cd37b63c065e5d934d70045e8bfb3089b09b8d843662ad6ac00a90c6ecc3faf0e5abff45d73797470
    +

    里面的cookie换成你的115cookie即可。

    +

    115share_list.txt

    +

    这个文件用来挂载115的分享,可以用小雅现成的,也可以分享你自己115网盘里面的文件。配置生效之后会在小雅根目录生成一个名为“我的115分享”的文件夹。
    +20240904095438
    +格式如下:
    +挂载名 分享ID 分享目录id 提取码 (用空格分开,一行一个)

    +
    115音乐 swz1zuk36by 549787817770 kac4
    纪录片 sw62frg3wp6 2288331541153662564 n9f5
    4KRemux sw6pw793wfp 2628478209787264315 w816
    电影1080P sw68fuu3nnw 1926968105722823031 pb57
    电视剧 sw68e813nnw 2659063178117250374 n9e0
    合集1 swzyiww3wn9 2524811557500852274 w1e0
    合集2 swzyiwq3wn9 2637890258378922777 x716
    合集3 swzyiwb3wn9 2637896360227215749 qfe8
    动画电影 swz6gml3fwo 2783753598167678176 8888
    欧美电影 sw68wz93ncb 2656232060400365768 6666
    美剧 sw6plt23ncb 2629830185329553796 6666
    千部抖音短剧合集 swzqh673h4y 2844388545487961211 5296
    无损音乐 sw6u40x3wp6 2748248365866155734 t543
    欧美剧 swznm373w1p 2775567116696245412 pe35
    音乐22万首 swzmqcr3fs6 2783304403585596566 xd67
    音乐22万首/DDS+HiRes sw658uq36x2 2565672403766001435 md98
    音乐22万首/母带系列 sw658uq36x2 2565416479709117843 md98
    音乐22万首/索尼精选 sw658uq36x2 2565917379515039176 md98
    音乐22万首/各类风格 sw658uq36x2 2565466586953464857 md98
    音乐22万首/华语27000首无损 sw658ub36x2 2565274055783398734 q7e0
    日韩电影 swzg8dd3wye 2932272857134137107 m5b3
    +
    +

    注意上面分享的这些文件夹可能会由于政策原因或是资源主取消分享而失效,请注意!

    +
    +

    登录限制

    +

    小雅alist默认是可以匿名登录的,也就是任何人都无需用户名密码即可打开小雅观看影片,如果你想要配置个登录密码,可以在小雅配置文件夹内新建一个名为guestlogin.txt,内容为空就行。然后再新建一个名为guestpass.txt的文本,里面填入你想设置的密码。然后重启docker容器。就可以用户名dav和你设置的密码来登录小雅了。当然如果你在其他地方使用webdav挂载了小雅alist,也需要该用户名密码进行连接。

    +

    关于webdav连接

    +

    使用支持webdav协议的播放器来连接小雅资源库,一般需要主机名、端口、用户名、密码、挂载路径等信息。主机名为docker宿主机的IP,端口为5678,用户名为dav,密码为上一步设置的密码,挂载路径为/dav,准确填入这些信息之后一般就可以正常连接小雅Alist了。

    +

    如何判断这个影片是115的还是阿里云盘的

    +

    小雅里面很多文件夹后面会标注115字样,说明这个资源是存在115网盘的,没有标注的话这个资源是存在阿里云盘的。如果你没有115的付费会员,只有普通会员,目前每天有5次机会可以不限速观看115的资源。还有一种方法,在小雅页面打开一个视频,如果播放器默认调用的是“Aliyun video perviewer",那说明这个资源是来自阿里云的,如果默认只有“video”选项,那这个资源大概率是115网盘的。
    +20240904095956

    +
    +

    这个资源就是存在阿里云盘

    +
    +

    20240904100104

    +
    +

    这个资源就是大概率存在115网盘

    +
    +

    如何查看小雅当前版本和升级版本

    +

    在小雅根目录下有个©开头的文件夹,这个就是当前小雅的版本号。在网络环境正常的情况下,每次重启小雅docker容器都会自动更新到最新的版本。如果你当前使用的小雅有一些莫名奇妙的问题,试着重启下docker容器,升级到最新版本,或许或解决你的问题。截止到9月4日,最新的小雅版本为v.0821.0535(B)。

    +

    如何自动清理存在阿里云盘的文件

    +

    每次观看影片之后,都会留一份文件在阿里云盘里面,时间长了之后会导致阿里云盘空间被占满,无法正常观看小雅视频。如果你使用的是DDS的一键安装脚本,里面会有个一键安装自动清理阿里云盘的脚本。其实是在docker中新建了一个名为xiaoyakeeper的容器,其作用是定时清空缓存在阿里云盘的视频文件。不必担心,这个脚本只会清理你在安装小雅docker时设置的缓存文件夹里面的文件,不会清理你存在阿里云盘的其他文件。当然你也可以指定脚本的运行时间。在小雅配置文件夹新建一个myruntime.txt文件,里面写入你希望脚本运行的时间即可,例如我希望在每天的早晚6点各执行一次清理脚本,只需要写入6:00,18:00即可。

    +]]>
    + + 影音 + + + alist + docker + 小雅 + +
    + + 如何获取阿里云盘的refresh_token + /posts/62343.html + 访问阿里云盘网页版,成功登录之后,按下F12,打开开发者模式,按照下图获取refresh_token。
    +
    +获取到这个token之后我们就可以在各种阿里云盘的WEBDAV服务中使用这个token来开启阿里云盘的WEBDAV服务了。
    +自动获取:
    +登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).refresh_token

    +]]>
    + + 影音 + + + token + 阿里云盘 + +
    + + 山西太原联通IPTV局域网组播openwrt设置教程(附M3U文件) + /posts/21117.html + 网络环境 +

    山西太原联通宽带。光猫INTERNET口与IPTV口为不同的网络。IPTV口接联通送的IPTV盒子可以观看IPTV电视节目。
    +INTERNET口桥接模式连接华为AX3路由器(IP地址为192.168.1.2),AX3负责PPPOE拨号。
    +AX3下连一台刷了Openwrt的斐讯N1盒子(IP地址为192.168.1.2)用于科学工作。连了一台刷了Openwrt的网件AX206路由器(IP地址为192.168.1.4)用于扩展WIFI覆盖范围。
    +网件WAX206的LAN口与华为AX3的LAN口相连,并且与主路由AX3设置成了统一的SSID和密码,关闭了DHCP。

    + +

    接口设置

    +

    将光猫IPTV口出来的网线连接到WAX206的WAN口,并将WAN口改为DHCP模式。
    +(这里有个坑,一开始我将IPTV的网线插到LAN口,到最后也是可以正常观看IPTV的,但是会倒是局域网内的设备无法访问互联网,所以需要将IPTV网线接到WAN口)
    +20240405171612
    +网关跃点数改为200或更大。
    +20240405171636

    +

    防火墙设置为lan。
    +20240405171658

    +

    关闭DHCP服务。
    +20240405171718

    +

    UDPXY设置

    +

    登录WAX206的后台安装udpxy插件。
    +20240405171538
    +Udpxy插件设置如图:要注意绑定IP接口和源IP接口不要填错,端口可随意设置成未被占用的其他端口。
    +20240405171741

    +

    接着我们在电脑上telnet一下192.168.1.4 7000 这个端口看是否正常运行。

    +

    组播地址转换

    +

    接着就是找本地运营商的IPTV组播地址了。可以前往kodi中文网,或是github上找别人分享的m3u地址。
    +一般我们在网上找到的M3U地址类似于下面这种:

    +
    #EXTINF:-1,CCTV1-综合
    rtp://226.0.1.157:3086
    #EXTINF:-1,CCTV2
    rtp://226.0.1.158:3087
    #EXTINF:-1,CCTV3
    rtp://226.0.1.141:2018
    #EXTINF:-1,CCTV4
    rtp://226.0.1.21:3036
    #EXTINF:-1,CCTV5
    rtp://226.0.1.135:2020
    +

    我们需要批量将里面的rtp://替换为http://192.168.1.4:7000/upd/
    +替换后类似于这样:

    +
    #EXTINF:-1,CCTV1
    http://192.168.1.4:7000/udp/226.0.2.18:8056
    #EXTINF:-1,CCTV2
    http://192.168.1.4:7000/udp/226.0.2.19:8064
    #EXTINF:-1,CCTV3
    http://192.168.1.4:7000/udp/226.0.2.20:8072
    #EXTINF:-1,CCTV4
    http://192.168.1.4:7000/udp/226.0.2.21:8080
    #EXTINF:-1,CCTV5
    http://192.168.1.4:7000/udp/226.0.2.22:8088
    +

    测试播放

    +

    一切正常的话,我们在电脑端用VLC或potplayer打开我们修改好的M3U文件就可以正常观看IPTV了。
    +20240405171803

    +

    如果你家的网络环境和我这边的类似,可以按照我的教程来操作。

    +

    M3U分享

    +

    另分享一份我整理出来的山西联通可用的M3U文件,将文件中的192.168.1.4:7000换成你局域网的地址和端口就可以了。

    +
    #EXTM3U
    #EXTINF:-1 tvg-id="1" tvg-name="CCTV1" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV1.png" group-title="央视",CCTV1-HD
    http://192.168.1.4:7000/udp/226.0.2.153:9136
    #EXTINF:-1 tvg-id="2" tvg-name="CCTV2" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV2.png" group-title="央视",CCTV2-HD
    http://192.168.1.4:7000/udp/226.0.2.154:9144
    #EXTINF:-1 tvg-id="3" tvg-name="CCTV3" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV3.png" group-title="央视",CCTV3-HD
    http://192.168.1.4:7000/udp/226.0.2.208:9576
    #EXTINF:-1 tvg-id="4" tvg-name="CCTV4" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV4.png" group-title="央视",CCTV4-HD
    http://192.168.1.4:7000/udp/226.0.2.156:9160
    #EXTINF:-1 tvg-id="5" tvg-name="CCTV5" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV5.png" group-title="央视",CCTV5-HD
    http://192.168.1.4:7000/udp/226.0.2.209:9584
    #EXTINF:-1 tvg-id="6" tvg-name="CCTV6" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV6.png" group-title="央视",CCTV6-HD
    http://192.168.1.4:7000/udp/226.0.2.210:9592
    #EXTINF:-1 tvg-id="7" tvg-name="CCTV7" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV7.png" group-title="央视",CCTV7-HD
    http://192.168.1.4:7000/udp/226.0.2.159:9184
    #EXTINF:-1 tvg-id="8" tvg-name="CCTV8" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV8.png" group-title="央视",CCTV8-HD
    http://192.168.1.4:7000/udp/226.0.2.211:9600
    #EXTINF:-1 tvg-id="9" tvg-name="CCTV9" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV9.png" group-title="央视",CCTV9-HD
    http://192.168.1.4:7000/udp/226.0.2.161:9200
    #EXTINF:-1 tvg-id="10" tvg-name="CCTV10" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV10.png" group-title="央视",CCTV10-HD
    http://192.168.1.4:7000/udp/226.0.2.162:9208
    #EXTINF:-1 tvg-id="11" tvg-name="CCTV11" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV11.png" group-title="央视",CCTV11-HD
    http://192.168.1.4:7000/udp/226.0.1.28:3021
    #EXTINF:-1 tvg-id="12" tvg-name="CCTV12" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV12.png" group-title="央视",CCTV12-HD
    http://192.168.1.4:7000/udp/226.0.2.164:9224
    #EXTINF:-1 tvg-id="13" tvg-name="CCTV13" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV13.png" group-title="央视",CCTV13-HD
    http://192.168.1.4:7000/udp/226.0.2.165:9232
    #EXTINF:-1 tvg-id="14" tvg-name="CCTV14" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV14.png" group-title="央视",CCTV14-HD
    http://192.168.1.4:7000/udp/226.0.2.166:9240
    #EXTINF:-1 tvg-id="15" tvg-name="CCTV5+" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV5+.png" group-title="央视",CCTV5+-HD
    http://192.168.1.4:7000/udp/226.0.2.168:9256
    #EXTINF:-1 tvg-id="7249" tvg-name="CCTV16" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV16.png" group-title="央视",CCTV16-HD
    http://192.168.1.4:7000/udp/226.0.2.169:9264
    #EXTINF:-1 tvg-id="17" tvg-name="CCTV17" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV17.png" group-title="央视",CCTV17-HD
    http://192.168.1.4:7000/udp/226.0.2.170:9272
    #EXTINF:-1 tvg-id="6584" tvg-name="央视台球" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVtaiqiu.png" group-title="央视",CCTV央视台球HD
    http://192.168.1.4:7000/udp/226.0.2.216:9640
    #EXTINF:-1 tvg-id="6568" tvg-name="高尔夫网球" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE13.jpg" group-title="央视",CCTV高尔夫网球HD
    http://192.168.1.4:7000/udp/226.0.2.217:9648
    #EXTINF:-1 tvg-id="9" tvg-name="CCTV8" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTV8.png" group-title="央视",CCTV电视指南HD
    http://192.168.1.4:7000/udp/226.0.2.218:9656
    #EXTINF:-1 tvg-id="6569" tvg-name="央视精品" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVwenhuajingpin.png" group-title="央视",CCTV央视精品HD
    http://192.168.1.4:7000/udp/226.0.2.219:9664
    #EXTINF:-1 tvg-id="6557" tvg-name="风云音乐" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVfengyunyinyue.png" group-title="央视",CCTV风云音乐HD
    http://192.168.1.4:7000/udp/226.0.2.220:9672
    #EXTINF:-1 tvg-id="6558" tvg-name="第一剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVdiyijuchang.png" group-title="央视",CCTV第一剧场HD
    http://192.168.1.4:7000/udp/226.0.2.221:9680
    #EXTINF:-1 tvg-id="6560" tvg-name="世界地理" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVshijiedili.png" group-title="央视",CCTV世界地理HD
    http://192.168.1.4:7000/udp/226.0.2.222:9688
    #EXTINF:-1 tvg-id="6563" tvg-name="兵器科技" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE8.jpg" group-title="央视",CCTV兵器科技HD
    http://192.168.1.4:7000/udp/226.0.2.223:9696
    #EXTINF:-1 tvg-id="6562" tvg-name="怀旧剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE7.jpg" group-title="央视",CCTV怀旧剧场HD
    http://192.168.1.4:7000/udp/226.0.2.224:9704
    #EXTINF:-1 tvg-id="6000" tvg-name="风云足球" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVfengyunzuqiu.png" group-title="央视",CCTV风云足球HD
    http://192.168.1.4:7000/udp/226.0.2.225:9712
    #EXTINF:-1 tvg-id="6564" tvg-name="女性时尚" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTVnvxing.png" group-title="央视",CCTV女性时尚HD
    http://192.168.1.4:7000/udp/226.0.2.226:9720
    #EXTINF:-1 tvg-id="6559" tvg-name="风云剧场" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/CCTBfengyun.png" group-title="央视",CCTV风云剧场HD
    http://192.168.1.4:7000/udp/226.0.2.227:9728
    #EXTINF:-1 tvg-id="6246" tvg-name="CHC家庭电影" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CHC2.jpg" group-title="地方",CHC家庭影院
    http://192.168.1.4:7000/udp/226.0.2.240:9820
    #EXTINF:-1 tvg-id="54" tvg-name="山西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.152:9128
    #EXTINF:-1 tvg-id="" tvg-name="黄河电视台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/huanghetv.jpg" group-title="本地",山西黄河HD
    http://192.168.1.4:7000/udp/226.0.2.235:9792
    #EXTINF:-1 tvg-id="" tvg-name="山西经济与科技" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西经济与科技HD
    http://192.168.1.4:7000/udp/226.0.2.236:9800
    #EXTINF:-1 tvg-id="" tvg-name="山西影视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西影视HD
    http://192.168.1.4:7000/udp/226.0.2.237:9808
    #EXTINF:-1 tvg-id="" tvg-name="山西社会与法治" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西社会与法治HD
    http://192.168.1.4:7000/udp/226.0.2.238:9816
    #EXTINF:-1 tvg-id="" tvg-name="山西文体生活" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanxi_.png" group-title="本地",山西文体生活HD
    http://192.168.1.4:7000/udp/226.0.2.16:8040
    #EXTINF:-1 tvg-id="" tvg-name="太原一台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_1.png" group-title="本地",太原1
    http://192.168.1.4:7000/udp/226.0.2.201:9520
    #EXTINF:-1 tvg-id="" tvg-name="太原二台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_2.png" group-title="本地",太原2
    http://192.168.1.4:7000/udp/226.0.2.202:9528
    #EXTINF:-1 tvg-id="" tvg-name="太原三台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_3.png" group-title="本地",太原3
    http://192.168.1.4:7000/udp/226.0.2.203:9536
    #EXTINF:-1 tvg-id="" tvg-name="太原四台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_4.png" group-title="本地",太原4
    http://192.168.1.4:7000/udp/226.0.2.204:9544
    #EXTINF:-1 tvg-id="" tvg-name="太原五台" tvg-logo="http://192.168.1.2:8123/local/tv_logo/tytv_5.png" group-title="本地",太原5
    http://192.168.1.4:7000/udp/226.0.2.205:9552
    #EXTINF:-1 tvg-id="" tvg-name="太原教育" tvg-logo="" group-title="本地",太原教育
    http://192.168.1.4:7000/udp/226.0.2.206:9560
    #EXTINF:-1 tvg-id="" tvg-name="阳曲" tvg-logo="" group-title="本地",阳曲
    http://192.168.1.4:7000/udp/226.0.2.196:9480
    #EXTINF:-1 tvg-id="" tvg-name="清徐" tvg-logo="" group-title="本地",清徐HD
    http://192.168.1.4:7000/udp/226.0.2.191:9440
    #EXTINF:-1 tvg-id="" tvg-name="大同教育" tvg-logo="" group-title="本地",大同教育HD
    http://192.168.1.4:7000/udp/226.0.2.232:9772
    #EXTINF:-1 tvg-id="" tvg-name="孝义电视台" tvg-logo="" group-title="本地",孝义电视台
    http://192.168.1.4:7000/udp/226.0.2.189:9424
    #EXTINF:-1 tvg-id="" tvg-name="阳泉-1新闻综合" tvg-logo="" group-title="本地",阳泉-1新闻综合
    http://192.168.1.4:7000/udp/226.0.2.233:9776
    #EXTINF:-1 tvg-id="" tvg-name="阳泉-2科教" tvg-logo="" group-title="本地",阳泉-2科教
    http://192.168.1.4:7000/udp/226.0.2.234:9784
    #EXTINF:-1 tvg-id="" tvg-name="朔州-1" tvg-logo="" group-title="本地",朔州-1
    http://192.168.1.4:7000/udp/226.0.2.185:9392
    #EXTINF:-1 tvg-id="" tvg-name="朔州-2" tvg-logo="" group-title="本地",朔州-2
    http://192.168.1.4:7000/udp/226.0.2.186:9400
    #EXTINF:-1 tvg-id="" tvg-name="太原佰乐购" tvg-logo="" group-title="本地",太原佰乐购
    http://192.168.1.4:7000/udp/226.0.2.215:9632
    #EXTINF:-1 tvg-id="" tvg-name="晋能控股" tvg-logo="" group-title="本地",晋能控股
    http://192.168.1.4:7000/udp/226.0.2.229:9744
    #EXTINF:-1 tvg-id="" tvg-name="盐湖频道" tvg-logo="" group-title="本地",运城盐湖频道
    http://192.168.1.4:7000/udp/226.0.2.106:9006
    #EXTINF:-1 tvg-id="27" tvg-name="湖南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hunan.png" group-title="卫视",湖南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.143:9056
    #EXTINF:-1 tvg-id="69" tvg-name="金鹰卡通" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/jinyingkatong.png" group-title="卫视",金鹰卡通HD
    http://192.168.1.4:7000/udp/226.0.2.172:9288
    #EXTINF:-1 tvg-id="2025" tvg-name="金鹰纪实" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jinyingjishi.png" group-title="卫视",金鹰纪实HD
    http://192.168.1.4:7000/udp/226.0.2.194:9464
    #EXTINF:-1 tvg-id="36" tvg-name="辽宁卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/liaoning.png" group-title="卫视",辽宁卫视HD
    http://192.168.1.4:7000/udp/226.0.2.173:9296
    #EXTINF:-1 tvg-id="40" tvg-name="重庆卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/chongqing.png" group-title="卫视",重庆卫视HD
    http://192.168.1.4:7000/udp/226.0.2.174:9304
    #EXTINF:-1 tvg-id="31" tvg-name="东方卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/dongfang.png" group-title="卫视",东方卫视HD
    http://192.168.1.4:7000/udp/226.0.2.175:9312
    #EXTINF:-1 tvg-id="" tvg-name="东方财经" tvg-logo="http://192.168.1.2:8123/local/tv_logo/dongfangcaijing.jpg" group-title="卫视",东方财经HD
    http://192.168.1.4:7000/udp/226.0.2.76:8520
    #EXTINF:-1 tvg-id="1988" tvg-name="上海纪实" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shanghaijishi.png" group-title="卫视",上海纪实HD
    http://192.168.1.4:7000/udp/226.0.2.193:9456
    #EXTINF:-1 tvg-id="29" tvg-name="江苏卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jiangsu.png" group-title="卫视",江苏卫视HD
    http://192.168.1.4:7000/udp/226.0.2.176:9320
    #EXTINF:-1 tvg-id="30" tvg-name="北京卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/beijing.png" group-title="卫视",北京卫视HD
    http://192.168.1.4:7000/udp/226.0.2.177:9328
    #EXTINF:-1 tvg-id="45" tvg-name="河北卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hebei.png" group-title="卫视",河北卫视HD
    http://192.168.1.4:7000/udp/226.0.2.178:9336
    #EXTINF:-1 tvg-id="47" tvg-name="河南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/henan.png" group-title="卫视",河南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.52:8328
    #EXTINF:-1 tvg-id="50" tvg-name="江西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jiangxi.png" group-title="卫视",江西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.54:8344
    #EXTINF:-1 tvg-id="56" tvg-name="四川卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/sichuan.png" group-title="卫视",四川卫视HD
    http://192.168.1.4:7000/udp/226.0.2.179:9344
    #EXTINF:-1 tvg-id="44" tvg-name="贵州卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guizhou.png" group-title="卫视",贵州卫视HD
    http://192.168.1.4:7000/udp/226.0.2.180:9352
    #EXTINF:-1 tvg-id="28" tvg-name="浙江卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/zhejiang.png" group-title="卫视",浙江卫视HD
    http://192.168.1.4:7000/udp/226.0.2.144:9064
    #EXTINF:-1 tvg-id="32" tvg-name="安徽卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/anhui.png" group-title="卫视",安徽卫视HD
    http://192.168.1.4:7000/udp/226.0.2.145:9072
    #EXTINF:-1 tvg-id="33" tvg-name="广东卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guangdong.png" group-title="卫视",广东卫视HD
    http://192.168.1.4:7000/udp/226.0.2.146:9080
    #EXTINF:-1 tvg-id="34" tvg-name="深圳卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shenzhen.png" group-title="卫视",深圳卫视HD
    http://192.168.1.4:7000/udp/226.0.2.147:9088
    #EXTINF:-1 tvg-id="39" tvg-name="天津卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/tianjin.png" group-title="卫视",天津卫视HD
    http://192.168.1.4:7000/udp/226.0.2.148:9096
    #EXTINF:-1 tvg-id="38" tvg-name="山东卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/shandong.png" group-title="卫视",山东卫视HD
    http://192.168.1.4:7000/udp/226.0.2.149:9104
    #EXTINF:-1 tvg-id="48" tvg-name="湖北卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/hubei.png" group-title="卫视",湖北卫视HD
    http://192.168.1.4:7000/udp/226.0.2.150:9112
    #EXTINF:-1 tvg-id="41" tvg-name="东南卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/dongnan.png" group-title="卫视",东南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.188:9416
    #EXTINF:-1 tvg-id="46" tvg-name="黑龙江卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/heilongjiang.png" group-title="卫视",黑龙江卫视HD
    http://192.168.1.4:7000/udp/226.0.2.151:9120
    #EXTINF:-1 tvg-id="43" tvg-name="广西卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/guangxi.png" group-title="卫视",广西卫视HD
    http://192.168.1.4:7000/udp/226.0.2.231:9760
    #EXTINF:-1 tvg-id="37" tvg-name="旅游卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/lvyou.png" group-title="卫视",海南卫视HD
    http://192.168.1.4:7000/udp/226.0.2.212:9608
    #EXTINF:-1 tvg-id="51" tvg-name="吉林卫视" tvg-logo="http://epg.51zmt.top:8000/tb1/ws/jilin.png" group-title="卫视",吉林卫视HD
    http://192.168.1.4:7000/udp/226.0.2.58:8376
    #EXTINF:-1 tvg-id="73" tvg-name="中国教育1台" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/中国教育1台.png" group-title="地方",CETV1-HD
    http://192.168.1.4:7000/udp/226.0.2.181:9360
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",金色学堂HD
    http://192.168.1.4:7000/udp/226.0.2.182:9368
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",动漫秀场HD
    http://192.168.1.4:7000/udp/226.0.2.183:9376
    #EXTINF:-1 tvg-id="6585" tvg-name="茶频道" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/DOCUMENTARY-CHANNEL.jpg" group-title="地方",茶频道HD
    http://192.168.1.4:7000/udp/226.0.2.213:9616
    #EXTINF:-1 tvg-id="6595" tvg-name="快乐垂钓" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/KUAILECHUIDIAO.jpg" group-title="地方",快乐垂钓HD
    http://192.168.1.4:7000/udp/226.0.2.214:9624
    #EXTINF:-1 tvg-id="6555" tvg-name="梨园" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE20.jpg" group-title="地方",梨园频道HD
    http://192.168.1.4:7000/udp/226.0.2.115:8832
    #EXTINF:-1 tvg-id="6591" tvg-name="文物宝库" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/WENWUBAOKU.jpg" group-title="地方",文物宝库HD
    http://192.168.1.4:7000/udp/226.0.2.110:8792
    #EXTINF:-1 tvg-id="6581" tvg-name="早期教育" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/CCTVPAYFEE33.jpg" group-title="地方",CETV早期教育HD
    http://192.168.1.4:7000/udp/226.0.2.99:8704
    #EXTINF:-1 tvg-id="6586" tvg-name="武术世界" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/WUSHUSHIJIE.jpg" group-title="地方",武术世界HD
    http://192.168.1.4:7000/udp/226.0.2.97:8688
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",乐游HD
    http://192.168.1.4:7000/udp/226.0.2.77:8528
    #EXTINF:-1 tvg-id="1983" tvg-name="游戏风云" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/youxifengyun.png" group-title="地方",游戏风云HD
    http://192.168.1.4:7000/udp/226.0.2.78:8536
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",都市剧场HD
    http://192.168.1.4:7000/udp/226.0.2.81:8560
    #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="本地",法治天地HD
    http://192.168.1.4:7000/udp/226.0.2.83:8576
    #EXTINF:-1 tvg-id="1981" tvg-name="生活时尚" tvg-logo="http://epg.51zmt.top:8000/tb1/qt/shenghuoshishang.png" group-title="地方",生活时尚HD
    http://192.168.1.4:7000/udp/226.0.2.84:8584
    ]]>
    + + 影音 + + + openwrt + iptv + 联通 + 组播 + 山西 + 太原 + +
    + + 庆余年第二季全36集1080pBT下载种子 + /posts/6425.html + 20240605104448
    +该剧改编自猫腻同名畅销小说,承接上季,范闲(张若昀 饰)率领使团回归途中,二皇子以费介、范思辙以及滕家遗孤的安危来威胁范闲,逼他向自己俯首称臣,二人的矛盾就此激发。范闲所面对的抱月楼迷局,以及接踵而至的春闱危机,都是二皇子精心给范闲布下的陷阱。

    +

    范闲与林婉儿如愿大婚,紧接着,范闲接手内库,却发现内库负债累累。 范闲拒绝了庆余堂大掌柜的相助,决定靠自己的力量解决内库危机,范闲相约城中众商贾相聚苍山,以售卖“库债”为机筹集了两千多万银两,解决了内库空虚问题。

    +

    悬空寺上,庆帝遭遇三连刺杀,范闲出手相救却导致武功全废。危机四伏,压力陡增,范闲别无选择,他必须以这样的身体下江南,挑战庞大的势力与既定的游戏规则,以求彻底夺回内库。

    +

    种子链接

    +

    https://1827552651-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzyeXCfWDMCUsuUrT3Z6v%2Fuploads%2FNPmNxNXaUFnXoGjSbn9q%2F庆余年.第二季.Joy.of.Life.S02.2024.Chinese.EP01-36.Complete.1080P.Disney.WEB-DL.H265.DDP2.0-Vampire.torrent?alt=media&token=ed8dcd91-4a8e-47bd-aad5-1502043e6dfe

    +]]>
    + + 影音 + + + 下载 + 庆余年 + 电视剧 + BT + 种子 + +
    + + 我的“港乐”歌单 + /posts/24372.html + 最近芒果台联合香港TVB推出的音乐节目《声生不息》,将“沉睡”很多年的港乐再次呈现在了观众的面前,尤其是在第一期结尾大合唱《海阔天空》的时候,突然出现黄家驹的原声,不知让多少人又热血沸腾、潸然泪目。
    +其实我也自诩算个伪港乐迷,日常听的曲库里面差不多有60%左右都是港乐,尤其是上世纪80-90年代的香港乐坛,是我心目中港乐最为辉煌的时期,期间涌现了一批可以被记载到历史的歌手及音乐人,谭咏麟、张国荣、四大天王、陈百强、李克勤,当然还有我的偶像Beyond黄家驹。
    +开始关注Beyond乐队是从2003年他们开20周年演唱会开始,之前我甚至不知道Beyond乐队这个名字,只知道在香港有个歌手叫黄家驹。
    +20220427133927
    +和大部分人一样,开始也是喜欢听他们的那几首传唱度较高的《光辉岁月》和《真的爱你》等等,再过后来渐渐了解了乐队的起源以及发展历程之后,再听诸如《灰色轨迹》《未曾后悔》等歌曲之后,我已经被他们的音乐完全吸引,虽然他们的作品基本上都是粤语,但丝毫没有影响到其作品在内地的传唱度,和同一时代的其他香港歌曲相比,他们的音乐坚持原创,有思想,有深度,表达大众的心声,所以才能真正唱到普通人的内心深处,激励一代又一代的年轻人,这才是港乐真正的魅力所在。
    +当然,八九十年代的香港乐坛,还是有很大一部分歌曲是直接将日本歌填词翻唱的,但就算这样也丝毫没有影响这些作品成为流传至今的经典。
    +而到了2000年之后,港乐逐渐进入衰退期,很久都没有能再次打动人心的作品出现了,能被人记得的名字,好像也只剩下陈奕迅了吧。

    +

    下面分享我的Apple Music曲库中始终占有一席地位的TOP20港乐,仅代表个人喜好,排名不分先后。

    +

    海阔天空-Beyond

    +

    灰色轨迹-Beyond

    +

    偏偏喜欢你-陈百强

    +

    漫步人生路-邓丽君

    +

    月半小夜曲-李克勤

    +

    敢爱敢做-林子祥

    +

    讲不出再见-谭咏麟

    +

    风继续吹-张国荣

    +

    当年情-张国荣

    +

    一生中最爱-谭咏麟

    +

    沉默是金-许冠杰/张国荣

    +

    浪子心声-许冠杰

    +

    遥远的她-张学友

    +

    只想一生跟你走-张学友

    +

    红日-李克勤

    +

    一生何求-陈百强

    +

    光辉岁月-Beyond

    +

    谁可改变-谭咏麟

    +

    千千阙歌-陈慧娴

    +

    富士山下-陈奕迅

    +]]>
    + + 影音 + + + 音乐 + 香港 + 港乐 + 分享 + +
    + + 拒绝QQ绿钻,让小爱音箱随意播放音乐 + /posts/30452.html + 引言 +

    现在的各种智能音箱,想要好好听音乐,都需要开通各种音乐VIP服务才行,而且有些歌曲因为版权原因,在特定的平台才会有,所以办一个平台的会员有时候还不够。要是不办会员,只能试听十几秒,或者是听一些不知名的翻唱版本。那有没有一种方法,让音箱调用本地NAS里面储存的音乐来播放呢?这样就不用办各种音乐会员了。

    +

    xiaomusic是用来让小米音箱播放音乐的docker项目 https://github.com/hanxi/xiaomusic 其原理应该是用特定唤醒语劫持小爱音箱网络请求,使用yt-dlp这个项目前往油管下载同名的视频音源到本地,咨询了作者之后得知如果网络不支持访问油管,会转到B站下载,然后进行播放(目前默认是从B站下载资源,除非在设置界面指定从油管下载)。

    +

    安装命令

    +

    运行以下命令安装docker容器:

    +
    docker run -p 8090:8090 \
    -v /mnt/usb/xiaomusic/music:/app/music \
    -v /mnt/usb/xiaomusic/conf:/app/conf \
    hanxi/xiaomusic
    +
    +

    将命令中的/mnt/usb/xiaomusic字段替换为你本地容器配置的文件夹。
    +另外本地曲库需放到music文件夹内才会被识别。

    +
    +

    容器创建完成之后访问宿主机ip:8090端口进入容器设置页面。
    +image.png

    + +

    进入设置页面,登录小米账号后会读取到账号内所有支持的小米音箱设备,可以选择不同的设备进行控制,也可以为不同设备创建同一个分组进行控制。设置页面可以设置指定的唤醒词来调用本地播放功能。另外一些本地曲库的相关设置也在该页面。
    +这里有个模糊匹配阈值和目录深度设置需要注意一下,如果你本地音乐命名不规范,可以适当把这个值调小一些。
    +image.png
    +设置完成之后可以在主页看到本地曲库的目录。识别到的歌曲不仅可以推送到小爱音箱播放,也可以在网页端用浏览器播放。
    +image.png

    +

    目前作者已经更新到了0.3.37。修复了之前的一些bug。另外本地曲库播放功能也比之前体验好了不少。
    +另外作者也有微信交流群,有问题可以去群里反馈,如果觉得这个项目不错,也可以给作者打赏。更多使用指引可参阅官方文档。

    +

    引用

    +

    hanxi/xiaomusic: 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 (github.com)

    +]]>
    + + 影音 + + + docker + 小米 + 小爱同学 + 小爱音箱 + Xiaomusic + +
    + + 推荐几款安卓和IOS平台用于观看IPTV的客户端软件 + /posts/2353.html + 前言 +

    20240904101409
    +上周趁着清明假期,鼓捣了一下局域网iptv组播,然后自己也在一些平台和终端测试了一些主流的IPTV播放软件,结合自己手头现有设备的情况,推荐下面几款播放软件,如果你有更好的软件,欢迎推荐分享。
    +软件本身并不提供IPTV直播服务,需要我们将自己创建或是下载到的m3u文件导入到软件内进行播放。另外有部分软件支持epg节目预告,可以根据m3u里面的频道匹配该频道的节目播放单,实现节目预告。这里感谢51zmt提供的epg服务(http://epg.51zmt.top:8000/) 。另外该站点还支持台标匹配,你可以上传自己的m3u文件,然后匹配对应的频道台标LOGO。

    +

    kodi(全平台)

    +

    只要你的设备能安装和运行kodi,推荐使用kodi来播放IPTV的m3u。
    +首先需要在插件里面下载 iptv simply client 这个插件,安装好之后在插件设置里面设置好m3u源文件地址,设置好epg节目预告地址(http://epg.51zmt.top:8000/e.xml), 然后在主页面进去电视菜单,就可以观看IPTV了。
    +官网 https://kodi.tv

    + +

    aptv(iOS、tVOS、Mac OS)

    +

    ios平台体验不错的IPTV客户端,免费版只能添加一个m3u配置,但是也够了。软件会根据m3u地址在线匹配epg节目预告,不需要手动设置。界面和切换也很流畅。除了ios,该软件还 支持tvOS和MacOS。
    +itunes链接 https://apps.apple.com/cn/app/aptv/id1630403500

    +

    tivimate(安卓电视盒子)

    +

    如果你觉得kodi操作起来比较繁琐,可以试试这款软件。

    +

    cloud stream iptv player (旧版iOS设备)

    +

    如果你的iOS设备版本太老,不支持安装APTV,可以试试cloud stream iptv player 这个APP(黄色图标)。界面是英文的,但不影响使用,用法类似,直接添加m3u地址源就可以了,比较遗憾的是不支持epg。
    +itunes链接 https://apps.apple.com/cn/app/cloud-stream-iptv-player/id1138002135

    +

    vlc和potplayer(windows)

    +

    windows下可以用vlc或是potplayer直接打开m3u文件播放,当然你也可以在windows上安装kodi。
    +vlc官网 https://www.videolan.org/
    +potplayer官网 https://potplayer.daum.net/

    +]]>
    + + 影音 + + + iOS + android + windows + IPTV + epg + +
    + + 渊澄视频开放公测 + /posts/30251.html + image.png

    +

    最近几天抽空建了一个视频网站,用的是苹果cmsV10搭建的。视频数据主要采集各资源平台的m3u8格式。
    +目前基本功能都已经测试完毕,正式开放公测。
    +公测期间注册会员可观看全部视频资源。游客会限制部分分类的观看。
    +公测时间截止到2024年12月31日。bug反馈或是片源需求可在站内留言板中留言。
    +站点地址: https://v.ycyc.win

    +]]>
    + + 影音 + + + 渊澄视频 + +
    + + H96pro+盒子刷原生谷歌Android TV系统 + /posts/34659.html + H96 PRO+是一款配置很高的山寨安卓播放盒,采用S912的处理器,最高配置3GB运存,32GB存储空间,自带Android原生系统,支持4K分辨率。淘宝上每台390块大洋,就参数配置来讲,还是很有性价比的,比目前配置最高的小米盒子还要高。

    +

    +

    只不过盒子自带的是Android系统,非Android TV系统,Android TV 系统是Google专为TV优化的操作系统,配备Android TV的硬件主要有小米盒子国际版以及英伟达的Shield TV等。

    +

    与普通的Android系统相比,Android TV系统为电视以及遥控器做了很多优化,更适合在电视上使用,我查阅了国内外大神的相关文章,结合自己的实际经验,写了这篇教程,如有不对的地方,敬请指正。

    +

    我们需要用到的东西:

    +

    H96 PRO+一台;

    +

    16GB的TF卡一张(含读卡器);

    +

    卡针一个;

    +

    Windows系统的电脑一台。

    +

    操作马上开始。

    +

    下载名为BurnCardMaker的软件并安装。

    +

    下载Android TV固件镜像(H96 PRO+的主板有蓝色和绿色两种,大家可以通过机器的缝隙看到,请下载自己对应颜色的固件)。

    +

    打开BurnCardMaker软件,将TF卡连接到电脑,在软件里选择好TF卡的盘符,浏览到下载好的固件,分区和格式化打钩,选择强制擦除,然后点击"制作"开始将固件写入到TF卡中。

    +

    TIM截图20180423140701.png

    +

    写入完毕之后我们将TF卡插入机器中,连接好HDMI线,然后用卡针按住reset孔不放的同时接通电源,然后松开卡针。

    +

    此时电视屏幕上应该会出现Android机器人的画面,等待刷机完成,重启机器即可完成整个刷机过程。

    +

    软件及固件下载地址在页面下方。

    +

    最后吐槽一下盒子的做工,简直是粗糙到无力吐槽,无论是盒子本身还是遥控器,如果对于硬件配置没有太高要求,对外观做工比较看重的朋友,还是建议入手小米盒子之类的国内品牌电视盒子。

    +

    下载地址链接: https://pan.baidu.com/s/1_v45uHmL9b8g3Fcm-BuWeA 提取码: 52my

    +

    目前我的H96PRO+电源口已经坏掉了,现在沦为尸体,各位珍重吧。

    +]]>
    + + 影音 + + + 刷机 + Android安卓 + android + 机顶盒 + +
    + + 再次入坑黑群晖 + /posts/42924.html + 前些天在某鱼入手了一台二手的群晖ds214se,用了一段时间之后,感觉机器的硬件配置实在是太差了,开机打开一个应用,CPU占用率就直接飙到了100%,而且还不支持docker,所以果断出掉了。

    +

    最近在SMZDM上看了几篇DIY NAS的文章,加上家人的手机存储空间都不够了,于是又萌生了DIY黑群晖的想法,之前自己也做过一台黑群晖,用的是DELL的ZINO准系统,基于intel的ATOM平台,配了2GB的内存,硬件性能倒是够用,无奈LAN口是百兆的,局域网内传输稍大一点的文件就不给力了,最后也在某鱼上出手了。

    +

    直接买台群晖倒是省心,怎奈坑爹群晖,便宜的型号性能太弱,性能好的机器又太贵,我等温饱尚未解决的同志还是消费不起,那只好自己动手来组装了,好在现在网上关于黑群晖安装的资源还是很多的,有点基础的朋友还是很容易上手的。

    +

    然后来说说我用到NAS的几个功能。

    +

    1.高清视频、音乐、文件的存储及共享;

    +

    2.自动备份手机里的照片;

    +

    3.挂机下载高清视频;

    +

    4.连接高清播放器播放电影和音乐;

    +

    5.定时备份电脑里面的重要文件;

    +

    6.再外可以随时读取到NAS里面的文件;

    +

    7.鼓捣docker。

    +

    这次在淘宝上买了一款集成了AMD A8CPU的磐正A5545NX7主板,ITX规格,主板自带4个SATA3接口,也就是说如果机箱允许的话,可以接4块硬盘,内存支持DDR3,正好家里有一条闲置的DDR3 1333 4GB内存条拿来用,然后家里有两块1T的硬盘,先拿来练手,机箱选择了酷冷至尊的小魔方,支持ITX主板,带3个硬盘位,支持标准电源,电源也选择了酷冷至尊299元的全模组电源,东西还没到货,估计这周末应该能到,等到货之后再来写一篇详细的安装和使用教程吧。

    +

    TB2Utq.cH4npuFjSZFmXXXl4FXa_2429537308.jpg

    +]]>
    + + 影音 + + + NAS + Synology群晖 + synology群晖 + 黑群晖 + DIY + +
    + + 经典播放器KMPlayer-YouTube视频播放下载利器 + /posts/48882.html + KMPlayer是来自韩国的一款视频播放器,可以播放包括MKV、AVI、MP4在内的多种格式的视频文件。

    +

    TIM截图20181215211734.png

    +

    之前没有发现,这个播放器还可以播放YouTube视频,只需要复制YouTube的视频地址,用KMPlayer打开即可播放。

    +

    今天要提到的是,KMPlayer居然还可以下载Youtube上的视频哦。播放器左下角有个"下载"的图标,打开它,把视频地址复制进去,选择你要下载的视频格式及分辨率,然后选择保存位置,就可以开始下载了。

    +

    TIM截图20181215210306.png

    +

    当然,以上播放和下载YouTube视频的前提是你的网络环境支持科学上网。

    +

    KMPlayer播放器官网http://www.kmplayer.com/

    +]]>
    + + 影音 + + + 视频 + youtube + 下载 + KMPlayer + KODI科迪 + 播放器 + +
    + + cloudflare pages同步github Hexo + /posts/38710.html + Cloudflare有一个pages的功能,类似于Github Page,可以用来托管静态网站。那有没有可能将hexo站点托管到CF pages呢?
    +下面来操作吧。

    +

    创建build.sh脚本

    +

    首先确保你在Github上有Hexo的仓库,我们在仓库的根目录新建一个名为build.sh的文件,内容如下:

    +
    #!/bin/bash

    # 配置环境
    npm install -g hexo-cli
    mkdir hexo
    cd hexo
    hexo init
    npm install
    rm -rf source/_posts
    mkdir -p source/_posts

    # 安装主题(你们可以改成自己喜欢的主题)
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

    # 使用新的渲染器
    npm un hexo-renderer-marked --save
    npm i hexo-renderer-markdown-it --save
    # 处理图片
    npm i hexo-image-link --save

    # 复制文章到指定目录
    cd ../
    cp -r `ls | grep -v hexo | grep -v config.yml | xargs` hexo/source/_posts
    # 复制配置文件
    cp config.yml hexo

    # 开始构建
    cd hexo && hexo g --config config.yml
    +

    登录CF创建应用

    +

    登录到Cloudflare,切换到pages选项卡,新建一个项目,选择“连接到git”,使用Github账户登录
    +20220725160214
    +然后选择你的hexo仓库,点击下一步
    +20220725160035
    +按图片所示填入信息,然后点击保存并部署。
    +20220725160435
    +部署完成之后我们就可以使用系统分配的pages.dev域名来访问部署在Cloudflare的站点了。

    +

    测试同步

    +

    现在看下在github上发布一篇文章,看看会不会自动同步更新。
    +20220725160708

    +]]>
    + + 网络 + + + github + Cloudflare + hexo + +
    + + 使用cloudflare+jsdmirror加速github图床访问 + /posts/54996.html + image.png

    +

    前言

    +

    之前写过一篇文章,如何设置github图床(https://miaoyang.win/posts/23057) ,由于github在国内的访问时长抽风,导致浏览体验不太理想,所以当初使用了Jsdelivr的加速服务,也就是在Picgo自定义域名那里填写https://cdn.jsdelivr.net/gh/GitHub用户名/仓库名 使用Jsdelivr的cdn来加速图床的访问。
    +但是最近Jsdelivr在国内的访问也是时断时续,经常出现打不开的情况。于是想着看看还有什么可用的国内加速服务。一路搜索找到了jsdmirror这个服务,详细介绍可查看项目Github页面(https://github.com/54ayao/JSDMirror) ,太深奥的专业术语咱也看不懂,只知道这个服务可以代替Jsdelivr,加速国内的访问。
    +然后拜读了Leehow的这篇文章通过 Cloudflare 和 JsDelivr 免费加速博客 GitHub 图床等静态资源 ,于是决定放手一试,用cloudflare来加速图床的访问。

    +

    实现的效果

    +

    最终实现的效果:使用自己的二级域名https://cdn.miaoyang.win 来替换jsdelivr的https://cdn.jsdelivr.net 来加速github图床,并且根据访问者的ip匹配规则,国内ip调用jsdmirror的服务,国外ip调用jsdelivr。

    + +

    操作前提

    +

    1.github图床已经设置完成并且可以正常访问,具体设置教程请参与(https://miaoyang.win/posts/23057);
    +2.域名已经停靠到了cloudflare。
    +3.有一个绑定了银行卡的paypal账户,无需付款。

    +

    操作步骤

    +

    二级域名cdn.miaoyang.win使用cname解析到cdn.jsdmirror.com,并且勾选代理云朵图标。

    +

    20240910140410

    +

    设置重定向规则

    +

    根据访问者ip来设置重定向规则。
    +20240910140544

    +

    国内ip规则设置如下图所示:
    +20240910140922
    +表达式为:

    +
    concat("https://cdn.jsdmirror.com", http.request.uri.path)
    +

    国外ip规则设置如下图所示:
    +20240910140834
    +表达式为:

    +
    concat("https://cdn.jsdelivr.net", http.request.uri.path)
    +

    订阅saas申请SSL证书

    +

    进入如下图所示的“自定义主机名”页面,申请saas服务,申请过程需要外币卡或是绑定了银行卡的paypal账号,但并不会实际发生扣款。
    +20240910141119
    +开通saas服务之后添加二级域名并进行认证,之后等待域名状态和证书状态为“有效”即可。

    +

    测试效果

    +

    在picgo插件中将原有的delivr网址替换为自己设置的cdn.miaoyang.win即可测试服务是否正常。
    +将图片链接复制到浏览器中,切换国内外ip观察其是否会跳转到指定的加速站点。

    +

    后记

    +

    在部署过程中遇到了图片无法正常显示以及https无法访问异常的情况,试着在jsdmirror的github主页试着提交了issus,得到了作者54ayao的指点,才得以最终部署完成,特此感谢。

    +

    引用

    +

    通过 Cloudflare 和 JsDelivr 免费加速博客 GitHub 图床等静态资源

    +]]>
    + + 网络 + + + 图床 + github + Cloudflare + jsdmirror + jsdelivr + 加速 + +
    + + 丢掉端口,使用cloudflare tunnel 实现免端口访问内网服务 + /posts/5954.html + 楔子 +

    何为内网穿透,简单来说就是在公网可以直接访问到你在内网搭建的各种服务。
    +起初是我前两天在serv00搭建了alist,并且把原本在openwrt上面搭建的数据都迁移了过去。今天发现上面挂载的国内网盘(百度、阿里云及115)都加载不出来,全部显示timeout超时,cloudflare的R2存储可以正常打开。而我之前挂载在openwrt上面的却能正常访问,想想可能是serv00对访问国内网盘的api有做限制或是国内网盘限制从serv00服务器登录?所以我还是想着把挂在openwrt上的Alist开放出来做存储站点附件的网盘用,因为在serv00上的alist地址不带端口,所以就想到了做内网穿透。

    +

    传统DDNS设置

    +

    对于普通家用宽带用户来说,一般需要做DDNS域名+端口的形式来访问内网服务,当然这个前提是你家宽带获取到了公网IP。这个方法也是我目前常用的方法,一般的操作步骤如下:
    +1.在主路由添加并设置DDNS服务,常用的DDNS服务商是花生壳。首先你需要先去花生壳注册一个账户,还要注册一个壳域名。然后在路由器相关界面输入账号和域名信息。目前国内主流的路由器基本上都内置了oray花生壳的ddns服务。
    +image.png

    +

    2.在主路由添加NAT端口映射服务,设置外部访问端口,这里内部端口和外部端口可以不一致。内部端口是你内网环境下该服务使用的端口,而外部端口是你希望在外网环境下访问该服务使用的端口。目前国内运营商基本上都封禁了类似于80、443、21、22等常用的端口,所以我们如果需要外网访问这些端口服务的话,就需要将这些端口映射成其他不同的端口。
    +image.png

    +

    这样设置完之后就可以通过ddns域名+外部访问端口来访问对应的服务了。

    + +

    如果你家宽带没有公网IP,那这个办法就行不通了,而且这种方法访问的时候需要加端口号,形式上不太美观,更重要的是会直接暴露你家的公网IP地址。
    +这个时候就需要用到内网穿透技术了,常用的内网穿透技术还有frps,但这个需要搭建一个单独的服务器,门槛比较高。今天介绍的是使用cloudflare的tunnel服务来实现内网穿透,只需要一个可以运行docker的环境即可。因为我家里还有一个刷了openwrt的旁路由,可以运行docker容器,所以我就在这台openwrt上跑cloudflare tunnel服务了。

    +

    cloudflare tunnel设置

    +

    登录到cloudflare网站,进入站点,左侧菜单找到Access。进入Zero Trust。

    +

    image.png
    +进入Network,找到Tunnel,新增一条tunnel记录。

    +

    tunnel01.png

    +

    给tunnel起一个名字。

    +

    tunnel02.png

    +

    环境选择Docker,并复制下面的运行命令。

    +

    tunnel03.png

    +

    接着输入你想要设置的二级域名,并且输入内网主机地址及端口,Type选择HTTP。完成之后会自带https。

    +

    tunnel04.png

    +

    接着使用复制出来的命令在旁路由上新建容器,确保容器正常运行即可。

    +

    等待几分钟在Tunnels中看到状态为healthy,就可以用我们设置好的二级域名直接访问内网服务了。
    +image.png

    +

    如果你后续还需要穿透更多的服务,直接编辑现有的tunnel就可以增加了,无需再次部署docker。
    +image.png

    +

    image.png

    +

    如果我们回到这个域名的解析列表中查看,可以看到刚刚设置的二级域名被CNAME解析到了cfargotunnel.com结尾的站点,并且开启了黄色小云朵。无论你在这个tunnels下创建了多少个hostname,这个地址都是相同的。
    +image.png

    +

    访问速度

    +

    基于国内的网络状况,相较于传统的ddns,cloudflare tunnels在国内的访问速度比较一般,主要表现在第一次打开时比较慢。

    +]]>
    + + 网络 + + + Cloudflare + tunnel + 内网穿透 + +
    + + 使用cloudflare的worker加速docker镜像下载 + /posts/11994.html + 20240904100521
    +进入六月份以后国内众多的docker加速镜像突然停止了服务,外加docker官方源在国内被屏蔽,导致拉取docker镜像成了难题,就算是挂上梯子,速度也不理想。有网友发布了通过cloudflare的worker服务来加速docker镜像拉取的教程,我也实际操作了一遍,操作不复杂,而且加速效果明显,感兴趣的同学可以根据我下面的步骤操作。

    +

    将域名停靠到cloudflare

    +

    先去注册cloudflare账号,然后添加你的域名,将域名的NS地址改到cloudflare,等待生效。

    + +

    新建worker项目

    +

    进入左侧的worker和pages菜单
    +20240708094217
    +新建一个worker项目,然后自己随意起个项目名字,最后点击右下角的部署按钮。
    +20240708094525

    +

    复制代码

    +

    创建成功之后点击如图所示的编辑代码按钮。
    +20240708094650
    +将下面的代码全部复制过去,然后点击右上角的部署按钮。
    +20240708094926

    +
    'use strict'
    const hub_host = 'registry-1.docker.io'
    const auth_url = 'https://auth.docker.io'
    const workers_url = 'https://docker.miaoyang.win'
    const PREFLIGHT_INIT = {
    status: 204,
    headers: new Headers({
    'access-control-allow-origin': '*',
    'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS',
    'access-control-max-age': '1728000',
    }),
    }
    function makeRes(body, status = 200, headers = {}) {
    headers['access-control-allow-origin'] = '*'
    return new Response(body, {status, headers})
    }
    function newUrl(urlStr) {
    try {
    return new URL(urlStr)
    } catch (err) {
    return null
    }
    }
    addEventListener('fetch', e => {
    const ret = fetchHandler(e)
    .catch(err => makeRes('cfworker error:n' + err.stack, 502))
    e.respondWith(ret)
    })
    async function fetchHandler(e) {
    const getReqHeader = (key) => e.request.headers.get(key);
    let url = new URL(e.request.url);
    if (url.pathname === '/token') {
    let token_parameter = {
    headers: {
    'Host': 'auth.docker.io',
    'User-Agent': getReqHeader("User-Agent"),
    'Accept': getReqHeader("Accept"),
    'Accept-Language': getReqHeader("Accept-Language"),
    'Accept-Encoding': getReqHeader("Accept-Encoding"),
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0'
    }
    };
    let token_url = auth_url + url.pathname + url.search
    return fetch(new Request(token_url, e.request), token_parameter)
    }
    url.hostname = hub_host;
    let parameter = {
    headers: {
    'Host': hub_host,
    'User-Agent': getReqHeader("User-Agent"),
    'Accept': getReqHeader("Accept"),
    'Accept-Language': getReqHeader("Accept-Language"),
    'Accept-Encoding': getReqHeader("Accept-Encoding"),
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0'
    },
    cacheTtl: 3600
    };
    if (e.request.headers.has("Authorization")) {
    parameter.headers.Authorization = getReqHeader("Authorization");
    }
    let original_response = await fetch(new Request(url, e.request), parameter)
    let original_response_clone = original_response.clone();
    let original_text = original_response_clone.body;
    let response_headers = original_response.headers;
    let new_response_headers = new Headers(response_headers);
    let status = original_response.status;
    if (new_response_headers.get("Www-Authenticate")) {
    let auth = new_response_headers.get("Www-Authenticate");
    let re = new RegExp(auth_url, 'g');
    new_response_headers.set("Www-Authenticate", response_headers.get("Www-Authenticate").replace(re, workers_url));
    }
    if (new_response_headers.get("Location")) {
    return httpHandler(e.request, new_response_headers.get("Location"))
    }
    let response = new Response(original_text, {
    status,
    headers: new_response_headers
    })
    return response;
    }
    function httpHandler(req, pathname) {
    const reqHdrRaw = req.headers
    // preflight
    if (req.method === 'OPTIONS' &&
    reqHdrRaw.has('access-control-request-headers')
    ) {
    return new Response(null, PREFLIGHT_INIT)
    }
    let rawLen = ''
    const reqHdrNew = new Headers(reqHdrRaw)
    const refer = reqHdrNew.get('referer')
    let urlStr = pathname
    const urlObj = newUrl(urlStr)
    /** @type {RequestInit} */
    const reqInit = {
    method: req.method,
    headers: reqHdrNew,
    redirect: 'follow',
    body: req.body
    }
    return proxy(urlObj, reqInit, rawLen, 0)
    }
    async function proxy(urlObj, reqInit, rawLen) {
    const res = await fetch(urlObj.href, reqInit)
    const resHdrOld = res.headers
    const resHdrNew = new Headers(resHdrOld)
    // verify
    if (rawLen) {
    const newLen = resHdrOld.get('content-length') || ''
    const badLen = (rawLen !== newLen)
    if (badLen) {
    return makeRes(res.body, 400, {
    '--error': `bad len: ${newLen}, except: ${rawLen}`,
    'access-control-expose-headers': '--error',
    })
    }
    }
    const status = res.status
    resHdrNew.set('access-control-expose-headers', '*')
    resHdrNew.set('access-control-allow-origin', '*')
    resHdrNew.set('Cache-Control', 'max-age=1500')
    resHdrNew.delete('content-security-policy')
    resHdrNew.delete('content-security-policy-report-only')
    resHdrNew.delete('clear-site-data')
    return new Response(res.body, {
    status,
    headers: resHdrNew
    })
    }
    +

    添加自定义域名

    +

    之后进入到worker项目页面点击设置-触发器,添加一个自定义域,这个自定义域可以是你解析到cloudflare的域名的一个二级域名,例如docker.example.com 。然后将该域名添加一条路由。
    +20240708104819

    +

    测试加速效果

    +

    如果你需要拉取的镜像homeassistant/aarch64-homeassistant:latest
    +现在需要在docker镜像前面加上你的自定义域,命令如下

    +
    docker pull docker.example.com/homeassistant/aarch64-homeassistant:latest
    +]]>
    + + 网络 + + + docker + Cloudflare + worker + +
    + + 使用cloudflare重定向规则无缝切换域名 + /posts/16703.html + 引言 +

    昨天注册了一个ycyc.win的域名,想着把之前的miaoyang.win换掉。虽然主域名已经解析到了站点,也可以正常访问了,但旧域名还在正常工作,并且搜索引擎收录的也是旧域名。那如何能使旧域名跳转到新域名,而且要保证搜索引擎收录的页面也能正常跳转呢?需要用到之前给图床加速的cloudflare的重定向规则功能。

    +

    操作

    +

    我们进入到旧域名的cloudflare页面,找到规则-重定向规则,然后新建一条。
    +image.png
    +按照图中所示填入新旧域名,然后保存生效。这次状态代码那里要选择301。

    +

    测试

    +

    进入搜索引擎找一个被收录的旧域名页面打开,看其是否跳转到了新域名,而且页面是否正确。
    +https://miaoyang.win/posts/2353

    +

    后记

    +

    之前想要实现以上功能,大部分情况下都需要另外搭建一台nginx服务器,然后设置301跳转。现在只要在cloudflare简单设置一下,就可以省去搭建单独服务器的成本,并且可以利用其内置的多种类型条件,实现不同的功能。

    +]]>
    + + 网络 + + + 域名 + Cloudflare + 重定向 + +
    + + 出国不求人,Cloudflare pages+BPB项目搭建免费个人节点 + /posts/39778.html + 前提 +

    注册Github/Cloudflare账户并处于正常状态。

    +

    Github操作

    +

    Fork BPB项目到你的Github仓库。
    +BPB项目地址:bia-pain-bache/BPB-Worker-Panel: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)
    +image.png
    +Fork之后就会得到以你的用户为为开头的BPB项目地址。我Fork后的项目地址为miaoyanginfo/BPB: A GUI Panel providing Worker subscriptions and Fragment settings and Warp configs, providing configs for cross-platform clients using (singbox-core and xray-core) (github.com)

    +

    Github这边的操作就基本上完成了。接着我们需要去到Cloudflare操作。

    + +

    Cloudflare操作

    +

    创建KV空间

    +

    登录Cloudflare后按照下图指示创建KV空间并命名。我这边命名为MYBPB。

    +

    image.png

    +

    创建Pages并绑定KV

    +

    按照下图指示创建Cloudflare Pages,
    +image.png

    +

    链接到你的Github账户。image.png
    +选择你之前Fork的BPB项目的源,然后点击右下角的“开始设置”,其他选项无需更改,保存部署即可。
    +image.png

    +

    部署完成之后回到Pages页面找到刚才创建的项目,按下图指示找到KV命名空间绑定,将之前创建的KV空间与Pages绑定。
    +

    +

    设置环境变量

    +

    按下图指示编辑环境变量。添加PROXYIP 以及UUID字段。
    +image.png

    +

    UUID可使用在线生成器随机生成,例如这个网站UUID在线生成 - 1024Tools。PROXY可以前往这个站点DNS records for cdn.↗↘↗.eu.org (nslookup.io)选择一个与你本地网络延迟较小的IP地址。
    +全部填入之后进入部署选项卡,重新部署项目即可。
    +image.png

    +

    登录面板进行设置

    +

    重新部署完成之后我们可以使用cloudfalre pages随机生成的网址加/panel访问项目设置面板。
    +设置访问密码之后即可登录。
    +image.png
    +其他选项无需大动。点击拷贝订阅链接之后粘贴到v2rayN即可。
    +image.png

    +

    v2rayN订阅

    +

    将复制的订阅地址粘贴到v2rayN,然后更新订阅之后,会出现许多节点。
    +image.png

    +

    v2rayN下载2dust/v2rayN: A GUI client for Windows, support Xray core and v2fly core and others (github.com)

    +

    对节点进行速度测试,选择一个连接正常的节点应用。
    +image.png
    +不出意外的话就可以打开谷歌油管了。

    +

    image.png

    +

    引用

    +

    免费VPN 永久免费节点订阅 BPB Panel+CloudFlare 实现WARP IP优选 - 优质盒子 (uzbox.com)

    +]]>
    + + 网络 + + + GitHub + Cloudflare + bpb + +
    + + 曲线救国,使用Alist挂载CloudflareR2存储桶 + /posts/36618.html + 前言 +

    之前一直在用RaiDrive这款软件在windows端挂载WEBDAV网盘,RaiDrive除了支持WEBDAV协议之外,还支持其他主流的网盘服务,比如OneDrive,Google Drive等等,这些都是支持读写操作的。然后RaiDrive也支持比如亚马逊AWS S3和CloudflareR2等等对象存储的接入,但是RaiDrive的免费计划仅支持这些存储的读取,不支持写入,想要写入的话还需要至少每月4.84美元以上的付费计划。
    +RaiDrive付费权益计划

    +

    除了使用付费RaiDrive套餐之后,还可以选择我们之前提到的Alist来挂载CloudflareR2(当然也包括AWS S3,R2是兼容S3协议的)。

    + +

    操作

    +

    添加之前我们需要先创建一个R2令牌。
    +获取R2令牌
    +创建令牌的时候需要按需选择密钥权限。在使用过程中发现权限不足的话,也可以再次进入该页面进行编辑,赋予更高的权限。
    +R2令牌权限类型

    +

    获取到访问密钥ID,机密访问密钥以及终结点地址三个信息。
    +R2密钥获取

    +

    然后在Alist后台添加存储,类型选择“对象存储”,根据下图所示将获取到的R2相关密钥填入相应参数即可完成添加。

    +

    Alist添加R2对象存储
    +添加完成之后就可以在Alist首页看到我们添加的R2存储文件夹了,并且支持读写操作。这样再通过WebDav协议利用RaiDrive挂载到windows本地就可以读写操作了。
    +如果你需要添加更多类似的对象存储,可访问文章结尾的Alist官网文档。

    +

    引用

    +

    对象存储 | AList文档

    +]]>
    + + 网络 + + + alist + webdav + Cloudflare + R2 + S3 + RaiDrive + +
    + + 更新Cloudflare SSL TLS策略规则,部署免费CA + /posts/21296.html + 之前在部署站点的时候因为浏览器提示不安全,所以将停靠在Cloudflare的域名选择的SSL/TLS策略是【灵活】模式,Cloudflare给出的说明是“仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立”,意思就是访问者到Cloudflare之间使用的是HTTPS,而Cloudflare到源服务器之间使用的是HTTP协议。这样设置之后虽然浏览器没有安全警告了,但是由于源服务器没有部署SSL证书,使用的是HTTP协议,从Clouflare到源服务器之间还是容易被黑客监听造成信息泄露隐患。
    +所以今天我将Cloudflare的证书策略调整为了【完全(严格)】模式,此模式的意思是“启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书”。而如果你要选择更为高级的【严格】模式,则需要升级账户为企业账户才能设置。

    +

    image.png

    + +

    但是由于我的源服务器还没有部署证书,所以现在访问会提示证书错误,如下图所示。
    +image.png接下来就需要在你的源服务器部署证书了,当然你也可以使用Cloudflare免费的CA证书,有效期为15年。
    +按下图进入源服务器界面,按照提示生成证书和密钥,然后上传到源服务器就可以了。

    +

    image.png
    +证书部署完成后就可以正常使用https访问站点了,而且目前全链路都是https。

    +]]>
    + + 网络 + + + Cloudflare + HTTPS + +
    + + 群晖安装cloudflare的ddns服务 + /posts/44166.html + w
    +项目Github 主页 https://github.com/joshuaavalon/SynologyCloudflareDDNS
    +前提是你的域名已经停靠到了cloudflare并可以正常在cloudflare做解析。

    +

    开启并登录SSH服务

    +

    进入路径:群晖后台-控制面板-终端机和SNMP。启动SSH功能。
    +20240219101051
    +用putty等ssh终端登录群晖,然后输入sudo -i切换到管理员账户。

    + +

    下载运行脚本

    +
    wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
    chmod +x /sbin/cloudflareddns.sh
    +
    cat >> /etc.defaults/ddns_provider.conf << 'EOF'
    [Cloudflare]
    modulepath=/sbin/cloudflareddns.sh
    queryurl=https://www.cloudflare.com
    website=https://www.cloudflare.com
    E*.
    +

    生成cloudflare的api token

    +

    20240219100721
    +登录cloudflare域名主页,在上图所示区域复制zoneID,并生成API token。

    +

    群晖添加服务

    +

    进入路径:群晖后台-控制面板-外部访问-DDNS

    +

    20240219100241
    +如上图所示,主机名称处填DDNS域名,用户名填cloudflare的zoneID,密码填api token。

    +]]>
    + + 网络 + + + 群晖 + Cloudflare + DDNS + +
    + + GoogleCloud安装宝塔面板 + /posts/26602.html + 宝塔面板可以运行在各类Linux系统中,方便我们搭建和管理网站。现在演示一下如何在GoogleCloud中安装宝塔面板。

    +

    首先我们进入Compute Engine中创建一个VM实例,为了尽可能的提升访问速度,我们将区域选择为香港。,启动磁盘选择Centos7。

    +

    TIM截图20181102140908.jpg

    +

    创建时在防火墙中勾选允许HTTP及HTTPS流量。

    +

    TIM截图20181102140930.jpg

    +

    接着我们进入VPC网络,在外部IP地址中我们将"临时"改为"静态"。

    +

    TIM截图20181102141251.jpg

    +

    在防火墙规则中,我们将出入站的所有端口及协议开放,并应用到所有实例。

    +

    TIM截图20181102141349.jpg

    +

    之后我们用SSH登陆到我们创建的VM实例,

    +

    TIM截图20181102141447.jpg

    +

    并运行以下命令进行安装:

    +
    sudo su
    +
    +yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
    +
    +

    根据提示选择安装功能,等安装结束会提示面板登陆地址、用户名及密码。

    +

    我们根据给出的安装信息就可以登陆到面板来创建和管理网站了。

    +]]>
    + + 网络 + + + 网站 + LINUX + linux + centos + 宝塔面板 + +
    + + 使用namecheap免费的域名解析服务 + /posts/49189.html + 最近我的一个域名被DNS污染了,之前一直在DnsPod做解析,发现被污染之后转到了万网自带的解析服务,问题依然没有解决。于是我开始寻找国外免费的域名解析服务商。

    +

    其实国外大型的域名注册商都提供免费的域名解析服务,允许在第三方注册的域名使用他们的解析服务,比如Godaddy和NameCheap。

    +

    因为我直接在Godaddy注册的域名被盗过,而且还没有找回,所以对Godaddy没有了好感。这次我选择使用NameCheap的免费域名解析服务。

    +

    TIM截图20190103101540.jpg

    +

    首先去NameCheap官网注册一个账户,然后选择FreeDNS服务,添加你的域名,添加之后系统会给你列出NameCheap的5个NS服务器地址,你需要前往你的域名注册商那里将域名的NS服务器地址设置为上面列出的地址。

    +

    TIM截图20190103101752.jpg

    +

    等待大约5-10分钟更改就会生效,生效之后就可以在NameCheap来进行域名解析了。

    +

    我的域名在换到Namecheap做解析之后,之前出现的DNS污染问题也得到了解决。

    +]]>
    + + 网络 + + + Network网络 + +
    + + 使用花生壳DDNS来远程管理Padavan路由器 + /posts/10805.html + Padavan固件内置了很多DDNS服务商,但唯独没有我们日常使用较多的Oray花生壳,下面我将教大家如何再Padavan系统中使用花生壳DDNS实现远程登陆我们的路由器管理页面。

    +

    登陆路由器,前往【高级设置】-【外部网络】-【动态域名解析】

    +

    在"服务器"一栏中选择"custom",“DDNS服务器"中输入"ddns.oray.com”,然后填入你在花生壳注册的域名,以及你的花生壳账户及密码,最后保存页面设置。

    +

    TIM截图20181229084749.jpg

    +

    然后我们切换到"端口转发"选项卡,把路由器的80端口转发到任意一个其他端口,下面图片里我将路由器的80端口转发到了1234端口,大家可以将1234换为自己喜欢的端口。

    +

    TIM截图20181229085041.jpg

    +

    保存设置之后,我们在远程访问http://花生壳域名:1234 就可以访问到我们的路由器管理界面了。

    +]]>
    + + 网络 + + + 路由器 + padavan + Network网络 + 远程访问 + +
    + + 如何在一台路由器下接入多个路由器 + /posts/51237.html + 今年五一假期的最后一天,黑群晖的WOL还没有搞定,给主板厂家打电话咨询主板开启WOL功能的地方,估计是五一放假,电话打不通,先放一边吧,等之后有了时间再研究。

    +

    之前把HA系统迁移到了群晖的docker中,运行还算稳定,不过HA系统需要24小时开机运行,黑群晖的功率足足有40多瓦,一整天工作下来先不说长时间通电对主板、硬盘等硬件的影响,光是电费也是一笔不小的开支,所以本着够用就好,节能为主的思想,又把树莓派用起来了。

    +

    买的H96 PRO+盒子还算不错,刷了原生的ANDROID TV之后感觉焕发了第二春,主要安装了KODI、PLEX、群晖的DS VIDEO以及几个国内常用的视频APP,运行都不错,还试了几个直播APP,感觉速度一般,估计是源的问题,切换到普通分辨率也会出现卡顿,所以基本放弃了在盒子上看电视直播的想法。

    +

    最后说介绍我家的网络结构,以及如何在一台路由器下接入多个子路由器,并保证所有设备在一个局域网内。

    +

    我家用的是联通的宽带,有两根光纤进户,一根是宽带和IPTV,另一根是固话,所以就有两台光猫。路由器有三台,一台联想的Y1s作为主路由器,配有千兆和百兆LAN口各两个。一台极路由极壹s和一台NEWIFI mini作为分路由,用来扩展WIFI信号及网口数量。三台路由器都刷了hiboy大神的padavan固件。Y1s负责宽带拨号、DHCP分配、SS等功能,其他两台路由器关闭了DHCP功能,并且把LAN口的IP设置成了和主路由在一个网段的地址,主路由的LAN直连分路由的LAN口,这样设置有几个好处,一是所有的设备都在一个局域网中,方便共享和互相访问,再一个就是配置分路由的时候无需切换IP地址,直接输入设置好的LAN口IP地址就可以进入分路由的管理界面。主路由的两个千兆LAN分别接了NAS以及H96盒子,应因为这两个设备的网口也是千兆的,用千兆网线连接之后可以达到千兆的速度,另外两个LAN口直连了两台分路由器。这样主路由的所有网口就都用完了,其他需要网线连接的设备,比如树莓派可以连到分路由剩下的LAN口上,这样就可以实现无缝的互相访问了。

    +

    以上设置适合有同样需求的朋友,如果你家从主路由到分路由没有走网线,也可以试一下无线桥接的方式,在分路由上进行设置,如下图

    +

    TIM截图20180501120414.png

    +

    然后搜索到主路由的SSID,输入密码就可以了,设置之前记得关闭DHCP以及设置好LAN的IP地址。

    +

    TIM截图20180501120631.png

    +

    TIM截图20180501120705.png

    +

    本来想画一张拓扑图来着,但没有找到合适的软件,就暂且搁置了。

    +

    最后感谢hiboy大神,编译了padavan估计以及能持续发布更新。

    +

    点击进入hiboy在恩山的帖子http://www.right.com.cn/forum/thread-161324-1-1.html

    +]]>
    + + 网络 + + + 路由器 + 网络 + Network网络 + +
    + + 宝塔面板如何部署DNSPod的免费SSL证书 + /posts/2448.html + DNSPod现在可以申请为期一年的免费SSL证书,只要使用DNSPod的解析服务就可以申请。

    +

    进入DNSPod管理后台,左侧菜单选在SSL证书-证书管理

    +

    TIM截图20191024172300.jpg

    +

    然后选择你要申请证书的域名,然后选择DNS验证,等验证通过之后手机会收到短信通知,接着我们将证书下载到本地。

    +

    TIM截图20191024171954.jpg

    +

    下载之后解压,会得到4个文件夹,如果你使用LNMP,则进入Nginx文件夹,如果是LAMP,则进入Apache文件夹,我这边以Nginx为例进行介绍。

    +

    TIM截图20191024172034.jpg

    +

    之后我们用记事本打开文件夹中的两个文件。

    +

    TIM截图20191024172057.jpg

    +

    接着我们进入宝塔面板的SSL设置界面,将那两个文件内容复制到相应的地方,注意最后不要加空格。

    +

    TIM截图20191024171745.jpg

    +

    保存提交之后,我们的SSL证书就部署完成了。

    +]]>
    + + 网络 + + + LINUX + VPS + dnspod + SSL + 宝塔 + 证书 + +
    + + 家庭网络布线注意事项 + /posts/47723.html + 今天给准备装修的小伙伴分享一些在装修过程中可能遇到与网络或是智能相关问题的小贴士,供大家参考。

    +

    1.网线选择

    +

    最好选择正规厂家的CAT6六类网线,也就是网线中有十字骨架的那种网线。

    +

    目前家庭宽带接入普遍已经达到了100M,有的地区甚至达到了500M以上,而我们日常见到的网线一般都是五类线(CAT5)或是超五类线(CAT5E),五类线属于百兆线,理论传输速度只能达到100M。也就是说我们虽然在电信运营商那里办理的是300M的宽带,但由于家里的网线没有达到千兆标准,加上网线质量的因素,实际我们能享受到的网速只有70-80M左右。目前能达到千兆及以上传输速度的网线有超五类、六类及七类网线。虽然超五类线理论可以达到千兆网速,但是受到水晶头质量以及面板模块质量的影响,也不能完全保证能达到千兆。所以我建议大家在选择网线的时候尽量选择六类网线,如果预算有限,那也一定要选择正规厂家的超五类线。为什么不建议选择七类网线,是因为目前七类网线价格比较而言性价比不高,加之其配套的水晶头、网络模块需要用专业的工具来制作,对制作水准要求比较高,所以目前不推荐个人用户在布线的时候选择七类网线。

    +

    还有一点需要注意,六类网线分为屏蔽网线和非屏蔽网线,在家庭环境中我们只要选择非屏蔽网线就好了,没必要选择带屏蔽的网线。

    +

    2.设备的选择

    +

    虽然我们的网线支持了千兆,我们的路由器及交换机也要选择千兆接口的才可以,这里说的千兆接口是指设备的硬件WAN口及LAN口。

    +

    如果家里面的房间较多,平米数较大,需要做无线覆盖,我们要根据房间数量选择带POE供电的交换机来给各个房间的AP面板来供电。

    +

    3.布线中需要注意的问题

    +
      +
    1. 每个房间都要尽量留有网线到弱电箱,以便以后做无线覆盖用,当然厕所除外。
    2. +
    3. 书房要至少留两根网线到弱电箱,一根接AP面板,一根接台式电脑。
    4. +
    5. 卧室电视墙也要留一根网线,以便以后接IPTV用。
    6. +
    7. 客厅电视墙至少要留三根网线,一根接IPTV,一根接主路由器,另一根回弱电箱内的交换机。
    8. +
    9. 弱电箱一定要留有220V电源。
    10. +
    11. 有线电缆基本上淘汰了,装修中可以不考虑。
    12. +
    +

    4.后期加装智能需要注意的地方

    +

    智能家居是个趋势,为了以后改造方便,每个开关底盒内要留有零线,窗帘盒内要预留有220V电源,无线覆盖一定要做好。

    +

    目前暂时想到的就上面一些,以后会继续做补充。

    +

    最后总结一下,网线尽量选择六类线,家中的所有网线都回弱电箱,客厅电视墙至少留有三根网线,如果有可能改造弱电箱,尺寸尽可能做大,因为弱电箱里的东西会比较多,除了电信的光猫,还会有POE交换机,如果AP数量多了,还需要AC控制器,后期如果加装智能,还需要容纳智能主机。

    +]]>
    + + 网络 + + + 网络 + Daily我的日常 + 布线 + 装修 + +
    + + 年付19.99美元的搬瓦工VPS上架了 + /posts/29037.html + 今天去搬瓦工看到之前停售的年付19.99美元的VPS重新上架了,有需要的朋友可以前往购买。之前一直用VULTR的主机,不过最近几个月老是无故被墙,所以现在还是用上了之前在搬瓦工买的VPS,用了几个月感觉速度和稳定性方面都还不错,年付19.99美元还是比较合算的。下面是该主机的详细配置。

    +
      +
    • 10GB的SSD空间RAID-10
    • +
    • 512MB的内存
    • +
    • 1颗英特尔至强CPU
    • +
    • 每月500GB的流量
    • +
    • 千兆网速
    • +
    • OVZ和KMV可选
    • +
    • 多地区可选
    • +
    • 每年19.99美金,支持支付宝付款
    • +
    • 支持30天退款
      +购买链接https://bandwagonhost.com/aff.php?aff=31267
    • +
    +]]>
    + + 网络 + + + VPS + 搬瓦工 + +
    + + 群晖开启NFS文件共享服务 + /posts/14057.html + NFS是一种文件传输方式,类似于SAMBA。

    +

    前往控制面板,文件服务,在NFS处启用NFS服务。
    +TIM截图20180422221904.png

    +

    接着进入共享文件夹选项,编辑你需要设置NFS共享的文件夹,切换到权限选项卡,确保已正确设置了读写权限

    +

    TIM截图20180422222200.png

    +

    然后切换到NFS权限选项卡,按照下图进行设置,然后保存即可。
    +TIM截图20180422222343.png

    +

    设置完成之后我们就可以在局域网内的设备上使用NFS来传输文件了,比如在KODI中,我们可以通过NFS浏览到NAS中共享的文件,经测试NFS比传统的SAMBA传输更快,占用更少的带宽。

    +]]>
    + + 网络 + + + Synology群晖 + synology群晖 + NFS + 共享 + +
    + + 群晖搭建wordpress外网测试 + /posts/7079.html + +

    测试外网访问,文章发布,附件上传功能是否正常。

    + + +
    ![](cNcuPEE.png)
    +]]>
    + + 网络 + + + wordpress + +
    + + 腾讯云域名转入Godaddy实录 + /posts/56597.html + 我在腾讯云注册有一个.com域名,还有两天到期,我决定把域名转移到Godaddy,Godaddy是全球最大的域名注册商,之前是纯英文界面,最近几年增加了中文界面,而且支持支付宝直接付款,虽然没有明确表示进军中国 域名注册市场,但不影响我们正常使用。

    +

    下面我来一步一步介绍如何将域名转移到Godaddy。

    +

    首先我们登录腾讯云,在域名管理页面找到我们要进行转移的域名。

    +

    Snip20190305_7.png

    +

    点管理按钮。然后在打开的页面最底部,找到『转出域名』。

    +

    Snip20190305_8.png

    +

    接着点击『获取转移码』,稍后转移码会发到你的邮箱中,请注意查收,收到转移码之后,腾讯这边的操作就告一段落了,我们接下来去Godaddy进行域名转入设置。

    +

    注册并登录Godaddy,语言切换到简体中文,在首页导航栏中选择『域名』,然后选择『域名转移』。

    +

    Snip20190305_10.png

    +

    输入你要转移的域名,然后点击『搜索』。

    +

    Snip20190305_11.png

    +

    然后在接下来的页面输入你获取到的域名转移码,点击『继续』,如果一切顺利的话系统会要求你付款,因为在转移域名的时候,新的域名注册商会收取一部分手续费以及域名下一年的注册费。因为我已经转移成功了,就不再上传付款页面的截图了,我是用支付宝付的款,最后折合成人民币大约58块钱左右。

    +

    付款完成之后需要等待3-7天,域名就会转移到Godaddy了,以后域名的解析管理和续费操作就可以在Godaddy来操作了。

    +

    Snip20190305_12.png

    +]]>
    + + 网络 + + + 域名 + Network网络 + godaddy + +
    + + 谷歌云安装bbr加速及酸酸乳 + /posts/58542.html + BBR是谷歌推出的一套TCP加速算法,类似于之前的锐速,安装在VPS之后可以显著提升酸酸乳的速度,流畅观看1080P甚至是4K的油管视频。下面介绍如何在基于Debian8的系统中安装BBR算法,以及配置酸酸乳服务。

    +

    操作系统选择Debian8.

    +

    ####获取root权限####

    +
    sudo -i
    +
    +

    ####下载bbr安装脚本####

    +
    wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install
    +
    +

    选择NO。然后重启。重新连接。
    +####再次获取root权限####

    +
    sudo -i
    +
    +

    ####运行bbr安装脚本####

    +
    bash bbr.sh start
    +
    +

    ####获取酸酸乳安装脚本####

    +
    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh && chmod +x shadowsocksR.sh
    +
    +

    ####运行酸酸乳安装脚本####

    +
    ./shadowsocksR.sh
    +
    +

    之后根据提示设置酸酸乳的连接密码、端口及加密方式等等。

    +

    将自己设置的信息记录下来,然后下载相应平台的酸酸乳客户端,填入自己的服务器地址、端口、密码、加密方式等信息,就可以愉快的玩耍了。

    +]]>
    + + 网络 + + + VPS + GOOGLE + 谷歌云 + 加速 + BBR + SSR + 酸酸乳 + +
    + + 谷歌云的防火墙设置 + /posts/64128.html + 大家在搭建了酸酸乳服务器之后,在客户端中填好信息之后会发现连接不上,其实是谷歌云的防火墙在作怪,谷歌云为了安全,默认只开启了80、433等常用的端口,而我们酸酸乳使用到的端口并没有被开启,所以我们需要手动配置一下。

    +

    首先进入谷歌云的控制台,在左边的菜单中依次选择VPC网络—防火墙规则,然后点击上面的"创建防火墙规则"按钮来创建一条,设置如下图所示

    +

    TIM截图20180419143303.png

    +

    需要注意的几个地方:

    +

    1.名称可以随意写;

    +

    2.来源IP地址范围必须写成 0.0.0.0/0

    +

    3.目标选择"网络中的所有实例"

    +

    4.协议和端口部分,可以设置成全部允许,这样的话所有的端口都会通过防火墙,以后安装其他服务就不用重复设置防火墙了,也可以设置成指定的协议和端口,比如你酸酸乳的端口是1234,可以写成 tcp:1234;udp1234 的格式。

    +

    设置完成之后点击"创建"按钮来保存,这样谷歌云的防火墙就设置好了。

    +]]>
    + + 网络 + + + VPS + GOOGLE + 谷歌云 + 防火墙 + +
    + + 越过长城,走向世界-SS之家免费节点 + /posts/42324.html + TIM截图20181119140137.jpg

    +

    是的,全新的SS之家上线了,助力您畅游互联网,无痛点访问谷歌、YouTube、Facebook、Instagram,YouTube实测1080无压力。

    +

    支持Android、iOS手机,Windows、Mac电脑,LEDE、梅林、Padavan路由器。

    +

    免费套餐也同时上线,每月赠送1GB流量,每日签到另外可得最多50MB流量,可连接普通节点,不限终端数量。

    +

    其他包月、包年套餐可以移步网站查看。

    +

    即日起至11月30日为内测期,期间所有套餐均可享受5折优惠。

    +

    TIM截图20181119140202.jpg

    +

    具体套餐详情及购买方式请Q312780013。

    +

    SS之家网址 HTTPS://SSHOME.WIN

    +]]>
    + + 网络 + + + Network网络 + +
    + + 0成本serv00搭建wordpress + /posts/52893.html + 楔子 +

    serv00是一家提供免费虚拟主机空间的厂商,除了免费空间外,还提供免费的数据库和企业邮箱等服务。并且提供的虚拟空间基于freeBSD操作系统,3GB存储,512MB内存,支持SSH登录,支持PHP多版本切换,支持多种数据库类型。关键的关键是这一切都是免费的,只需要你每隔三个月至少登录一次主机SSH或是管理面板,否则账户将被注销。
    +image.png

    +

    目标

    +

    0成本使用serv00提供的虚拟空间服务搭建基于wordpress的站点,并且使用cloudflare加速站点国内访问速度,支持https。
    +image.png

    + +

    前提准备

    +

    1.一个挂靠在Cloudflare的域名,下文以miaoyang.win演示,搭建站点的二级域名为wp.miaoyang.win。
    +2.serv00账号(注册地址:Serv00.com » Create an account)提交注册信息时如出现报错,需更换代理IP或注册邮箱地址尝试。
    +3.科学上网环境(以下全部操作默认在科学环境下操作)。

    +

    开干

    +

    创建站点

    +

    serv00注册成功后邮箱会收到一封邮件,里面包含serv00的用户名、密码、panel登录地址等信息。根据邮件提供的信息登录控制面板,按照下图所示新建一个站点,输入站点域名。然后点击Add。
    +image.png
    +创建成功之后会在Website list选项卡看到新建的站点信息,在File manager中可以看到站点文件夹。
    +image.png

    +

    上传wordpress文件

    +

    前往WordPress网站下载压缩包到本地(下载 – WordPress.org China 简体中文)。
    +image.png

    +

    默认的站点文件夹为/domains/wp.miaoyang.win/public_html,我们需要先将文件夹内的index.html文件手动删除,然后wordpress的全部文件上传到此目录。
    +上传可以通过网页端的File manager上传,也可以使用winSCP等支持FTP和SFTP的客户端上传。我这边实际测试了速度都不太理想,推荐使用SSH 命令直接从wordpress下载。
    +使用SSH登录之后

    +
    cd /domains/wp.miaoyang.win/public_html
    wget https://cn.wordpress.org/latest-zh_CN.zip
    +

    然后通过File manager将压缩包内的wordpress文件夹解压到public_html文件夹。
    +image.png
    +最终的文件架构如下图所示。
    +image.png

    +

    域名解析

    +

    进入DNS zones,然后找到之前添加的域名点击Edit。进来之后找到域名的A记录目标IP记录下来。
    +image.png

    +

    前往Cloudflare的DNS界面,创建一个A记录将wp.miaoyang.win 解析到上面的IP地址,并开启代理云朵。
    +image.png
    +这时候要是访问域名的话会提示证书错误,我们还需要去设置一下域名的证书。

    +

    证书设置

    +

    如下图所示进入Cloudflare的自定义主机名,添加wp.miaoyang.win。
    +image.png

    +

    然后根据提示新建txt记录验证域名所有权,直到证书状态和主机状态都为绿色有效。
    +image.png

    +

    现在就可以通过 https://wp.miaoyang.win 来访问站点了。

    +

    创建MySQL数据库

    +

    安装WordPress需要MySQL数据库。如下图所示新建一个数据库,记录下数据库名、数据库用户名、密码,以及数据库地址。
    +image.png

    +

    安装WordPress

    +

    访问https://my.miaoyang.win 根据提示进行安装,期间需要输入数据库相关信息。需要注意的是在数据库主机那里,将默认的localhost删除,填入上一步记录下来的数据库地址。
    +image.png
    +设置完站点基础信息以及用户名和密码之后就完成了WordPress的安装。

    +

    站点访问

    +

    现在我们就可以使用 https://wp.miaoyang.win 来访问wordpress了!
    +image.png

    +

    因为我们在Cloudflare设置了cdn代理加速,所以现在停掉科学代理,也可以访问到站点了,而且速度也不错。
    +image.png

    +

    那如果直接使用serv00默认的ip访问站点的话,可以看到国内是全部被墙的。
    +image.png

    +
    +

    类似的我们可以使用serv00的免费空间来搭建更多的基于PHP+MySQL的站点。

    +

    另外需要注意的是serv00需要至少每隔三个月登录一次SSH或是管理面板,否则账户会被删除!

    +
    +

    引用

    +

    玩转serv00虚拟主机(一):零成本搭建wordpress个人博客&入门_服务器_什么值得买

    +]]>
    + + 应用 + + + wordpress + Cloudflare + serv00 + +
    + + serv00安装PM2守护程序及应用保活测试 + /posts/7811.html + 楔子 +

    之前在serv00上部署了Alist服务,当时使用的是screen来后台运行alist进程。
    +经过两天使用发现,前一天服务正常,到第二天早上的时候服务就被停止了,而且也找不到screen进程,就算是在管理面板添加了cron jobs也不起作用。除非再次手动执行启动命令,任务才会启动。
    +网上搜到有人使用PM2来守护进程,今天我也试着安装了,具体效果怎么样,还需要一段时间来检验。

    +

    一键安装脚本

    +
    bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
    +

    Alist任务运行脚本

    +
    cd /home/ycycwin/domains/pan.ycyc.win/alist && pm2 start ./alist -- server ~/domains/pan.ycyc.win/alist
    +
    +

    注意替换脚本内相关用户名和域名。

    +
    +

    最后将上面的运行脚本添加到面板中的cron jobs中,等到明天看下效果如何。

    +

    当然你要是只用serv00来做简单的网页服务器,不搞这些奇怪应用的话,还是很稳定的。😅

    +

    次日更新

    +

    今天早上应用进程还是没启动,难道是serv00连自己的cron job也不执行?可惜无法看到重启后脚本是否执行了。
    +换了一个启动方法试一下,将现有pm2进程保存,然后再恢复。

    +
    pm2 save
    pm2 resurrect
    +

    corn jobs 里面直接运行pm2 resurrect ,设置频率为每小时运行。明天再观察下效果如何。
    +image.png

    +

    再次更新

    +

    又失败了,给我的感觉好像是这个cron job根本没有执行。
    +于是我写了一个脚本,准备使用青龙面板来定时登录ssh,然后执行 pm2 resurrect,每小时执行一次。目前看上去脚本执行是没问题的。具体效果再观察看下。

    +

    image.png

    +]]>
    + + 应用 + + + alist + serv00 + PM2 + +
    + + serv00搭建Alist记录 + /posts/36597.html + 楔子 +

    昨天撸了一个免费的serv00虚拟空间,并且成功搭建了WordPress站点。在搜索serv00相关信息期间看到有大神写了用serv00搭建Alist的教程。自己的Alist之前是搭建在家里的openwrt上面的,于是决定将其迁移到serv00上面来,以下记录在serv00搭建Alist以及数据迁移的过程,供有需求的朋友参考。

    +

    Alist数据备份导出

    +

    如下图所示登录原Alist管理后台将数据备份并导出到本地。
    +image.png

    + +

    serv00开放端口

    +

    登录到serv00管理后台,找到Port reservation,然后添加一个开放端口,由于常用一些端口都被占用了,所以我们直接点击Random随机生成一个端口。
    +image.png

    +

    生成之后在Port list就能看到该端口了,记录下改端口号。
    +image.png

    +

    serv00创建站点

    +

    如下图所示,输入站点域名,这里以yun.ycyc.win为例,类型选择proxy,端口选择刚才开放的端口号。这样,我们就可以直接使用域名而无需加端口号来访问站点了。
    +image.png

    +

    serv00开放应用运行

    +

    如下图所示进入Additional services,打开运用运行。
    +image.png

    +

    解析域名并设置证书

    +

    此步骤请参阅我的上一篇文章相关章节,这里不再赘述。
    +0成本serv00搭建wordpress | 渊澄

    +

    serv00创建MySQL数据库

    +

    此步骤同样请参阅上篇文章相关章节。
    +0成本serv00搭建wordpress | 渊澄

    +

    安装应用

    +

    进入File manager模块,进入到站点文件夹,新建一个名为alist的文件夹,并将alist文件上传到新建的alist文件夹内。

    +

    文件下载地址:渊澄网盘
    +然后登录SSH执行以下命令进行安装:

    +
    cd /usr/home/ycycwin/domains/yun.ycyc.win/alist
    chmod +x alist
    alist./alist server
    +

    命令运行完成后出现下图所示的提示说明安装完成。
    +image.png

    +

    修改配置文件

    +

    进入到站点目录,找到data/config.json 将数据库字段替换为创建的MySQL数据库相关信息,并将端口替换为之前放开的端口号。
    +image.png

    +

    运行程序

    +

    运行下面的命令启动alist程序,首次运行会生成默认密码,需要及时记录下来。

    +
    ./alist server
    +

    image.png

    +

    登录管理

    +

    如果一切顺利的话,现在就可以在浏览器中访问 https://ycyc.win 了。使用默认的用户名admin以及上一步生成的默认密码就可以登录Alist后台进行操作了。
    +image.png

    +

    导入Alist备份

    +

    进入Alist后台之后将第一步导出的备份文件导入系统,等待全部还原完成即可。

    +

    程序后台运行

    +

    现在的Alist只能在当前SSH界面中运行,如果关闭SSH或退出当前命令,Alist就会结束运行。
    +现在需要使用screen命令保存当前进程并增加开机自动运行。

    +
    screen -S alist /home/ycycwin/domains/yun.ycyc.win/alist/alist server
    +

    执行后会新建一个screen会话运行alist

    +

    可以在当前会话按下 Ctrl + A,然后按D,这会让你从当前 screen 会话中脱离,但 alist 程序仍会在后台运行。

    +

    如果你需要重新连接到这个 screen 会话,可以使用以下命令:

    +
    screen -r alist
    +

    添加计划任务

    +

    在网页管理面板进入Cron jobs菜单,点击Add cron job,新建一个脚本,然后在Command框中输入

    +
    cd /home/ycycwin/domains/yun.ycyc.win/alist && screen ./alist server
    +

    然后点击Add,这样,当服务器重启的时候就会执行操作自动启动alist应用了
    +image.png

    +

    总结

    +

    搭建的过程虽然步骤比较多,但操作起来还是比较顺利的。有几个重点需要再次说明一下,第一个就是一定要开启站点应用程序执行权限,第二个是screen命令的运行,最后就是cron job的添加,以防服务器重启导致alist服务未启动。
    +还有就是文内命令中的相关用户名及域名路径要换成你自己的。
    +搭建过程中遇到问题可以在下方评论区与我讨论。

    +

    引用

    +

    serv00部署alist详细记录 - Wenbin’s blog
    +玩转serv00虚拟主机(三):零成本搭建alist个人网盘_网络存储_什么值得买

    +]]>
    + + 应用 + + + alist + Cloudflare + serv00 + +
    + + 靠谱的serv00保活办法-利用青龙定时启动PM2 + /posts/1316.html + 经过一个星期的测试,利用青龙面板定时执行pm2 resurrect 能持续保持任务运行。

    +

    serv00上面的设置

    +

    首先你需要在serv00上面安装PM2命令,具体方法可以参考我的上一篇文章(serv00安装PM2守护程序及应用保活测试 | 渊澄
    +然后将你所有需要后台保持的应用使用pm2命令启动。
    +使用pm2 list查看所有任务是否已启动,确认无误之后使用pm2 save保存当前进度。

    +

    青龙面板相关设置

    +

    请确保青龙面板已搭建成功并正常运行。
    +首先需要安装Linux sshpass依赖。
    +image.png

    + +

    接着创建一个任务脚本,将下面命令复制并命名为 serv00.sh

    +
    #!/bin/bash

    HOST="你的服务器地址"

    USERNAME=serv00用户名

    PASSWORD=serv00密码

    sshpass -p ${PASSWORD} ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt ${USERNAME}@${HOST} << EOF

    pm2 resurrect

    exit

    EOF

    echo "finished"
    +
    +

    将脚本中的服务器地址、用户名和密码修改成你的信息。
    +image.png

    +
    +

    最后创建一个定时任务就可以了。

    +
    task serv00/serv00.sh
    +

    定时规则可以根据自己情况做修改,下图所示为一个小时执行一次。详细的crontab规则可参考(crontab 定时任务规则收藏 | 渊澄
    +image.png

    +

    试运行

    +

    点击运行脚本查看日志,如果出现下图所示日志,则说明任务正常运行了。否则根据日志排查错误。
    +image.png

    +]]>
    + + 应用 + + + 青龙面板 + serv00 + PM2 + 保活 + +
    +
    diff --git a/sitemap.txt b/sitemap.txt new file mode 100644 index 0000000000..7e62433b12 --- /dev/null +++ b/sitemap.txt @@ -0,0 +1,423 @@ +https://ycyc.win/posts/39032.html +https://ycyc.win/posts/12783.html +https://ycyc.win/posts/21876.html +https://ycyc.win/posts/2895.html +https://ycyc.win/posts/39533.html +https://ycyc.win/posts/26090.html +https://ycyc.win/posts/38710.html +https://ycyc.win/posts/54996.html +https://ycyc.win/categories/index.html +https://ycyc.win/drafts/%E6%94%B6%E8%97%8F%E5%85%AC%E7%9B%8Acdn%E8%8A%82%E7%82%B9.html +https://ycyc.win/link/index.html +https://ycyc.win/links/index.html +https://ycyc.win/tags/index.html +https://ycyc.win/about/tongji/index.html +https://ycyc.win/posts/40723.html +https://ycyc.win/posts/20537.html +https://ycyc.win/posts/18367.html +https://ycyc.win/posts/56765.html +https://ycyc.win/posts/32581.html +https://ycyc.win/posts/63379.html +https://ycyc.win/posts/62297.html +https://ycyc.win/posts/48504.html +https://ycyc.win/posts/25411.html +https://ycyc.win/posts/248.html +https://ycyc.win/posts/9027.html +https://ycyc.win/posts/57995.html +https://ycyc.win/posts/2878.html +https://ycyc.win/posts/62343.html +https://ycyc.win/posts/21117.html +https://ycyc.win/posts/6425.html +https://ycyc.win/posts/24372.html +https://ycyc.win/posts/2353.html +https://ycyc.win/posts/2192.html +https://ycyc.win/posts/59730.html +https://ycyc.win/posts/7119.html +https://ycyc.win/posts/41924.html +https://ycyc.win/404.html +https://ycyc.win/drafts/serv00%20%E6%90%AD%E5%BB%BAfrp%E6%9C%8D%E5%8A%A1%E8%AE%B0%E5%BD%95.html +https://ycyc.win/about/node/index.html +https://ycyc.win/about/link/index.html +https://ycyc.win/posts/63727.html +https://ycyc.win/posts/56316.html +https://ycyc.win/posts/36865.html +https://ycyc.win/posts/45210.html +https://ycyc.win/posts/53352.html +https://ycyc.win/posts/64780.html +https://ycyc.win/posts/5754.html +https://ycyc.win/posts/28746.html +https://ycyc.win/posts/6049.html +https://ycyc.win/posts/38617.html +https://ycyc.win/posts/34659.html +https://ycyc.win/posts/42924.html +https://ycyc.win/posts/48882.html +https://ycyc.win/posts/16289.html +https://ycyc.win/posts/3682.html +https://ycyc.win/posts/34605.html +https://ycyc.win/posts/49923.html +https://ycyc.win/posts/63397.html +https://ycyc.win/posts/20287.html +https://ycyc.win/posts/468.html +https://ycyc.win/posts/29347.html +https://ycyc.win/posts/46714.html +https://ycyc.win/posts/56073.html +https://ycyc.win/posts/26602.html +https://ycyc.win/posts/42324.html +https://ycyc.win/posts/56597.html +https://ycyc.win/posts/49189.html +https://ycyc.win/posts/10805.html +https://ycyc.win/posts/51237.html +https://ycyc.win/posts/14057.html +https://ycyc.win/posts/47723.html +https://ycyc.win/posts/64128.html +https://ycyc.win/posts/2448.html +https://ycyc.win/posts/58542.html +https://ycyc.win/posts/26860.html +https://ycyc.win/posts/10203.html +https://ycyc.win/posts/52498.html +https://ycyc.win/posts/40322.html +https://ycyc.win/posts/60877.html +https://ycyc.win/posts/12103.html +https://ycyc.win/posts/13021.html +https://ycyc.win/posts/16783.html +https://ycyc.win/posts/23630.html +https://ycyc.win/posts/55749.html +https://ycyc.win/posts/11923.html +https://ycyc.win/posts/21296.html +https://ycyc.win/posts/24992.html +https://ycyc.win/posts/4496.html +https://ycyc.win/posts/34873.html +https://ycyc.win/posts/7079.html +https://ycyc.win/posts/56961.html +https://ycyc.win/posts/49575.html +https://ycyc.win/posts/29347.html +https://ycyc.win/posts/40252.html +https://ycyc.win/posts/26009.html +https://ycyc.win/posts/26864.html +https://ycyc.win/posts/59409.html +https://ycyc.win/posts/59600.html +https://ycyc.win/posts/33186.html +https://ycyc.win/posts/52176.html +https://ycyc.win/posts/27488.html +https://ycyc.win/posts/7120.html +https://ycyc.win/posts/27341.html +https://ycyc.win/posts/28478.html +https://ycyc.win/posts/60215.html +https://ycyc.win/posts/16982.html +https://ycyc.win/posts/29037.html +https://ycyc.win/posts/39287.html +https://ycyc.win/posts/50351.html +https://ycyc.win/posts/44514.html +https://ycyc.win/posts/54954.html +https://ycyc.win/posts/10394.html +https://ycyc.win/posts/5098.html +https://ycyc.win/posts/11416.html +https://ycyc.win/posts/58386.html +https://ycyc.win/posts/9909.html +https://ycyc.win/drafts/%E5%8F%8C11%E6%99%92%E5%8D%95.html +https://ycyc.win/posts/64365.html +https://ycyc.win/posts/49729.html +https://ycyc.win/drafts/Discord%E9%82%80%E8%AF%B7%E9%93%BE%E6%8E%A5.html +https://ycyc.win/posts/49200.html +https://ycyc.win/about/index.html +https://ycyc.win/posts/1316.html +https://ycyc.win/posts/30251.html +https://ycyc.win/posts/33470.html +https://ycyc.win/posts/5954.html +https://ycyc.win/posts/32581.html +https://ycyc.win/posts/7811.html +https://ycyc.win/memos/index.html +https://ycyc.win/drafts/PM2%E5%AE%88%E6%8A%A4.html +https://ycyc.win/posts/55722.html +https://ycyc.win/posts/36597.html +https://ycyc.win/posts/44166.html +https://ycyc.win/posts/7421.html +https://ycyc.win/posts/30452.html +https://ycyc.win/posts/11994.html +https://ycyc.win/posts/52893.html +https://ycyc.win/posts/36618.html +https://ycyc.win/drafts/index.html +https://ycyc.win/posts/39778.html +https://ycyc.win/about/cdn/index.html +https://ycyc.win/drafts/%E8%BF%91%E6%9C%9F%E8%A7%82%E5%BD%B1.html +https://ycyc.win/about/img/index.html +https://ycyc.win/essay/index.html +https://ycyc.win/posts/37049.html +https://ycyc.win/posts/41234.html +https://ycyc.win/talks/index.html +https://ycyc.win/posts/23533.html +https://ycyc.win/drafts/linter%E6%8F%92%E4%BB%B6.html +https://ycyc.win/posts/13016.html +https://ycyc.win/posts/60919.html +https://ycyc.win/posts/6420.html +https://ycyc.win/posts/18268.html +https://ycyc.win/posts/58482.html +https://ycyc.win/posts/46564.html +https://ycyc.win/posts/20185.html +https://ycyc.win/posts/16703.html +https://ycyc.win/posts/37524.html +https://ycyc.win/posts/13691.html +https://ycyc.win/posts/40056.html +https://ycyc.win/about/emoji/index.html +https://ycyc.win/posts/6776.html +https://ycyc.win/posts/45920.html +https://ycyc.win/posts/64809.html +https://ycyc.win/posts/65048.html +https://ycyc.win/posts/61790.html +https://ycyc.win/posts/45151.html +https://ycyc.win/posts/31120.html +https://ycyc.win/posts/42824.html +https://ycyc.win/posts/23057.html +https://ycyc.win/posts/35875.html +https://ycyc.win/posts/7251.html +https://ycyc.win/ +https://ycyc.win/tags/adguard/ +https://ycyc.win/tags/openwrt/ +https://ycyc.win/tags/%E5%B9%BF%E5%91%8A/ +https://ycyc.win/tags/%E6%97%81%E8%B7%AF%E7%94%B1/ +https://ycyc.win/tags/%E4%BA%AC%E4%B8%9C/ +https://ycyc.win/tags/AX1800PRO/ +https://ycyc.win/tags/%E8%B7%AF%E7%94%B1%E5%99%A8/ +https://ycyc.win/tags/%E5%88%B7%E6%9C%BA/ +https://ycyc.win/tags/%E5%8D%8E%E7%A1%95/ +https://ycyc.win/tags/%E5%9B%BA%E4%BB%B6/ +https://ycyc.win/tags/%E5%9F%9F%E5%90%8D/ +https://ycyc.win/tags/%E7%BD%91%E7%AB%99/ +https://ycyc.win/tags/ycyc/ +https://ycyc.win/tags/%E9%98%BF%E9%87%8C%E4%BA%91/ +https://ycyc.win/tags/%E8%BD%AC%E7%A7%BB/ +https://ycyc.win/tags/porkbun/ +https://ycyc.win/tags/%E7%BD%91%E7%BB%9C/ +https://ycyc.win/tags/NAS/ +https://ycyc.win/tags/passwall/ +https://ycyc.win/tags/istoreOS/ +https://ycyc.win/tags/%E5%9B%BE%E5%BA%8A/ +https://ycyc.win/tags/GitHub/ +https://ycyc.win/tags/PicGO/ +https://ycyc.win/tags/%E8%A1%A8%E6%83%85/ +https://ycyc.win/tags/emoji/ +https://ycyc.win/tags/HEXO/ +https://ycyc.win/tags/picgo/ +https://ycyc.win/tags/%E6%8A%A5%E9%94%99/ +https://ycyc.win/tags/vscode/ +https://ycyc.win/tags/PicGo/ +https://ycyc.win/tags/Action/ +https://ycyc.win/tags/%E7%BC%96%E8%AF%91/ +https://ycyc.win/tags/%E5%8F%91%E5%B8%83/ +https://ycyc.win/tags/markdown/ +https://ycyc.win/tags/valine/ +https://ycyc.win/tags/%E9%83%A8%E7%BD%B2/ +https://ycyc.win/tags/github/ +https://ycyc.win/tags/QEXO/ +https://ycyc.win/tags/vercel/ +https://ycyc.win/tags/obsidian/ +https://ycyc.win/tags/linter/ +https://ycyc.win/tags/%E6%8F%92%E4%BB%B6/ +https://ycyc.win/tags/alist/ +https://ycyc.win/tags/%E5%90%8C%E6%AD%A5/ +https://ycyc.win/tags/webdav/ +https://ycyc.win/tags/HomeAssistant/ +https://ycyc.win/tags/docker/ +https://ycyc.win/tags/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85/ +https://ycyc.win/tags/N1/ +https://ycyc.win/tags/appdaemon/ +https://ycyc.win/tags/UI/ +https://ycyc.win/tags/mqtt/ +https://ycyc.win/tags/%E5%8D%8E%E4%B8%BA/ +https://ycyc.win/tags/%E5%B0%8F%E7%B1%B3/ +https://ycyc.win/tags/%E7%BD%91%E5%85%B3/ +https://ycyc.win/tags/hassbian/ +https://ycyc.win/tags/LINUX/ +https://ycyc.win/tags/%E5%AE%89%E8%A3%85/ +https://ycyc.win/tags/%E6%A0%91%E8%8E%93%E6%B4%BE/ +https://ycyc.win/tags/aqara/ +https://ycyc.win/tags/homeassistant/ +https://ycyc.win/tags/%E8%87%AA%E5%8A%A8%E5%8C%96/ +https://ycyc.win/tags/home/ +https://ycyc.win/tags/Synology%E7%BE%A4%E6%99%96/ +https://ycyc.win/tags/synology%E7%BE%A4%E6%99%96/ +https://ycyc.win/tags/WOL/ +https://ycyc.win/tags/putty/ +https://ycyc.win/tags/winscp/ +https://ycyc.win/tags/Docker/ +https://ycyc.win/tags/frontend/ +https://ycyc.win/tags/device-tracker/ +https://ycyc.win/tags/padavan/ +https://ycyc.win/tags/%E6%8F%92%E6%8E%92/ +https://ycyc.win/tags/%E9%B8%BF%E9%9B%81/ +https://ycyc.win/tags/orangepi/ +https://ycyc.win/tags/token/ +https://ycyc.win/tags/%E7%B1%B3%E5%AE%B6/ +https://ycyc.win/tags/%E8%8B%B9%E6%9E%9C/ +https://ycyc.win/tags/Macbook/ +https://ycyc.win/tags/AI/ +https://ycyc.win/tags/%E7%89%B9%E6%96%AF%E6%8B%89/ +https://ycyc.win/tags/Robotaxi/ +https://ycyc.win/tags/Tesla/ +https://ycyc.win/tags/Robovan/ +https://ycyc.win/tags/Follow/ +https://ycyc.win/tags/%E8%AE%A2%E9%98%85/ +https://ycyc.win/tags/wordpress/ +https://ycyc.win/tags/SU7/ +https://ycyc.win/tags/SU7Ultra/ +https://ycyc.win/tags/%E6%B1%BD%E8%BD%A6/ +https://ycyc.win/tags/%E5%BD%B1%E8%A7%86%E9%A3%93%E9%A3%8E/ +https://ycyc.win/tags/%E8%A7%86%E9%A2%91/ +https://ycyc.win/tags/%E4%B8%8B%E6%9E%B6/ +https://ycyc.win/tags/Apple/ +https://ycyc.win/tags/iPhone/ +https://ycyc.win/tags/Network%E7%BD%91%E7%BB%9C/ +https://ycyc.win/tags/PORNHUB/ +https://ycyc.win/tags/VPN/ +https://ycyc.win/tags/VPNHUB/ +https://ycyc.win/tags/%E5%85%8D%E8%B4%B9/ +https://ycyc.win/tags/OneDrive/ +https://ycyc.win/tags/%E5%BE%AE%E8%BD%AF/ +https://ycyc.win/tags/Daily%E6%88%91%E7%9A%84%E6%97%A5%E5%B8%B8/ +https://ycyc.win/tags/IKEA/ +https://ycyc.win/tags/%E5%AE%9C%E5%AE%B6/ +https://ycyc.win/tags/%E7%BE%A4%E6%99%96/ +https://ycyc.win/tags/Android%E5%AE%89%E5%8D%93/ +https://ycyc.win/tags/HomePod/ +https://ycyc.win/tags/%E6%99%BA%E8%83%BD%E9%9F%B3%E7%AE%B1/ +https://ycyc.win/tags/%E6%92%AD%E9%85%B7%E4%BA%91/ +https://ycyc.win/tags/%E9%82%AE%E7%AE%B1/ +https://ycyc.win/tags/%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1/ +https://ycyc.win/tags/%E7%BD%91%E6%98%93/ +https://ycyc.win/tags/macos/ +https://ycyc.win/tags/mac/ +https://ycyc.win/tags/win11/ +https://ycyc.win/tags/Cloudflare/ +https://ycyc.win/tags/%E9%82%AE%E4%BB%B6/ +https://ycyc.win/tags/outlook/ +https://ycyc.win/tags/linux/ +https://ycyc.win/tags/git/ +https://ycyc.win/tags/%E7%9F%AD%E9%93%BE%E6%8E%A5/ +https://ycyc.win/tags/%E6%B8%8A%E6%BE%84/ +https://ycyc.win/tags/L3250/ +https://ycyc.win/tags/%E6%89%93%E5%8D%B0%E6%9C%BA/ +https://ycyc.win/tags/Airprint/ +https://ycyc.win/tags/iOS/ +https://ycyc.win/tags/EPSON/ +https://ycyc.win/tags/%E7%88%B1%E6%99%AE%E7%94%9F/ +https://ycyc.win/tags/centos/ +https://ycyc.win/tags/DDNS/ +https://ycyc.win/tags/DSM/ +https://ycyc.win/tags/OPENVPN/ +https://ycyc.win/tags/L2TP/ +https://ycyc.win/tags/PPTP/ +https://ycyc.win/tags/piclist/ +https://ycyc.win/tags/%E5%9B%BE%E7%89%87/ +https://ycyc.win/tags/%E4%B8%8A%E4%BC%A0/ +https://ycyc.win/tags/%E7%BE%8E%E5%8C%BA/ +https://ycyc.win/tags/appleID/ +https://ycyc.win/tags/%E6%94%AF%E4%BB%98%E5%AE%9D/ +https://ycyc.win/tags/AR9285/ +https://ycyc.win/tags/MAC/ +https://ycyc.win/tags/outline/ +https://ycyc.win/tags/SWAP/ +https://ycyc.win/tags/VPS/ +https://ycyc.win/tags/GOOGLE/ +https://ycyc.win/tags/youtube/ +https://ycyc.win/tags/android/ +https://ycyc.win/tags/%E5%AE%A2%E6%88%B7%E7%AB%AF/ +https://ycyc.win/tags/snipaste/ +https://ycyc.win/tags/%E5%B7%A5%E5%85%B7/ +https://ycyc.win/tags/%E6%88%AA%E5%9B%BE/ +https://ycyc.win/tags/v2ray/ +https://ycyc.win/tags/%E4%B8%8B%E8%BD%BD/ +https://ycyc.win/tags/FS3125s/ +https://ycyc.win/tags/%E6%89%AB%E6%8F%8F%E4%BB%AA/ +https://ycyc.win/tags/%E9%A9%B1%E5%8A%A8/ +https://ycyc.win/tags/ifttt/ +https://ycyc.win/tags/twitter/ +https://ycyc.win/tags/%E5%BE%AE%E5%8D%9A/ +https://ycyc.win/tags/J3455/ +https://ycyc.win/tags/%E4%B8%BB%E6%9D%BF/ +https://ycyc.win/tags/%E5%8D%8E%E6%93%8E/ +https://ycyc.win/tags/%E9%BB%91%E7%BE%A4%E6%99%96/ +https://ycyc.win/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/ +https://ycyc.win/tags/%E8%B0%B7%E6%AD%8C%E4%BA%91/ +https://ycyc.win/tags/nodejs/ +https://ycyc.win/tags/npm/ +https://ycyc.win/tags/KMS/ +https://ycyc.win/tags/OFFICE/ +https://ycyc.win/tags/windows/ +https://ycyc.win/tags/%E6%BF%80%E6%B4%BB/ +https://ycyc.win/tags/%E6%95%99%E7%A8%8B/ +https://ycyc.win/tags/%E8%BF%85%E9%9B%B7/ +https://ycyc.win/tags/%E8%BF%9C%E7%A8%8B%E4%B8%8B%E8%BD%BD/ +https://ycyc.win/tags/%E9%9D%92%E9%BE%99%E9%9D%A2%E6%9D%BF/ +https://ycyc.win/tags/%E5%BC%95%E5%AF%BC/ +https://ycyc.win/tags/%E6%B4%97%E7%99%BD/ +https://ycyc.win/tags/%E5%B0%8F%E9%9B%85/ +https://ycyc.win/tags/%E5%A5%97%E5%A8%83/ +https://ycyc.win/tags/YOUTUBE/ +https://ycyc.win/tags/%E6%B2%B9%E7%AE%A1/ +https://ycyc.win/tags/APP/ +https://ycyc.win/tags/smarttube/ +https://ycyc.win/tags/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98/ +https://ycyc.win/tags/%E9%9F%B3%E7%AE%B1/ +https://ycyc.win/tags/%E5%B0%8F%E7%88%B1%E5%90%8C%E5%AD%A6/ +https://ycyc.win/tags/AI%E9%9F%B3%E7%AE%B1/ +https://ycyc.win/tags/iptv/ +https://ycyc.win/tags/%E8%81%94%E9%80%9A/ +https://ycyc.win/tags/%E7%BB%84%E6%92%AD/ +https://ycyc.win/tags/%E5%B1%B1%E8%A5%BF/ +https://ycyc.win/tags/%E5%A4%AA%E5%8E%9F/ +https://ycyc.win/tags/%E5%BA%86%E4%BD%99%E5%B9%B4/ +https://ycyc.win/tags/%E7%94%B5%E8%A7%86%E5%89%A7/ +https://ycyc.win/tags/BT/ +https://ycyc.win/tags/%E7%A7%8D%E5%AD%90/ +https://ycyc.win/tags/%E9%9F%B3%E4%B9%90/ +https://ycyc.win/tags/%E9%A6%99%E6%B8%AF/ +https://ycyc.win/tags/%E6%B8%AF%E4%B9%90/ +https://ycyc.win/tags/%E5%88%86%E4%BA%AB/ +https://ycyc.win/tags/%E5%B0%8F%E7%88%B1%E9%9F%B3%E7%AE%B1/ +https://ycyc.win/tags/Xiaomusic/ +https://ycyc.win/tags/IPTV/ +https://ycyc.win/tags/epg/ +https://ycyc.win/tags/%E6%B8%8A%E6%BE%84%E8%A7%86%E9%A2%91/ +https://ycyc.win/tags/%E6%9C%BA%E9%A1%B6%E7%9B%92/ +https://ycyc.win/tags/DIY/ +https://ycyc.win/tags/KMPlayer/ +https://ycyc.win/tags/KODI%E7%A7%91%E8%BF%AA/ +https://ycyc.win/tags/%E6%92%AD%E6%94%BE%E5%99%A8/ +https://ycyc.win/tags/hexo/ +https://ycyc.win/tags/jsdmirror/ +https://ycyc.win/tags/jsdelivr/ +https://ycyc.win/tags/%E5%8A%A0%E9%80%9F/ +https://ycyc.win/tags/tunnel/ +https://ycyc.win/tags/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/ +https://ycyc.win/tags/worker/ +https://ycyc.win/tags/%E9%87%8D%E5%AE%9A%E5%90%91/ +https://ycyc.win/tags/bpb/ +https://ycyc.win/tags/R2/ +https://ycyc.win/tags/S3/ +https://ycyc.win/tags/RaiDrive/ +https://ycyc.win/tags/HTTPS/ +https://ycyc.win/tags/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF/ +https://ycyc.win/tags/%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE/ +https://ycyc.win/tags/dnspod/ +https://ycyc.win/tags/SSL/ +https://ycyc.win/tags/%E5%AE%9D%E5%A1%94/ +https://ycyc.win/tags/%E8%AF%81%E4%B9%A6/ +https://ycyc.win/tags/%E5%B8%83%E7%BA%BF/ +https://ycyc.win/tags/%E8%A3%85%E4%BF%AE/ +https://ycyc.win/tags/%E6%90%AC%E7%93%A6%E5%B7%A5/ +https://ycyc.win/tags/NFS/ +https://ycyc.win/tags/%E5%85%B1%E4%BA%AB/ +https://ycyc.win/tags/godaddy/ +https://ycyc.win/tags/BBR/ +https://ycyc.win/tags/SSR/ +https://ycyc.win/tags/%E9%85%B8%E9%85%B8%E4%B9%B3/ +https://ycyc.win/tags/%E9%98%B2%E7%81%AB%E5%A2%99/ +https://ycyc.win/tags/serv00/ +https://ycyc.win/tags/PM2/ +https://ycyc.win/tags/%E4%BF%9D%E6%B4%BB/ +https://ycyc.win/categories/%E7%BD%91%E7%BB%9C/ +https://ycyc.win/categories/HEXO/ +https://ycyc.win/categories/HomeAssistant/ +https://ycyc.win/categories/%E5%8F%A8%E5%8F%A8/ +https://ycyc.win/categories/%E5%BA%94%E7%94%A8/ +https://ycyc.win/categories/%E5%BD%B1%E9%9F%B3/ diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000000..a202292c3d --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3313 @@ + + + + + https://ycyc.win/posts/39032.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/12783.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/21876.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/2895.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/39533.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/26090.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/38710.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/54996.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/categories/index.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/drafts/%E6%94%B6%E8%97%8F%E5%85%AC%E7%9B%8Acdn%E8%8A%82%E7%82%B9.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/link/index.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/links/index.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/tags/index.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/about/tongji/index.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/40723.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/20537.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/18367.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/56765.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/32581.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/63379.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/62297.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/48504.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/25411.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/248.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/9027.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/57995.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/2878.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/62343.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/21117.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/6425.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/24372.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/2353.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/2192.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/59730.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/7119.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/posts/41924.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/404.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/drafts/serv00%20%E6%90%AD%E5%BB%BAfrp%E6%9C%8D%E5%8A%A1%E8%AE%B0%E5%BD%95.html + + 2024-11-07 + + monthly + 0.6 + + + + https://ycyc.win/about/node/index.html + + 2024-11-06 + + monthly + 0.6 + + + + https://ycyc.win/about/link/index.html + + 2024-11-05 + + monthly + 0.6 + + + + https://ycyc.win/posts/63727.html + + 2024-11-04 + + monthly + 0.6 + + + + https://ycyc.win/posts/56316.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/36865.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/45210.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/53352.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/64780.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/5754.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/28746.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/6049.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/38617.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/34659.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/42924.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/48882.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/16289.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/3682.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/34605.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/49923.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/63397.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/20287.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/468.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/29347.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/46714.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/56073.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/26602.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/42324.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/56597.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/49189.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/10805.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/51237.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/14057.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/47723.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/64128.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/2448.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/58542.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/26860.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/10203.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/52498.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/40322.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/60877.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/12103.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/13021.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/16783.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/23630.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/55749.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/11923.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/21296.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/24992.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/4496.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/34873.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/7079.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/56961.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/49575.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/29347.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/40252.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/26009.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/26864.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/59409.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/59600.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/33186.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/52176.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/27488.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/7120.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/27341.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/28478.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/60215.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/16982.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/29037.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/39287.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/50351.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/44514.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/54954.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/10394.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/5098.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/11416.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/58386.html + + 2024-11-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/9909.html + + 2024-11-01 + + monthly + 0.6 + + + + https://ycyc.win/drafts/%E5%8F%8C11%E6%99%92%E5%8D%95.html + + 2024-10-31 + + monthly + 0.6 + + + + https://ycyc.win/posts/64365.html + + 2024-10-31 + + monthly + 0.6 + + + + https://ycyc.win/posts/49729.html + + 2024-10-30 + + monthly + 0.6 + + + + https://ycyc.win/drafts/Discord%E9%82%80%E8%AF%B7%E9%93%BE%E6%8E%A5.html + + 2024-10-29 + + monthly + 0.6 + + + + https://ycyc.win/posts/49200.html + + 2024-10-29 + + monthly + 0.6 + + + + https://ycyc.win/about/index.html + + 2024-10-19 + + monthly + 0.6 + + + + https://ycyc.win/posts/1316.html + + 2024-10-19 + + monthly + 0.6 + + + + https://ycyc.win/posts/30251.html + + 2024-10-18 + + monthly + 0.6 + + + + https://ycyc.win/posts/33470.html + + 2024-10-15 + + monthly + 0.6 + + + + https://ycyc.win/posts/5954.html + + 2024-10-15 + + monthly + 0.6 + + + + https://ycyc.win/posts/32581.html + + 2024-10-14 + + monthly + 0.6 + + + + https://ycyc.win/posts/7811.html + + 2024-10-13 + + monthly + 0.6 + + + + https://ycyc.win/memos/index.html + + 2024-10-13 + + monthly + 0.6 + + + + https://ycyc.win/drafts/PM2%E5%AE%88%E6%8A%A4.html + + 2024-10-13 + + monthly + 0.6 + + + + https://ycyc.win/posts/55722.html + + 2024-10-12 + + monthly + 0.6 + + + + https://ycyc.win/posts/36597.html + + 2024-10-11 + + monthly + 0.6 + + + + https://ycyc.win/posts/44166.html + + 2024-10-10 + + monthly + 0.6 + + + + https://ycyc.win/posts/7421.html + + 2024-10-10 + + monthly + 0.6 + + + + https://ycyc.win/posts/30452.html + + 2024-10-10 + + monthly + 0.6 + + + + https://ycyc.win/posts/11994.html + + 2024-10-10 + + monthly + 0.6 + + + + https://ycyc.win/posts/52893.html + + 2024-10-10 + + monthly + 0.6 + + + + https://ycyc.win/posts/36618.html + + 2024-10-09 + + monthly + 0.6 + + + + https://ycyc.win/drafts/index.html + + 2024-10-09 + + monthly + 0.6 + + + + https://ycyc.win/posts/39778.html + + 2024-10-09 + + monthly + 0.6 + + + + https://ycyc.win/about/cdn/index.html + + 2024-10-09 + + monthly + 0.6 + + + + https://ycyc.win/drafts/%E8%BF%91%E6%9C%9F%E8%A7%82%E5%BD%B1.html + + 2024-10-04 + + monthly + 0.6 + + + + https://ycyc.win/about/img/index.html + + 2024-10-03 + + monthly + 0.6 + + + + https://ycyc.win/essay/index.html + + 2024-10-03 + + monthly + 0.6 + + + + https://ycyc.win/posts/37049.html + + 2024-10-02 + + monthly + 0.6 + + + + https://ycyc.win/posts/41234.html + + 2024-10-01 + + monthly + 0.6 + + + + https://ycyc.win/talks/index.html + + 2024-09-29 + + monthly + 0.6 + + + + https://ycyc.win/posts/23533.html + + 2024-09-29 + + monthly + 0.6 + + + + https://ycyc.win/drafts/linter%E6%8F%92%E4%BB%B6.html + + 2024-09-27 + + monthly + 0.6 + + + + https://ycyc.win/posts/13016.html + + 2024-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/60919.html + + 2024-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/6420.html + + 2024-09-25 + + monthly + 0.6 + + + + https://ycyc.win/posts/18268.html + + 2024-09-23 + + monthly + 0.6 + + + + https://ycyc.win/posts/58482.html + + 2024-09-22 + + monthly + 0.6 + + + + https://ycyc.win/posts/46564.html + + 2024-09-21 + + monthly + 0.6 + + + + https://ycyc.win/posts/20185.html + + 2024-09-19 + + monthly + 0.6 + + + + https://ycyc.win/posts/16703.html + + 2024-09-14 + + monthly + 0.6 + + + + https://ycyc.win/posts/37524.html + + 2024-09-14 + + monthly + 0.6 + + + + https://ycyc.win/posts/13691.html + + 2024-09-14 + + monthly + 0.6 + + + + https://ycyc.win/posts/40056.html + + 2024-09-13 + + monthly + 0.6 + + + + https://ycyc.win/about/emoji/index.html + + 2024-09-12 + + monthly + 0.6 + + + + https://ycyc.win/posts/6776.html + + 2024-09-12 + + monthly + 0.6 + + + + https://ycyc.win/posts/45920.html + + 2024-09-11 + + monthly + 0.6 + + + + https://ycyc.win/posts/64809.html + + 2023-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/65048.html + + 2023-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/61790.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/45151.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/31120.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/42824.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/23057.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/35875.html + + 2022-09-26 + + monthly + 0.6 + + + + https://ycyc.win/posts/7251.html + + 2022-04-23 + + monthly + 0.6 + + + + + https://ycyc.win/ + 2024-11-07 + daily + 1.0 + + + + + https://ycyc.win/tags/adguard/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/openwrt/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B9%BF%E5%91%8A/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%97%81%E8%B7%AF%E7%94%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%BA%AC%E4%B8%9C/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/AX1800PRO/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%B7%AF%E7%94%B1%E5%99%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%88%B7%E6%9C%BA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%8D%8E%E7%A1%95/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%9B%BA%E4%BB%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%9F%9F%E5%90%8D/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BD%91%E7%AB%99/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/ycyc/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%98%BF%E9%87%8C%E4%BA%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%BD%AC%E7%A7%BB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/porkbun/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BD%91%E7%BB%9C/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/NAS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/passwall/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/istoreOS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%9B%BE%E5%BA%8A/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/GitHub/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/PicGO/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%A1%A8%E6%83%85/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/emoji/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/HEXO/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/picgo/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%8A%A5%E9%94%99/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/vscode/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/PicGo/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Action/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BC%96%E8%AF%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%8F%91%E5%B8%83/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/markdown/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/valine/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%83%A8%E7%BD%B2/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/github/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/QEXO/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/vercel/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/obsidian/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/linter/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%8F%92%E4%BB%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/alist/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%90%8C%E6%AD%A5/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/webdav/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/HomeAssistant/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/docker/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/N1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/appdaemon/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/UI/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/mqtt/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%8D%8E%E4%B8%BA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B0%8F%E7%B1%B3/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BD%91%E5%85%B3/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/hassbian/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/LINUX/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%AE%89%E8%A3%85/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%A0%91%E8%8E%93%E6%B4%BE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/aqara/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/homeassistant/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%87%AA%E5%8A%A8%E5%8C%96/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/home/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Synology%E7%BE%A4%E6%99%96/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/synology%E7%BE%A4%E6%99%96/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/WOL/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/putty/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/winscp/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Docker/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/frontend/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/device-tracker/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/padavan/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%8F%92%E6%8E%92/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%B8%BF%E9%9B%81/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/orangepi/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/token/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%B1%B3%E5%AE%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%8B%B9%E6%9E%9C/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Macbook/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/AI/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%89%B9%E6%96%AF%E6%8B%89/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Robotaxi/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Tesla/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Robovan/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Follow/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%AE%A2%E9%98%85/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/wordpress/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/SU7/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/SU7Ultra/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B1%BD%E8%BD%A6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%BD%B1%E8%A7%86%E9%A3%93%E9%A3%8E/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%A7%86%E9%A2%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%B8%8B%E6%9E%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Apple/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/iPhone/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Network%E7%BD%91%E7%BB%9C/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/PORNHUB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/VPN/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/VPNHUB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%85%8D%E8%B4%B9/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/OneDrive/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%BE%AE%E8%BD%AF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Daily%E6%88%91%E7%9A%84%E6%97%A5%E5%B8%B8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/IKEA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%AE%9C%E5%AE%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BE%A4%E6%99%96/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Android%E5%AE%89%E5%8D%93/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/HomePod/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%99%BA%E8%83%BD%E9%9F%B3%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%92%AD%E9%85%B7%E4%BA%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%82%AE%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BD%91%E6%98%93/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/macos/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/mac/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/win11/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Cloudflare/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%82%AE%E4%BB%B6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/outlook/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/linux/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/git/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%9F%AD%E9%93%BE%E6%8E%A5/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B8%8A%E6%BE%84/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/L3250/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%89%93%E5%8D%B0%E6%9C%BA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Airprint/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/iOS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/EPSON/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%88%B1%E6%99%AE%E7%94%9F/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/centos/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/DDNS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/DSM/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/OPENVPN/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/L2TP/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/PPTP/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/piclist/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%9B%BE%E7%89%87/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%B8%8A%E4%BC%A0/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BE%8E%E5%8C%BA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/appleID/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%94%AF%E4%BB%98%E5%AE%9D/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/AR9285/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/MAC/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/outline/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/SWAP/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/VPS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/GOOGLE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/youtube/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/android/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%AE%A2%E6%88%B7%E7%AB%AF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/snipaste/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B7%A5%E5%85%B7/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%88%AA%E5%9B%BE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/v2ray/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%B8%8B%E8%BD%BD/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/FS3125s/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%89%AB%E6%8F%8F%E4%BB%AA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%A9%B1%E5%8A%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/ifttt/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/twitter/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%BE%AE%E5%8D%9A/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/J3455/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%B8%BB%E6%9D%BF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%8D%8E%E6%93%8E/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%BB%91%E7%BE%A4%E6%99%96/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%B0%B7%E6%AD%8C%E4%BA%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/nodejs/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/npm/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/KMS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/OFFICE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/windows/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%BF%80%E6%B4%BB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%95%99%E7%A8%8B/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%BF%85%E9%9B%B7/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%BF%9C%E7%A8%8B%E4%B8%8B%E8%BD%BD/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%9D%92%E9%BE%99%E9%9D%A2%E6%9D%BF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%BC%95%E5%AF%BC/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B4%97%E7%99%BD/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B0%8F%E9%9B%85/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%A5%97%E5%A8%83/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/YOUTUBE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B2%B9%E7%AE%A1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/APP/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/smarttube/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%9F%B3%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B0%8F%E7%88%B1%E5%90%8C%E5%AD%A6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/AI%E9%9F%B3%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/iptv/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%81%94%E9%80%9A/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%BB%84%E6%92%AD/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B1%B1%E8%A5%BF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%A4%AA%E5%8E%9F/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%BA%86%E4%BD%99%E5%B9%B4/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%94%B5%E8%A7%86%E5%89%A7/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/BT/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E7%A7%8D%E5%AD%90/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%9F%B3%E4%B9%90/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%A6%99%E6%B8%AF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B8%AF%E4%B9%90/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%88%86%E4%BA%AB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B0%8F%E7%88%B1%E9%9F%B3%E7%AE%B1/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/Xiaomusic/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/IPTV/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/epg/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%B8%8A%E6%BE%84%E8%A7%86%E9%A2%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%9C%BA%E9%A1%B6%E7%9B%92/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/DIY/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/KMPlayer/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/KODI%E7%A7%91%E8%BF%AA/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%92%AD%E6%94%BE%E5%99%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/hexo/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/jsdmirror/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/jsdelivr/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%8A%A0%E9%80%9F/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/tunnel/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/worker/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%87%8D%E5%AE%9A%E5%90%91/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/bpb/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/R2/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/S3/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/RaiDrive/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/HTTPS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/dnspod/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/SSL/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%AE%9D%E5%A1%94/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%AF%81%E4%B9%A6/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%B8%83%E7%BA%BF/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E8%A3%85%E4%BF%AE/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E6%90%AC%E7%93%A6%E5%B7%A5/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/NFS/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E5%85%B1%E4%BA%AB/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/godaddy/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/BBR/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/SSR/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%85%B8%E9%85%B8%E4%B9%B3/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E9%98%B2%E7%81%AB%E5%A2%99/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/serv00/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/PM2/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/tags/%E4%BF%9D%E6%B4%BB/ + 2024-11-07 + weekly + 0.2 + + + + + + https://ycyc.win/categories/%E7%BD%91%E7%BB%9C/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/categories/HEXO/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/categories/HomeAssistant/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/categories/%E5%8F%A8%E5%8F%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/categories/%E5%BA%94%E7%94%A8/ + 2024-11-07 + weekly + 0.2 + + + + https://ycyc.win/categories/%E5%BD%B1%E9%9F%B3/ + 2024-11-07 + weekly + 0.2 + + + diff --git a/tags/AI/index.html b/tags/AI/index.html new file mode 100644 index 0000000000..7688222d80 --- /dev/null +++ b/tags/AI/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: AI | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    AI + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/AI\351\237\263\347\256\261/index.html" "b/tags/AI\351\237\263\347\256\261/index.html" new file mode 100644 index 0000000000..97e266ebfe --- /dev/null +++ "b/tags/AI\351\237\263\347\256\261/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: AI音箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    AI音箱 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/APP/index.html b/tags/APP/index.html new file mode 100644 index 0000000000..06b5a1508c --- /dev/null +++ b/tags/APP/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: APP | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    APP + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/AR9285/index.html b/tags/AR9285/index.html new file mode 100644 index 0000000000..e5ca0af16b --- /dev/null +++ b/tags/AR9285/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: AR9285 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    AR9285 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/AX1800PRO/index.html b/tags/AX1800PRO/index.html new file mode 100644 index 0000000000..4799660701 --- /dev/null +++ b/tags/AX1800PRO/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: AX1800PRO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    AX1800PRO + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Action/index.html b/tags/Action/index.html new file mode 100644 index 0000000000..511a610a5c --- /dev/null +++ b/tags/Action/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Action | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Action + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Airprint/index.html b/tags/Airprint/index.html new file mode 100644 index 0000000000..3e68bf3215 --- /dev/null +++ b/tags/Airprint/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Airprint | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Airprint + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/Android\345\256\211\345\215\223/index.html" "b/tags/Android\345\256\211\345\215\223/index.html" new file mode 100644 index 0000000000..ab273d7f90 --- /dev/null +++ "b/tags/Android\345\256\211\345\215\223/index.html" @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Android安卓 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Android安卓 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Apple/index.html b/tags/Apple/index.html new file mode 100644 index 0000000000..4d3fd8b49a --- /dev/null +++ b/tags/Apple/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Apple | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Apple + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/BBR/index.html b/tags/BBR/index.html new file mode 100644 index 0000000000..2210d2e96b --- /dev/null +++ b/tags/BBR/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: BBR | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    BBR + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/BT/index.html b/tags/BT/index.html new file mode 100644 index 0000000000..c9afad513a --- /dev/null +++ b/tags/BT/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: BT | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    BT + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Cloudflare/index.html b/tags/Cloudflare/index.html new file mode 100644 index 0000000000..486fa3c376 --- /dev/null +++ b/tags/Cloudflare/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Cloudflare | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Cloudflare + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Cloudflare/page/2/index.html b/tags/Cloudflare/page/2/index.html new file mode 100644 index 0000000000..109a515ea5 --- /dev/null +++ b/tags/Cloudflare/page/2/index.html @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Cloudflare | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Cloudflare + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2022 +
    + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/DDNS/index.html b/tags/DDNS/index.html new file mode 100644 index 0000000000..842b776983 --- /dev/null +++ b/tags/DDNS/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: DDNS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    DDNS + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/DIY/index.html b/tags/DIY/index.html new file mode 100644 index 0000000000..8553cd565e --- /dev/null +++ b/tags/DIY/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: DIY | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    DIY + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/DSM/index.html b/tags/DSM/index.html new file mode 100644 index 0000000000..6b9116bd74 --- /dev/null +++ b/tags/DSM/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: DSM | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    DSM + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/Daily\346\210\221\347\232\204\346\227\245\345\270\270/index.html" "b/tags/Daily\346\210\221\347\232\204\346\227\245\345\270\270/index.html" new file mode 100644 index 0000000000..4865e09a22 --- /dev/null +++ "b/tags/Daily\346\210\221\347\232\204\346\227\245\345\270\270/index.html" @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Daily我的日常 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Daily我的日常 + 标签 +

    +
    + + +
    + 2019 +
    + + + + +
    + 2018 +
    + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Docker/index.html b/tags/Docker/index.html new file mode 100644 index 0000000000..30f0785480 --- /dev/null +++ b/tags/Docker/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Docker | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Docker + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/EPSON/index.html b/tags/EPSON/index.html new file mode 100644 index 0000000000..865475ab57 --- /dev/null +++ b/tags/EPSON/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: EPSON | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    EPSON + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/FS3125s/index.html b/tags/FS3125s/index.html new file mode 100644 index 0000000000..a5362de71e --- /dev/null +++ b/tags/FS3125s/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: FS3125s | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    FS3125s + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Follow/index.html b/tags/Follow/index.html new file mode 100644 index 0000000000..c6b50115ee --- /dev/null +++ b/tags/Follow/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Follow | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Follow + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/GOOGLE/index.html b/tags/GOOGLE/index.html new file mode 100644 index 0000000000..856996ce56 --- /dev/null +++ b/tags/GOOGLE/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: GOOGLE | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    GOOGLE + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/GitHub/index.html b/tags/GitHub/index.html new file mode 100644 index 0000000000..4ee97b6a9a --- /dev/null +++ b/tags/GitHub/index.html @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: GitHub | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    GitHub + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + +
    + 2022 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/HEXO/index.html b/tags/HEXO/index.html new file mode 100644 index 0000000000..729a3f4132 --- /dev/null +++ b/tags/HEXO/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: HEXO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    HEXO + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + + + + + +
    + 2022 +
    + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/HTTPS/index.html b/tags/HTTPS/index.html new file mode 100644 index 0000000000..40117e043c --- /dev/null +++ b/tags/HTTPS/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: HTTPS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    HTTPS + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/HomeAssistant/index.html b/tags/HomeAssistant/index.html new file mode 100644 index 0000000000..824c5595b5 --- /dev/null +++ b/tags/HomeAssistant/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: HomeAssistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    HomeAssistant + 标签 +

    +
    + + +
    + 2023 +
    + + + + + + + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/HomePod/index.html b/tags/HomePod/index.html new file mode 100644 index 0000000000..6ad103c747 --- /dev/null +++ b/tags/HomePod/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: HomePod | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    HomePod + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/IKEA/index.html b/tags/IKEA/index.html new file mode 100644 index 0000000000..576a160647 --- /dev/null +++ b/tags/IKEA/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: IKEA | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    IKEA + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/IPTV/index.html b/tags/IPTV/index.html new file mode 100644 index 0000000000..4bb4bf104e --- /dev/null +++ b/tags/IPTV/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: IPTV | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    IPTV + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/J3455/index.html b/tags/J3455/index.html new file mode 100644 index 0000000000..9776ff8895 --- /dev/null +++ b/tags/J3455/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: J3455 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    J3455 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/KMPlayer/index.html b/tags/KMPlayer/index.html new file mode 100644 index 0000000000..0901c2cc87 --- /dev/null +++ b/tags/KMPlayer/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: KMPlayer | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    KMPlayer + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/KMS/index.html b/tags/KMS/index.html new file mode 100644 index 0000000000..ae01e50cae --- /dev/null +++ b/tags/KMS/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: KMS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    KMS + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/KODI\347\247\221\350\277\252/index.html" "b/tags/KODI\347\247\221\350\277\252/index.html" new file mode 100644 index 0000000000..41c0069ab5 --- /dev/null +++ "b/tags/KODI\347\247\221\350\277\252/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: KODI科迪 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    KODI科迪 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/L2TP/index.html b/tags/L2TP/index.html new file mode 100644 index 0000000000..566f2bbddc --- /dev/null +++ b/tags/L2TP/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: L2TP | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    L2TP + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/L3250/index.html b/tags/L3250/index.html new file mode 100644 index 0000000000..66f728532d --- /dev/null +++ b/tags/L3250/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: L3250 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    L3250 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/LINUX/index.html b/tags/LINUX/index.html new file mode 100644 index 0000000000..18e4762b9d --- /dev/null +++ b/tags/LINUX/index.html @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: LINUX | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    LINUX + 标签 +

    +
    + + +
    + 2020 +
    + + +
    + 2019 +
    + + + + + + +
    + 2018 +
    + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/MAC/index.html b/tags/MAC/index.html new file mode 100644 index 0000000000..d52a1bf590 --- /dev/null +++ b/tags/MAC/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: MAC | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    MAC + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Macbook/index.html b/tags/Macbook/index.html new file mode 100644 index 0000000000..982bf23435 --- /dev/null +++ b/tags/Macbook/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Macbook | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Macbook + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/N1/index.html b/tags/N1/index.html new file mode 100644 index 0000000000..4d6d9c7f8f --- /dev/null +++ b/tags/N1/index.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: N1 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    N1 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2022 +
    + + + + + + +
    + 2021 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/NAS/index.html b/tags/NAS/index.html new file mode 100644 index 0000000000..83312f7fcb --- /dev/null +++ b/tags/NAS/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: NAS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    NAS + 标签 +

    +
    + + +
    + 2022 +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/NFS/index.html b/tags/NFS/index.html new file mode 100644 index 0000000000..09de9f1fa5 --- /dev/null +++ b/tags/NFS/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: NFS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    NFS + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/Network\347\275\221\347\273\234/index.html" "b/tags/Network\347\275\221\347\273\234/index.html" new file mode 100644 index 0000000000..79f19d8864 --- /dev/null +++ "b/tags/Network\347\275\221\347\273\234/index.html" @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Network网络 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Network网络 + 标签 +

    +
    + + +
    + 2019 +
    + + + + +
    + 2018 +
    + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/OFFICE/index.html b/tags/OFFICE/index.html new file mode 100644 index 0000000000..1463e67f85 --- /dev/null +++ b/tags/OFFICE/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: OFFICE | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    OFFICE + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/OPENVPN/index.html b/tags/OPENVPN/index.html new file mode 100644 index 0000000000..e838b3c4b9 --- /dev/null +++ b/tags/OPENVPN/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: OPENVPN | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    OPENVPN + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/OneDrive/index.html b/tags/OneDrive/index.html new file mode 100644 index 0000000000..3f95fb9977 --- /dev/null +++ b/tags/OneDrive/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: OneDrive | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    OneDrive + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/PM2/index.html b/tags/PM2/index.html new file mode 100644 index 0000000000..fa5ba650b3 --- /dev/null +++ b/tags/PM2/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: PM2 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    PM2 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/PORNHUB/index.html b/tags/PORNHUB/index.html new file mode 100644 index 0000000000..74a5e43aa9 --- /dev/null +++ b/tags/PORNHUB/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: PORNHUB | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    PORNHUB + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/PPTP/index.html b/tags/PPTP/index.html new file mode 100644 index 0000000000..f48068b387 --- /dev/null +++ b/tags/PPTP/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: PPTP | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    PPTP + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/PicGO/index.html b/tags/PicGO/index.html new file mode 100644 index 0000000000..f4893c11a0 --- /dev/null +++ b/tags/PicGO/index.html @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: PicGO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    PicGO + 标签 +

    +
    + + +
    + 2024 +
    + + + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/PicGo/index.html b/tags/PicGo/index.html new file mode 100644 index 0000000000..1b5ca8ec60 --- /dev/null +++ b/tags/PicGo/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: PicGo | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    PicGo + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/QEXO/index.html b/tags/QEXO/index.html new file mode 100644 index 0000000000..f2463caed3 --- /dev/null +++ b/tags/QEXO/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: QEXO | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    QEXO + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/R2/index.html b/tags/R2/index.html new file mode 100644 index 0000000000..c817a76abb --- /dev/null +++ b/tags/R2/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: R2 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    R2 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/RaiDrive/index.html b/tags/RaiDrive/index.html new file mode 100644 index 0000000000..3308dc9e5f --- /dev/null +++ b/tags/RaiDrive/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: RaiDrive | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    RaiDrive + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Robotaxi/index.html b/tags/Robotaxi/index.html new file mode 100644 index 0000000000..3237ea1a82 --- /dev/null +++ b/tags/Robotaxi/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Robotaxi | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Robotaxi + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Robovan/index.html b/tags/Robovan/index.html new file mode 100644 index 0000000000..40b59f8975 --- /dev/null +++ b/tags/Robovan/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Robovan | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Robovan + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/S3/index.html b/tags/S3/index.html new file mode 100644 index 0000000000..ea0aae94aa --- /dev/null +++ b/tags/S3/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: S3 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    S3 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SSL/index.html b/tags/SSL/index.html new file mode 100644 index 0000000000..100dfa4865 --- /dev/null +++ b/tags/SSL/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: SSL | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    SSL + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SSR/index.html b/tags/SSR/index.html new file mode 100644 index 0000000000..1179891f87 --- /dev/null +++ b/tags/SSR/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: SSR | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    SSR + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SU7/index.html b/tags/SU7/index.html new file mode 100644 index 0000000000..f98b44b959 --- /dev/null +++ b/tags/SU7/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: SU7 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    SU7 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SU7Ultra/index.html b/tags/SU7Ultra/index.html new file mode 100644 index 0000000000..076657df79 --- /dev/null +++ b/tags/SU7Ultra/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: SU7Ultra | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    SU7Ultra + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SWAP/index.html b/tags/SWAP/index.html new file mode 100644 index 0000000000..f3ec461f3b --- /dev/null +++ b/tags/SWAP/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: SWAP | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    SWAP + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/Synology\347\276\244\346\231\226/index.html" "b/tags/Synology\347\276\244\346\231\226/index.html" new file mode 100644 index 0000000000..7fcff89050 --- /dev/null +++ "b/tags/Synology\347\276\244\346\231\226/index.html" @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Synology群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Synology群晖 + 标签 +

    +
    + + +
    + 2021 +
    + + + + +
    + 2019 +
    + + +
    + 2018 +
    + + + + + + + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/Synology\347\276\244\346\231\226/page/2/index.html" "b/tags/Synology\347\276\244\346\231\226/page/2/index.html" new file mode 100644 index 0000000000..3124bc3efc --- /dev/null +++ "b/tags/Synology\347\276\244\346\231\226/page/2/index.html" @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Synology群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Synology群晖 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Tesla/index.html b/tags/Tesla/index.html new file mode 100644 index 0000000000..1b7f025dfd --- /dev/null +++ b/tags/Tesla/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Tesla | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Tesla + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/UI/index.html b/tags/UI/index.html new file mode 100644 index 0000000000..4a198e9dc8 --- /dev/null +++ b/tags/UI/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: UI | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    UI + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/VPN/index.html b/tags/VPN/index.html new file mode 100644 index 0000000000..0a3ce191af --- /dev/null +++ b/tags/VPN/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: VPN | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    VPN + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/VPNHUB/index.html b/tags/VPNHUB/index.html new file mode 100644 index 0000000000..c61ccd87ab --- /dev/null +++ b/tags/VPNHUB/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: VPNHUB | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    VPNHUB + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/VPS/index.html b/tags/VPS/index.html new file mode 100644 index 0000000000..4d676f7908 --- /dev/null +++ b/tags/VPS/index.html @@ -0,0 +1,517 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: VPS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    VPS + 标签 +

    +
    + + +
    + 2019 +
    + + +
    + 2018 +
    + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/WOL/index.html b/tags/WOL/index.html new file mode 100644 index 0000000000..4b382b9f6e --- /dev/null +++ b/tags/WOL/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: WOL | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    WOL + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/Xiaomusic/index.html b/tags/Xiaomusic/index.html new file mode 100644 index 0000000000..c4a3e1c7a8 --- /dev/null +++ b/tags/Xiaomusic/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: Xiaomusic | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    Xiaomusic + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/YOUTUBE/index.html b/tags/YOUTUBE/index.html new file mode 100644 index 0000000000..567b40fff3 --- /dev/null +++ b/tags/YOUTUBE/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: YOUTUBE | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    YOUTUBE + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/adguard/index.html b/tags/adguard/index.html new file mode 100644 index 0000000000..a9eaa55c02 --- /dev/null +++ b/tags/adguard/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: adguard | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    adguard + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/alist/index.html b/tags/alist/index.html new file mode 100644 index 0000000000..c22406fe0a --- /dev/null +++ b/tags/alist/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: alist | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    alist + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/android/index.html b/tags/android/index.html new file mode 100644 index 0000000000..840c60fbf4 --- /dev/null +++ b/tags/android/index.html @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: android | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    android + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/appdaemon/index.html b/tags/appdaemon/index.html new file mode 100644 index 0000000000..eeda4f486e --- /dev/null +++ b/tags/appdaemon/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: appdaemon | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    appdaemon + 标签 +

    +
    + + +
    + 2023 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/appleID/index.html b/tags/appleID/index.html new file mode 100644 index 0000000000..fcfbf19f86 --- /dev/null +++ b/tags/appleID/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: appleID | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    appleID + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/aqara/index.html b/tags/aqara/index.html new file mode 100644 index 0000000000..24218fb8f0 --- /dev/null +++ b/tags/aqara/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: aqara | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    aqara + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/bpb/index.html b/tags/bpb/index.html new file mode 100644 index 0000000000..420f438bac --- /dev/null +++ b/tags/bpb/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: bpb | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    bpb + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/centos/index.html b/tags/centos/index.html new file mode 100644 index 0000000000..02a7afd1e2 --- /dev/null +++ b/tags/centos/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: centos | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    centos + 标签 +

    +
    + + +
    + 2022 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/device-tracker/index.html b/tags/device-tracker/index.html new file mode 100644 index 0000000000..31a98139ae --- /dev/null +++ b/tags/device-tracker/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: device_tracker | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    device_tracker + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/dnspod/index.html b/tags/dnspod/index.html new file mode 100644 index 0000000000..ec6db74dd7 --- /dev/null +++ b/tags/dnspod/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: dnspod | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    dnspod + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/docker/index.html b/tags/docker/index.html new file mode 100644 index 0000000000..a36b58178f --- /dev/null +++ b/tags/docker/index.html @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: docker | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    docker + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + + + +
    + 2023 +
    + + + + +
    + 2022 +
    + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/docker/page/2/index.html b/tags/docker/page/2/index.html new file mode 100644 index 0000000000..6e3c35612c --- /dev/null +++ b/tags/docker/page/2/index.html @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: docker | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    docker + 标签 +

    +
    + + +
    + 2022 +
    + + + + +
    + 2018 +
    + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/emoji/index.html b/tags/emoji/index.html new file mode 100644 index 0000000000..525c5aea77 --- /dev/null +++ b/tags/emoji/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: emoji | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    emoji + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/epg/index.html b/tags/epg/index.html new file mode 100644 index 0000000000..a33b09d3c8 --- /dev/null +++ b/tags/epg/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: epg | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    epg + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/frontend/index.html b/tags/frontend/index.html new file mode 100644 index 0000000000..527aab899a --- /dev/null +++ b/tags/frontend/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: frontend | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    frontend + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/git/index.html b/tags/git/index.html new file mode 100644 index 0000000000..ae93cd3fd6 --- /dev/null +++ b/tags/git/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: git | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    git + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/github/index.html b/tags/github/index.html new file mode 100644 index 0000000000..f3d6085a2b --- /dev/null +++ b/tags/github/index.html @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: github | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    github + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2022 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/godaddy/index.html b/tags/godaddy/index.html new file mode 100644 index 0000000000..7930398265 --- /dev/null +++ b/tags/godaddy/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: godaddy | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    godaddy + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/hassbian/index.html b/tags/hassbian/index.html new file mode 100644 index 0000000000..9c329fa090 --- /dev/null +++ b/tags/hassbian/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: hassbian | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    hassbian + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/hexo/index.html b/tags/hexo/index.html new file mode 100644 index 0000000000..4822e4c2aa --- /dev/null +++ b/tags/hexo/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: hexo | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    hexo + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/home/index.html b/tags/home/index.html new file mode 100644 index 0000000000..f08ad62f18 --- /dev/null +++ b/tags/home/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: home | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    home + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/homeassistant/index.html b/tags/homeassistant/index.html new file mode 100644 index 0000000000..dd1426d6e7 --- /dev/null +++ b/tags/homeassistant/index.html @@ -0,0 +1,560 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: homeassistant | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    homeassistant + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2019 +
    + + + + +
    + 2018 +
    + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/iOS/index.html b/tags/iOS/index.html new file mode 100644 index 0000000000..ec53ab5f55 --- /dev/null +++ b/tags/iOS/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: iOS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    iOS + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/iPhone/index.html b/tags/iPhone/index.html new file mode 100644 index 0000000000..bb6869fc22 --- /dev/null +++ b/tags/iPhone/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: iPhone | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    iPhone + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/ifttt/index.html b/tags/ifttt/index.html new file mode 100644 index 0000000000..9d2acd987b --- /dev/null +++ b/tags/ifttt/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: ifttt | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    ifttt + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000000..262f1c02f9 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签 | 渊澄 + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + +

    标签 +

    + + + +
    + + + + +
    +
    + 目前共计 244 个标签 +
    +
    + AI AI音箱 APP AR9285 AX1800PRO Action Airprint Android安卓 Apple BBR BT Cloudflare DDNS DIY DSM Daily我的日常 Docker EPSON FS3125s Follow GOOGLE GitHub HEXO HTTPS HomeAssistant HomePod IKEA IPTV J3455 KMPlayer KMS KODI科迪 L2TP L3250 LINUX MAC Macbook N1 NAS NFS Network网络 OFFICE OPENVPN OneDrive PM2 PORNHUB PPTP PicGO PicGo QEXO R2 RaiDrive Robotaxi Robovan S3 SSL SSR SU7 SU7Ultra SWAP Synology群晖 Tesla UI VPN VPNHUB VPS WOL Xiaomusic YOUTUBE adguard alist android appdaemon appleID aqara bpb centos device_tracker dnspod docker emoji epg frontend git github godaddy hassbian hexo home homeassistant iOS iPhone ifttt iptv istoreOS jsdelivr jsdmirror linter linux mac macos markdown mqtt nodejs npm obsidian openwrt orangepi outline outlook padavan passwall picgo piclist porkbun putty serv00 smarttube snipaste synology群晖 token tunnel twitter v2ray valine vercel vscode webdav win11 windows winscp wordpress worker ycyc youtube 上传 下架 下载 主板 京东 企业邮箱 保活 免费 共享 内网穿透 分享 刷机 加速 华为 华擎 华硕 发布 同步 固件 图床 图片 域名 太原 套娃 安装 宜家 宝塔 宝塔面板 客户端 小爱同学 小爱音箱 小米 小雅 山西 工具 布线 广告 庆余年 引导 影视飓风 微博 微软 截图 打印机 扫描仪 报错 插件 插排 搬瓦工 播放器 播酷云 支付宝 教程 旁路由 智能家居 智能音箱 服务器 机顶盒 树莓派 汽车 油管 洗白 渊澄 渊澄视频 港乐 +
    +
    + +
    + + + +
    + + + + + +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/iptv/index.html b/tags/iptv/index.html new file mode 100644 index 0000000000..f443f1e3cd --- /dev/null +++ b/tags/iptv/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: iptv | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    iptv + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/istoreOS/index.html b/tags/istoreOS/index.html new file mode 100644 index 0000000000..109bae619b --- /dev/null +++ b/tags/istoreOS/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: istoreOS | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    istoreOS + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/jsdelivr/index.html b/tags/jsdelivr/index.html new file mode 100644 index 0000000000..211c932cd1 --- /dev/null +++ b/tags/jsdelivr/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: jsdelivr | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    jsdelivr + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/jsdmirror/index.html b/tags/jsdmirror/index.html new file mode 100644 index 0000000000..b72745a286 --- /dev/null +++ b/tags/jsdmirror/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: jsdmirror | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    jsdmirror + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/linter/index.html b/tags/linter/index.html new file mode 100644 index 0000000000..e07418ba81 --- /dev/null +++ b/tags/linter/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: linter | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    linter + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/linux/index.html b/tags/linux/index.html new file mode 100644 index 0000000000..88d71d170a --- /dev/null +++ b/tags/linux/index.html @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: linux | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    linux + 标签 +

    +
    + + +
    + 2022 +
    + + + + +
    + 2020 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/mac/index.html b/tags/mac/index.html new file mode 100644 index 0000000000..151f7dc81f --- /dev/null +++ b/tags/mac/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: mac | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    mac + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/macos/index.html b/tags/macos/index.html new file mode 100644 index 0000000000..7aeae3cf43 --- /dev/null +++ b/tags/macos/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: macos | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    macos + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/markdown/index.html b/tags/markdown/index.html new file mode 100644 index 0000000000..65bf561d5f --- /dev/null +++ b/tags/markdown/index.html @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: markdown | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    markdown + 标签 +

    +
    + + +
    + 2024 +
    + + + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/mqtt/index.html b/tags/mqtt/index.html new file mode 100644 index 0000000000..cfa1401ddc --- /dev/null +++ b/tags/mqtt/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: mqtt | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    mqtt + 标签 +

    +
    + + +
    + 2023 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/nodejs/index.html b/tags/nodejs/index.html new file mode 100644 index 0000000000..f8addaee2d --- /dev/null +++ b/tags/nodejs/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: nodejs | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    nodejs + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/npm/index.html b/tags/npm/index.html new file mode 100644 index 0000000000..a236a0ccd1 --- /dev/null +++ b/tags/npm/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: npm | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    npm + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/obsidian/index.html b/tags/obsidian/index.html new file mode 100644 index 0000000000..3886fd29c6 --- /dev/null +++ b/tags/obsidian/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: obsidian | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    obsidian + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/openwrt/index.html b/tags/openwrt/index.html new file mode 100644 index 0000000000..a93b8350f6 --- /dev/null +++ b/tags/openwrt/index.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: openwrt | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    openwrt + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + +
    + 2023 +
    + + + + +
    + 2022 +
    + + + + +
    + 2021 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/orangepi/index.html b/tags/orangepi/index.html new file mode 100644 index 0000000000..584fed25ce --- /dev/null +++ b/tags/orangepi/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: orangepi | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    orangepi + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/outline/index.html b/tags/outline/index.html new file mode 100644 index 0000000000..def934bd2b --- /dev/null +++ b/tags/outline/index.html @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: outline | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    outline + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/outlook/index.html b/tags/outlook/index.html new file mode 100644 index 0000000000..745356e532 --- /dev/null +++ b/tags/outlook/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: outlook | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    outlook + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/padavan/index.html b/tags/padavan/index.html new file mode 100644 index 0000000000..cb7f5dafbd --- /dev/null +++ b/tags/padavan/index.html @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: padavan | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    padavan + 标签 +

    +
    + + +
    + 2019 +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/passwall/index.html b/tags/passwall/index.html new file mode 100644 index 0000000000..590eaeba67 --- /dev/null +++ b/tags/passwall/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: passwall | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    passwall + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/picgo/index.html b/tags/picgo/index.html new file mode 100644 index 0000000000..d2c1cb17c6 --- /dev/null +++ b/tags/picgo/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: picgo | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    picgo + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/piclist/index.html b/tags/piclist/index.html new file mode 100644 index 0000000000..db7b1bfedd --- /dev/null +++ b/tags/piclist/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: piclist | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    piclist + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/porkbun/index.html b/tags/porkbun/index.html new file mode 100644 index 0000000000..bc95fd9f9e --- /dev/null +++ b/tags/porkbun/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: porkbun | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    porkbun + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/putty/index.html b/tags/putty/index.html new file mode 100644 index 0000000000..2d38e9e9f3 --- /dev/null +++ b/tags/putty/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: putty | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    putty + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/serv00/index.html b/tags/serv00/index.html new file mode 100644 index 0000000000..5c4fe01064 --- /dev/null +++ b/tags/serv00/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: serv00 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    serv00 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/smarttube/index.html b/tags/smarttube/index.html new file mode 100644 index 0000000000..28661a87df --- /dev/null +++ b/tags/smarttube/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: smarttube | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    smarttube + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/snipaste/index.html b/tags/snipaste/index.html new file mode 100644 index 0000000000..d2fc821a35 --- /dev/null +++ b/tags/snipaste/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: snipaste | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    snipaste + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/synology\347\276\244\346\231\226/index.html" "b/tags/synology\347\276\244\346\231\226/index.html" new file mode 100644 index 0000000000..c7b58c6ce6 --- /dev/null +++ "b/tags/synology\347\276\244\346\231\226/index.html" @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: synology群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    synology群晖 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/token/index.html b/tags/token/index.html new file mode 100644 index 0000000000..24b73b5c52 --- /dev/null +++ b/tags/token/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: token | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    token + 标签 +

    +
    + + +
    + 2022 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/tunnel/index.html b/tags/tunnel/index.html new file mode 100644 index 0000000000..0a0c57aac1 --- /dev/null +++ b/tags/tunnel/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: tunnel | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    tunnel + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/twitter/index.html b/tags/twitter/index.html new file mode 100644 index 0000000000..50fd476d04 --- /dev/null +++ b/tags/twitter/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: twitter | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    twitter + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/v2ray/index.html b/tags/v2ray/index.html new file mode 100644 index 0000000000..3b5ddc125d --- /dev/null +++ b/tags/v2ray/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: v2ray | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    v2ray + 标签 +

    +
    + + +
    + 2020 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/valine/index.html b/tags/valine/index.html new file mode 100644 index 0000000000..ef56e0e88b --- /dev/null +++ b/tags/valine/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: valine | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    valine + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/vercel/index.html b/tags/vercel/index.html new file mode 100644 index 0000000000..023ce6b8bd --- /dev/null +++ b/tags/vercel/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: vercel | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    vercel + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/vscode/index.html b/tags/vscode/index.html new file mode 100644 index 0000000000..1f6eb6708b --- /dev/null +++ b/tags/vscode/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: vscode | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    vscode + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/webdav/index.html b/tags/webdav/index.html new file mode 100644 index 0000000000..bbe7b07b97 --- /dev/null +++ b/tags/webdav/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: webdav | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    webdav + 标签 +

    +
    + + +
    + 2024 +
    + + + + +
    + 2022 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/win11/index.html b/tags/win11/index.html new file mode 100644 index 0000000000..b72fe93d46 --- /dev/null +++ b/tags/win11/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: win11 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    win11 + 标签 +

    +
    + + +
    + 2022 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/windows/index.html b/tags/windows/index.html new file mode 100644 index 0000000000..3c0c0bdb18 --- /dev/null +++ b/tags/windows/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: windows | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    windows + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/winscp/index.html b/tags/winscp/index.html new file mode 100644 index 0000000000..5655e6d1c0 --- /dev/null +++ b/tags/winscp/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: winscp | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    winscp + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/wordpress/index.html b/tags/wordpress/index.html new file mode 100644 index 0000000000..b5ccdeafbc --- /dev/null +++ b/tags/wordpress/index.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: wordpress | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    wordpress + 标签 +

    +
    + + +
    + 2024 +
    + + + + +
    + 2021 +
    + + + + +
    + 2018 +
    + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/worker/index.html b/tags/worker/index.html new file mode 100644 index 0000000000..43e4589fa1 --- /dev/null +++ b/tags/worker/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: worker | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    worker + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/ycyc/index.html b/tags/ycyc/index.html new file mode 100644 index 0000000000..2face564fc --- /dev/null +++ b/tags/ycyc/index.html @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: ycyc | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    ycyc + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/youtube/index.html b/tags/youtube/index.html new file mode 100644 index 0000000000..140ba94fdd --- /dev/null +++ b/tags/youtube/index.html @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: youtube | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    youtube + 标签 +

    +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\270\212\344\274\240/index.html" "b/tags/\344\270\212\344\274\240/index.html" new file mode 100644 index 0000000000..f0a0810bf0 --- /dev/null +++ "b/tags/\344\270\212\344\274\240/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 上传 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    上传 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\270\213\346\236\266/index.html" "b/tags/\344\270\213\346\236\266/index.html" new file mode 100644 index 0000000000..b50fb9d154 --- /dev/null +++ "b/tags/\344\270\213\346\236\266/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 下架 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    下架 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\270\213\350\275\275/index.html" "b/tags/\344\270\213\350\275\275/index.html" new file mode 100644 index 0000000000..f4b6e79d13 --- /dev/null +++ "b/tags/\344\270\213\350\275\275/index.html" @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    下载 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2020 +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\270\273\346\235\277/index.html" "b/tags/\344\270\273\346\235\277/index.html" new file mode 100644 index 0000000000..d45d9bf292 --- /dev/null +++ "b/tags/\344\270\273\346\235\277/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 主板 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    主板 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\272\254\344\270\234/index.html" "b/tags/\344\272\254\344\270\234/index.html" new file mode 100644 index 0000000000..0ce4836610 --- /dev/null +++ "b/tags/\344\272\254\344\270\234/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 京东 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    京东 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\274\201\344\270\232\351\202\256\347\256\261/index.html" "b/tags/\344\274\201\344\270\232\351\202\256\347\256\261/index.html" new file mode 100644 index 0000000000..036f30eaa1 --- /dev/null +++ "b/tags/\344\274\201\344\270\232\351\202\256\347\256\261/index.html" @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 企业邮箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    企业邮箱 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\344\277\235\346\264\273/index.html" "b/tags/\344\277\235\346\264\273/index.html" new file mode 100644 index 0000000000..6ecfa55d96 --- /dev/null +++ "b/tags/\344\277\235\346\264\273/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 保活 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    保活 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\205\215\350\264\271/index.html" "b/tags/\345\205\215\350\264\271/index.html" new file mode 100644 index 0000000000..b7168d9e7d --- /dev/null +++ "b/tags/\345\205\215\350\264\271/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 免费 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    免费 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\205\261\344\272\253/index.html" "b/tags/\345\205\261\344\272\253/index.html" new file mode 100644 index 0000000000..274ece0107 --- /dev/null +++ "b/tags/\345\205\261\344\272\253/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 共享 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    共享 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\206\205\347\275\221\347\251\277\351\200\217/index.html" "b/tags/\345\206\205\347\275\221\347\251\277\351\200\217/index.html" new file mode 100644 index 0000000000..ff869c5033 --- /dev/null +++ "b/tags/\345\206\205\347\275\221\347\251\277\351\200\217/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 内网穿透 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    内网穿透 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\210\206\344\272\253/index.html" "b/tags/\345\210\206\344\272\253/index.html" new file mode 100644 index 0000000000..84b2c372fd --- /dev/null +++ "b/tags/\345\210\206\344\272\253/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 分享 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    分享 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\210\267\346\234\272/index.html" "b/tags/\345\210\267\346\234\272/index.html" new file mode 100644 index 0000000000..d41ce66f3a --- /dev/null +++ "b/tags/\345\210\267\346\234\272/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 刷机 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    刷机 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\212\240\351\200\237/index.html" "b/tags/\345\212\240\351\200\237/index.html" new file mode 100644 index 0000000000..102c741c7d --- /dev/null +++ "b/tags/\345\212\240\351\200\237/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 加速 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    加速 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\215\216\344\270\272/index.html" "b/tags/\345\215\216\344\270\272/index.html" new file mode 100644 index 0000000000..902beda643 --- /dev/null +++ "b/tags/\345\215\216\344\270\272/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 华为 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    华为 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\215\216\346\223\216/index.html" "b/tags/\345\215\216\346\223\216/index.html" new file mode 100644 index 0000000000..f2833671de --- /dev/null +++ "b/tags/\345\215\216\346\223\216/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 华擎 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    华擎 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\215\216\347\241\225/index.html" "b/tags/\345\215\216\347\241\225/index.html" new file mode 100644 index 0000000000..fcfba83f33 --- /dev/null +++ "b/tags/\345\215\216\347\241\225/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 华硕 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    华硕 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\217\221\345\270\203/index.html" "b/tags/\345\217\221\345\270\203/index.html" new file mode 100644 index 0000000000..fd3f157e3f --- /dev/null +++ "b/tags/\345\217\221\345\270\203/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 发布 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    发布 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\220\214\346\255\245/index.html" "b/tags/\345\220\214\346\255\245/index.html" new file mode 100644 index 0000000000..bda39be6ba --- /dev/null +++ "b/tags/\345\220\214\346\255\245/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 同步 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    同步 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\233\272\344\273\266/index.html" "b/tags/\345\233\272\344\273\266/index.html" new file mode 100644 index 0000000000..be9b789350 --- /dev/null +++ "b/tags/\345\233\272\344\273\266/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 固件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    固件 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\233\276\345\272\212/index.html" "b/tags/\345\233\276\345\272\212/index.html" new file mode 100644 index 0000000000..d4c2cdb297 --- /dev/null +++ "b/tags/\345\233\276\345\272\212/index.html" @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 图床 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    图床 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + +
    + 2023 +
    + + +
    + 2022 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\233\276\347\211\207/index.html" "b/tags/\345\233\276\347\211\207/index.html" new file mode 100644 index 0000000000..bf7c4806cb --- /dev/null +++ "b/tags/\345\233\276\347\211\207/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 图片 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    图片 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\237\237\345\220\215/index.html" "b/tags/\345\237\237\345\220\215/index.html" new file mode 100644 index 0000000000..679bd240a3 --- /dev/null +++ "b/tags/\345\237\237\345\220\215/index.html" @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 域名 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    域名 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + +
    + 2019 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\244\252\345\216\237/index.html" "b/tags/\345\244\252\345\216\237/index.html" new file mode 100644 index 0000000000..9315cf4d89 --- /dev/null +++ "b/tags/\345\244\252\345\216\237/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 太原 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    太原 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\245\227\345\250\203/index.html" "b/tags/\345\245\227\345\250\203/index.html" new file mode 100644 index 0000000000..0a028ba502 --- /dev/null +++ "b/tags/\345\245\227\345\250\203/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 套娃 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    套娃 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\256\211\350\243\205/index.html" "b/tags/\345\256\211\350\243\205/index.html" new file mode 100644 index 0000000000..415cd7dbff --- /dev/null +++ "b/tags/\345\256\211\350\243\205/index.html" @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 安装 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    安装 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\256\234\345\256\266/index.html" "b/tags/\345\256\234\345\256\266/index.html" new file mode 100644 index 0000000000..97f913ad14 --- /dev/null +++ "b/tags/\345\256\234\345\256\266/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 宜家 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    宜家 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\256\235\345\241\224/index.html" "b/tags/\345\256\235\345\241\224/index.html" new file mode 100644 index 0000000000..b1248f3df7 --- /dev/null +++ "b/tags/\345\256\235\345\241\224/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 宝塔 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    宝塔 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\256\235\345\241\224\351\235\242\346\235\277/index.html" "b/tags/\345\256\235\345\241\224\351\235\242\346\235\277/index.html" new file mode 100644 index 0000000000..01f798c6b1 --- /dev/null +++ "b/tags/\345\256\235\345\241\224\351\235\242\346\235\277/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 宝塔面板 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    宝塔面板 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\256\242\346\210\267\347\253\257/index.html" "b/tags/\345\256\242\346\210\267\347\253\257/index.html" new file mode 100644 index 0000000000..ad69411e9a --- /dev/null +++ "b/tags/\345\256\242\346\210\267\347\253\257/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 客户端 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    客户端 + 标签 +

    +
    + + +
    + 2020 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\260\217\347\210\261\345\220\214\345\255\246/index.html" "b/tags/\345\260\217\347\210\261\345\220\214\345\255\246/index.html" new file mode 100644 index 0000000000..1ff7740314 --- /dev/null +++ "b/tags/\345\260\217\347\210\261\345\220\214\345\255\246/index.html" @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 小爱同学 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    小爱同学 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\260\217\347\210\261\351\237\263\347\256\261/index.html" "b/tags/\345\260\217\347\210\261\351\237\263\347\256\261/index.html" new file mode 100644 index 0000000000..7cb05cafdb --- /dev/null +++ "b/tags/\345\260\217\347\210\261\351\237\263\347\256\261/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 小爱音箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    小爱音箱 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\260\217\347\261\263/index.html" "b/tags/\345\260\217\347\261\263/index.html" new file mode 100644 index 0000000000..573ea8f0b1 --- /dev/null +++ "b/tags/\345\260\217\347\261\263/index.html" @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 小米 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    小米 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + +
    + 2023 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\260\217\351\233\205/index.html" "b/tags/\345\260\217\351\233\205/index.html" new file mode 100644 index 0000000000..5f7ed284f8 --- /dev/null +++ "b/tags/\345\260\217\351\233\205/index.html" @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 小雅 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    小雅 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\261\261\350\245\277/index.html" "b/tags/\345\261\261\350\245\277/index.html" new file mode 100644 index 0000000000..3cfa6ca0f3 --- /dev/null +++ "b/tags/\345\261\261\350\245\277/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 山西 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    山西 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\267\245\345\205\267/index.html" "b/tags/\345\267\245\345\205\267/index.html" new file mode 100644 index 0000000000..fda7d9d2a3 --- /dev/null +++ "b/tags/\345\267\245\345\205\267/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 工具 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    工具 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\270\203\347\272\277/index.html" "b/tags/\345\270\203\347\272\277/index.html" new file mode 100644 index 0000000000..78b81bd1cc --- /dev/null +++ "b/tags/\345\270\203\347\272\277/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 布线 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    布线 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\271\277\345\221\212/index.html" "b/tags/\345\271\277\345\221\212/index.html" new file mode 100644 index 0000000000..b8a2f99ac7 --- /dev/null +++ "b/tags/\345\271\277\345\221\212/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 广告 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    广告 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\272\206\344\275\231\345\271\264/index.html" "b/tags/\345\272\206\344\275\231\345\271\264/index.html" new file mode 100644 index 0000000000..14f7fa731d --- /dev/null +++ "b/tags/\345\272\206\344\275\231\345\271\264/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 庆余年 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    庆余年 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\274\225\345\257\274/index.html" "b/tags/\345\274\225\345\257\274/index.html" new file mode 100644 index 0000000000..912c811dc2 --- /dev/null +++ "b/tags/\345\274\225\345\257\274/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 引导 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    引导 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\275\261\350\247\206\351\243\223\351\243\216/index.html" "b/tags/\345\275\261\350\247\206\351\243\223\351\243\216/index.html" new file mode 100644 index 0000000000..394a5f9bcd --- /dev/null +++ "b/tags/\345\275\261\350\247\206\351\243\223\351\243\216/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 影视飓风 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    影视飓风 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\276\256\345\215\232/index.html" "b/tags/\345\276\256\345\215\232/index.html" new file mode 100644 index 0000000000..140a6799c4 --- /dev/null +++ "b/tags/\345\276\256\345\215\232/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 微博 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    微博 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\276\256\350\275\257/index.html" "b/tags/\345\276\256\350\275\257/index.html" new file mode 100644 index 0000000000..b4ea8fbf5f --- /dev/null +++ "b/tags/\345\276\256\350\275\257/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 微软 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    微软 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\210\252\345\233\276/index.html" "b/tags/\346\210\252\345\233\276/index.html" new file mode 100644 index 0000000000..981e533f1c --- /dev/null +++ "b/tags/\346\210\252\345\233\276/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 截图 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    截图 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\211\223\345\215\260\346\234\272/index.html" "b/tags/\346\211\223\345\215\260\346\234\272/index.html" new file mode 100644 index 0000000000..a9317006d5 --- /dev/null +++ "b/tags/\346\211\223\345\215\260\346\234\272/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 打印机 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    打印机 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\211\253\346\217\217\344\273\252/index.html" "b/tags/\346\211\253\346\217\217\344\273\252/index.html" new file mode 100644 index 0000000000..53235cf083 --- /dev/null +++ "b/tags/\346\211\253\346\217\217\344\273\252/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 扫描仪 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    扫描仪 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\212\245\351\224\231/index.html" "b/tags/\346\212\245\351\224\231/index.html" new file mode 100644 index 0000000000..6b6167e563 --- /dev/null +++ "b/tags/\346\212\245\351\224\231/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 报错 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    报错 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\217\222\344\273\266/index.html" "b/tags/\346\217\222\344\273\266/index.html" new file mode 100644 index 0000000000..eec406e805 --- /dev/null +++ "b/tags/\346\217\222\344\273\266/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 插件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    插件 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\217\222\346\216\222/index.html" "b/tags/\346\217\222\346\216\222/index.html" new file mode 100644 index 0000000000..087b53fca3 --- /dev/null +++ "b/tags/\346\217\222\346\216\222/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 插排 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    插排 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\220\254\347\223\246\345\267\245/index.html" "b/tags/\346\220\254\347\223\246\345\267\245/index.html" new file mode 100644 index 0000000000..b7f2cda002 --- /dev/null +++ "b/tags/\346\220\254\347\223\246\345\267\245/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 搬瓦工 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    搬瓦工 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\222\255\346\224\276\345\231\250/index.html" "b/tags/\346\222\255\346\224\276\345\231\250/index.html" new file mode 100644 index 0000000000..0de2940e1c --- /dev/null +++ "b/tags/\346\222\255\346\224\276\345\231\250/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 播放器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    播放器 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\222\255\351\205\267\344\272\221/index.html" "b/tags/\346\222\255\351\205\267\344\272\221/index.html" new file mode 100644 index 0000000000..30e4d5d7f6 --- /dev/null +++ "b/tags/\346\222\255\351\205\267\344\272\221/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 播酷云 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    播酷云 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\224\257\344\273\230\345\256\235/index.html" "b/tags/\346\224\257\344\273\230\345\256\235/index.html" new file mode 100644 index 0000000000..8c5b61c6f9 --- /dev/null +++ "b/tags/\346\224\257\344\273\230\345\256\235/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 支付宝 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    支付宝 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\225\231\347\250\213/index.html" "b/tags/\346\225\231\347\250\213/index.html" new file mode 100644 index 0000000000..cb0641cb0e --- /dev/null +++ "b/tags/\346\225\231\347\250\213/index.html" @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 教程 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    教程 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\227\201\350\267\257\347\224\261/index.html" "b/tags/\346\227\201\350\267\257\347\224\261/index.html" new file mode 100644 index 0000000000..75091866b1 --- /dev/null +++ "b/tags/\346\227\201\350\267\257\347\224\261/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 旁路由 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    旁路由 + 标签 +

    +
    + + +
    + 2023 +
    + + +
    + 2021 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\231\272\350\203\275\345\256\266\345\261\205/index.html" "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/index.html" new file mode 100644 index 0000000000..b587391877 --- /dev/null +++ "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/index.html" @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 智能家居 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    智能家居 + 标签 +

    +
    + + +
    + 2023 +
    + + +
    + 2022 +
    + + +
    + 2019 +
    + + + + +
    + 2018 +
    + + + + + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/2/index.html" "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/2/index.html" new file mode 100644 index 0000000000..9a1bed804f --- /dev/null +++ "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/2/index.html" @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 智能家居 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    智能家居 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/3/index.html" "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/3/index.html" new file mode 100644 index 0000000000..d6bc39c5c0 --- /dev/null +++ "b/tags/\346\231\272\350\203\275\345\256\266\345\261\205/page/3/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 智能家居 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    智能家居 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\231\272\350\203\275\351\237\263\347\256\261/index.html" "b/tags/\346\231\272\350\203\275\351\237\263\347\256\261/index.html" new file mode 100644 index 0000000000..4c6f05ef69 --- /dev/null +++ "b/tags/\346\231\272\350\203\275\351\237\263\347\256\261/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 智能音箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    智能音箱 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\234\215\345\212\241\345\231\250/index.html" "b/tags/\346\234\215\345\212\241\345\231\250/index.html" new file mode 100644 index 0000000000..be391365d2 --- /dev/null +++ "b/tags/\346\234\215\345\212\241\345\231\250/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 服务器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    服务器 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\234\272\351\241\266\347\233\222/index.html" "b/tags/\346\234\272\351\241\266\347\233\222/index.html" new file mode 100644 index 0000000000..134c57d9cd --- /dev/null +++ "b/tags/\346\234\272\351\241\266\347\233\222/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 机顶盒 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    机顶盒 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\240\221\350\216\223\346\264\276/index.html" "b/tags/\346\240\221\350\216\223\346\264\276/index.html" new file mode 100644 index 0000000000..f3718ca85f --- /dev/null +++ "b/tags/\346\240\221\350\216\223\346\264\276/index.html" @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 树莓派 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    树莓派 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\261\275\350\275\246/index.html" "b/tags/\346\261\275\350\275\246/index.html" new file mode 100644 index 0000000000..e077f86f89 --- /dev/null +++ "b/tags/\346\261\275\350\275\246/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 汽车 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    汽车 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\262\271\347\256\241/index.html" "b/tags/\346\262\271\347\256\241/index.html" new file mode 100644 index 0000000000..d4b41c25f6 --- /dev/null +++ "b/tags/\346\262\271\347\256\241/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 油管 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    油管 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\264\227\347\231\275/index.html" "b/tags/\346\264\227\347\231\275/index.html" new file mode 100644 index 0000000000..6e88577c33 --- /dev/null +++ "b/tags/\346\264\227\347\231\275/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 洗白 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    洗白 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\270\212\346\276\204/index.html" "b/tags/\346\270\212\346\276\204/index.html" new file mode 100644 index 0000000000..be4ce215c5 --- /dev/null +++ "b/tags/\346\270\212\346\276\204/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 渊澄 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    渊澄 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\270\212\346\276\204\350\247\206\351\242\221/index.html" "b/tags/\346\270\212\346\276\204\350\247\206\351\242\221/index.html" new file mode 100644 index 0000000000..1542fb5e42 --- /dev/null +++ "b/tags/\346\270\212\346\276\204\350\247\206\351\242\221/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 渊澄视频 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    渊澄视频 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\270\257\344\271\220/index.html" "b/tags/\346\270\257\344\271\220/index.html" new file mode 100644 index 0000000000..486c2b25cf --- /dev/null +++ "b/tags/\346\270\257\344\271\220/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 港乐 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    港乐 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\346\277\200\346\264\273/index.html" "b/tags/\346\277\200\346\264\273/index.html" new file mode 100644 index 0000000000..a7bedf889c --- /dev/null +++ "b/tags/\346\277\200\346\264\273/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 激活 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    激活 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\210\261\346\231\256\347\224\237/index.html" "b/tags/\347\210\261\346\231\256\347\224\237/index.html" new file mode 100644 index 0000000000..dddeecbdb4 --- /dev/null +++ "b/tags/\347\210\261\346\231\256\347\224\237/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 爱普生 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    爱普生 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\211\271\346\226\257\346\213\211/index.html" "b/tags/\347\211\271\346\226\257\346\213\211/index.html" new file mode 100644 index 0000000000..d27130baff --- /dev/null +++ "b/tags/\347\211\271\346\226\257\346\213\211/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 特斯拉 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    特斯拉 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\224\265\350\247\206\345\211\247/index.html" "b/tags/\347\224\265\350\247\206\345\211\247/index.html" new file mode 100644 index 0000000000..af5c1e64bf --- /dev/null +++ "b/tags/\347\224\265\350\247\206\345\211\247/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 电视剧 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    电视剧 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\237\255\351\223\276\346\216\245/index.html" "b/tags/\347\237\255\351\223\276\346\216\245/index.html" new file mode 100644 index 0000000000..40978b9ee9 --- /dev/null +++ "b/tags/\347\237\255\351\223\276\346\216\245/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 短链接 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    短链接 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\247\215\345\255\220/index.html" "b/tags/\347\247\215\345\255\220/index.html" new file mode 100644 index 0000000000..e1382612d2 --- /dev/null +++ "b/tags/\347\247\215\345\255\220/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 种子 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    种子 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\261\263\345\256\266/index.html" "b/tags/\347\261\263\345\256\266/index.html" new file mode 100644 index 0000000000..7b03674be5 --- /dev/null +++ "b/tags/\347\261\263\345\256\266/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 米家 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    米家 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\273\204\346\222\255/index.html" "b/tags/\347\273\204\346\222\255/index.html" new file mode 100644 index 0000000000..401740cc80 --- /dev/null +++ "b/tags/\347\273\204\346\222\255/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 组播 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    组播 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\274\226\350\257\221/index.html" "b/tags/\347\274\226\350\257\221/index.html" new file mode 100644 index 0000000000..8d6ed340af --- /dev/null +++ "b/tags/\347\274\226\350\257\221/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 编译 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    编译 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\275\221\345\205\263/index.html" "b/tags/\347\275\221\345\205\263/index.html" new file mode 100644 index 0000000000..7a05fe72e3 --- /dev/null +++ "b/tags/\347\275\221\345\205\263/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 网关 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    网关 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\275\221\346\230\223/index.html" "b/tags/\347\275\221\346\230\223/index.html" new file mode 100644 index 0000000000..de0e364634 --- /dev/null +++ "b/tags/\347\275\221\346\230\223/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 网易 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    网易 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\275\221\347\253\231/index.html" "b/tags/\347\275\221\347\253\231/index.html" new file mode 100644 index 0000000000..8c1bd26a39 --- /dev/null +++ "b/tags/\347\275\221\347\253\231/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 网站 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    网站 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\275\221\347\273\234/index.html" "b/tags/\347\275\221\347\273\234/index.html" new file mode 100644 index 0000000000..c489e1f989 --- /dev/null +++ "b/tags/\347\275\221\347\273\234/index.html" @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 网络 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    网络 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2022 +
    + + +
    + 2018 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\276\216\345\214\272/index.html" "b/tags/\347\276\216\345\214\272/index.html" new file mode 100644 index 0000000000..4b1709b8a2 --- /dev/null +++ "b/tags/\347\276\216\345\214\272/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 美区 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    美区 + 标签 +

    +
    + + +
    + 2023 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\347\276\244\346\231\226/index.html" "b/tags/\347\276\244\346\231\226/index.html" new file mode 100644 index 0000000000..61629a2845 --- /dev/null +++ "b/tags/\347\276\244\346\231\226/index.html" @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    群晖 + 标签 +

    +
    + + +
    + 2024 +
    + + + + +
    + 2022 +
    + + +
    + 2021 +
    + + + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\201\224\351\200\232/index.html" "b/tags/\350\201\224\351\200\232/index.html" new file mode 100644 index 0000000000..68f477a7ff --- /dev/null +++ "b/tags/\350\201\224\351\200\232/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 联通 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    联通 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\207\252\345\212\250\345\214\226/index.html" "b/tags/\350\207\252\345\212\250\345\214\226/index.html" new file mode 100644 index 0000000000..8e67d2185d --- /dev/null +++ "b/tags/\350\207\252\345\212\250\345\214\226/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 自动化 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    自动化 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\213\271\346\236\234/index.html" "b/tags/\350\213\271\346\236\234/index.html" new file mode 100644 index 0000000000..0662880a70 --- /dev/null +++ "b/tags/\350\213\271\346\236\234/index.html" @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 苹果 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    苹果 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + + + + +
    + 2019 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\241\250\346\203\205/index.html" "b/tags/\350\241\250\346\203\205/index.html" new file mode 100644 index 0000000000..b922fef1e0 --- /dev/null +++ "b/tags/\350\241\250\346\203\205/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 表情 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    表情 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\243\205\344\277\256/index.html" "b/tags/\350\243\205\344\277\256/index.html" new file mode 100644 index 0000000000..7c24b7fa54 --- /dev/null +++ "b/tags/\350\243\205\344\277\256/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 装修 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    装修 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\247\206\351\242\221/index.html" "b/tags/\350\247\206\351\242\221/index.html" new file mode 100644 index 0000000000..be6a1accd7 --- /dev/null +++ "b/tags/\350\247\206\351\242\221/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 视频 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    视频 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\256\242\351\230\205/index.html" "b/tags/\350\256\242\351\230\205/index.html" new file mode 100644 index 0000000000..e9384e2b16 --- /dev/null +++ "b/tags/\350\256\242\351\230\205/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 订阅 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    订阅 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\257\201\344\271\246/index.html" "b/tags/\350\257\201\344\271\246/index.html" new file mode 100644 index 0000000000..022d39d5f5 --- /dev/null +++ "b/tags/\350\257\201\344\271\246/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 证书 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    证书 + 标签 +

    +
    + + +
    + 2019 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\260\267\346\255\214\344\272\221/index.html" "b/tags/\350\260\267\346\255\214\344\272\221/index.html" new file mode 100644 index 0000000000..5d9e2889d3 --- /dev/null +++ "b/tags/\350\260\267\346\255\214\344\272\221/index.html" @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 谷歌云 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    谷歌云 + 标签 +

    +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\267\257\347\224\261\345\231\250/index.html" "b/tags/\350\267\257\347\224\261\345\231\250/index.html" new file mode 100644 index 0000000000..c4261bba05 --- /dev/null +++ "b/tags/\350\267\257\347\224\261\345\231\250/index.html" @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 路由器 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    路由器 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2023 +
    + + +
    + 2022 +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\275\254\347\247\273/index.html" "b/tags/\350\275\254\347\247\273/index.html" new file mode 100644 index 0000000000..5740fce16d --- /dev/null +++ "b/tags/\350\275\254\347\247\273/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 转移 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    转移 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\277\205\351\233\267/index.html" "b/tags/\350\277\205\351\233\267/index.html" new file mode 100644 index 0000000000..baff1eca07 --- /dev/null +++ "b/tags/\350\277\205\351\233\267/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 迅雷 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    迅雷 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\277\234\347\250\213\344\270\213\350\275\275/index.html" "b/tags/\350\277\234\347\250\213\344\270\213\350\275\275/index.html" new file mode 100644 index 0000000000..01ab10539d --- /dev/null +++ "b/tags/\350\277\234\347\250\213\344\270\213\350\275\275/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 远程下载 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    远程下载 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\277\234\347\250\213\350\256\277\351\227\256/index.html" "b/tags/\350\277\234\347\250\213\350\256\277\351\227\256/index.html" new file mode 100644 index 0000000000..8a4baffab6 --- /dev/null +++ "b/tags/\350\277\234\347\250\213\350\256\277\351\227\256/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 远程访问 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    远程访问 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\202\256\344\273\266/index.html" "b/tags/\351\202\256\344\273\266/index.html" new file mode 100644 index 0000000000..02319ec7c9 --- /dev/null +++ "b/tags/\351\202\256\344\273\266/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 邮件 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    邮件 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2021 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\202\256\347\256\261/index.html" "b/tags/\351\202\256\347\256\261/index.html" new file mode 100644 index 0000000000..f7f46e8c00 --- /dev/null +++ "b/tags/\351\202\256\347\256\261/index.html" @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 邮箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    邮箱 + 标签 +

    +
    + + +
    + 2024 +
    + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\203\250\347\275\262/index.html" "b/tags/\351\203\250\347\275\262/index.html" new file mode 100644 index 0000000000..368dbdac15 --- /dev/null +++ "b/tags/\351\203\250\347\275\262/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 部署 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    部署 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\205\270\351\205\270\344\271\263/index.html" "b/tags/\351\205\270\351\205\270\344\271\263/index.html" new file mode 100644 index 0000000000..2cdfe108f1 --- /dev/null +++ "b/tags/\351\205\270\351\205\270\344\271\263/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 酸酸乳 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    酸酸乳 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\207\215\345\256\232\345\220\221/index.html" "b/tags/\351\207\215\345\256\232\345\220\221/index.html" new file mode 100644 index 0000000000..5109198dda --- /dev/null +++ "b/tags/\351\207\215\345\256\232\345\220\221/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 重定向 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    重定向 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\230\262\347\201\253\345\242\231/index.html" "b/tags/\351\230\262\347\201\253\345\242\231/index.html" new file mode 100644 index 0000000000..f72afb3252 --- /dev/null +++ "b/tags/\351\230\262\347\201\253\345\242\231/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 防火墙 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    防火墙 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\230\277\351\207\214\344\272\221/index.html" "b/tags/\351\230\277\351\207\214\344\272\221/index.html" new file mode 100644 index 0000000000..5c0a09660f --- /dev/null +++ "b/tags/\351\230\277\351\207\214\344\272\221/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 阿里云 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    阿里云 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\230\277\351\207\214\344\272\221\347\233\230/index.html" "b/tags/\351\230\277\351\207\214\344\272\221\347\233\230/index.html" new file mode 100644 index 0000000000..76b64c1685 --- /dev/null +++ "b/tags/\351\230\277\351\207\214\344\272\221\347\233\230/index.html" @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 阿里云盘 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    阿里云盘 + 标签 +

    +
    + + +
    + 2022 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\235\222\351\276\231\351\235\242\346\235\277/index.html" "b/tags/\351\235\222\351\276\231\351\235\242\346\235\277/index.html" new file mode 100644 index 0000000000..2c8d61de24 --- /dev/null +++ "b/tags/\351\235\222\351\276\231\351\235\242\346\235\277/index.html" @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 青龙面板 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    青龙面板 + 标签 +

    +
    + + +
    + 2024 +
    + + +
    + 2021 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\237\263\344\271\220/index.html" "b/tags/\351\237\263\344\271\220/index.html" new file mode 100644 index 0000000000..db2b0b8839 --- /dev/null +++ "b/tags/\351\237\263\344\271\220/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 音乐 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    音乐 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\237\263\347\256\261/index.html" "b/tags/\351\237\263\347\256\261/index.html" new file mode 100644 index 0000000000..99945a99a7 --- /dev/null +++ "b/tags/\351\237\263\347\256\261/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 音箱 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    音箱 + 标签 +

    +
    + + +
    + 2024 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\246\231\346\270\257/index.html" "b/tags/\351\246\231\346\270\257/index.html" new file mode 100644 index 0000000000..b0fd0d2359 --- /dev/null +++ "b/tags/\351\246\231\346\270\257/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 香港 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    香港 + 标签 +

    +
    + + +
    + 2022 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\251\261\345\212\250/index.html" "b/tags/\351\251\261\345\212\250/index.html" new file mode 100644 index 0000000000..53685e0232 --- /dev/null +++ "b/tags/\351\251\261\345\212\250/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 驱动 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    驱动 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\270\277\351\233\201/index.html" "b/tags/\351\270\277\351\233\201/index.html" new file mode 100644 index 0000000000..6231d9b923 --- /dev/null +++ "b/tags/\351\270\277\351\233\201/index.html" @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 鸿雁 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    鸿雁 + 标签 +

    +
    + + +
    + 2018 +
    + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\351\273\221\347\276\244\346\231\226/index.html" "b/tags/\351\273\221\347\276\244\346\231\226/index.html" new file mode 100644 index 0000000000..e5210681b5 --- /dev/null +++ "b/tags/\351\273\221\347\276\244\346\231\226/index.html" @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +标签: 黑群晖 | 渊澄 + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    +
    +
    +

    黑群晖 + 标签 +

    +
    + + +
    + 2019 +
    + + +
    + 2018 +
    + + + + + + + +
    +
    + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/talks/index.html b/talks/index.html new file mode 100644 index 0000000000..c9762931c0 --- /dev/null +++ b/talks/index.html @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +哔哔哩哩 | 渊澄 + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + +

    渊澄

    + +
    +

    川流不息,渊澄取映

    +
    + + +
    + + + + + + + +
    + +
    + +
    + + + + + +
    + +
    + + + + + +
    + +

    哔哔哩哩 +

    + + + +
    + + + + +
    +
    + + + + +
    + + + +
    + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/upload/97fc088c2e6467982dcd94a4b855f785.png b/upload/97fc088c2e6467982dcd94a4b855f785.png new file mode 100644 index 0000000000..e49a30bf3c Binary files /dev/null and b/upload/97fc088c2e6467982dcd94a4b855f785.png differ diff --git a/upload/favicon.png b/upload/favicon.png new file mode 100644 index 0000000000..f7b5c62073 Binary files /dev/null and b/upload/favicon.png differ diff --git "a/upload/\346\267\273\345\212\240\347\247\244\346\230\216\347\273\206.xlsx" "b/upload/\346\267\273\345\212\240\347\247\244\346\230\216\347\273\206.xlsx" new file mode 100644 index 0000000000..b900f1c293 Binary files /dev/null and "b/upload/\346\267\273\345\212\240\347\247\244\346\230\216\347\273\206.xlsx" differ diff --git a/uploads/memos/LICENSE b/uploads/memos/LICENSE new file mode 100644 index 0000000000..cb4b109a05 --- /dev/null +++ b/uploads/memos/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Keyle Xiao + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/uploads/memos/README.html b/uploads/memos/README.html new file mode 100644 index 0000000000..2fd94dfe5d --- /dev/null +++ b/uploads/memos/README.html @@ -0,0 +1,33 @@ +

    将最新版的memos嵌入hexo

    +

    注意memos的版本号(Version: v0.22.4),我是最近的memos版本。
    +在网上找到的一些js脚本他使用的api是memos旧版的,导致无法获取到memos的数据。这边直接修改js代码使其正常工作。

    +

    网上找了个解决方案,原链接丢了,如您感兴趣可以自行搜索最初的脚本来源,本文仅记录整个js的api升级注意事项。
    +总共需要引入四个脚本,其中三个都是功能脚本,可以尝试找cdn上的源,需要修改的是memos.js脚本,使其兼容最新api。

    +

    +

    修改

    +

    旧版的api使用上面注释的,下面对应的则是修改后的
    +新版缩略图的api很有意思,是在url的最后添加 ?thumbnail=true 与七牛云的api有点类似。

    +
    // var bbUrl = memos + "api/v1/memo?creatorId=" + bbMemo.creatorId + "&rowStatus=NORMAL&limit=" + limit; 
    + 
    +var bbUrl = memos + "api/v1/memos?filter=creator=='users/"+ bbMemo.creatorId + "'&&visibilities=='PUBLIC'&&pageSize=" + limit;
    +
    +//resUrl += '<a target="_blank" rel="noreferrer" href="' + memos + 'o/r/' + resources[j].id + '/' + resources[j].filename + '">' + resources[j].filename + '</a>' 
    +resUrl += '<a target="_blank" rel="noreferrer" href="' + memos + 'flie/' + resources[j].name + '/' + resources[j].filename + '?thumbnail=true">' + resources[j].filename + '</a>' 
    +
    +
    +// imgUrl += '<figure class="gallery-thumbnail"><img class="img thumbnail-image" src="' + memos + 'o/r/' + resources[j].id + '/' + resources[j].filename + '"/></figure>'
    +imgUrl += '<figure class="gallery-thumbnail"><img class="img thumbnail-image" src="' + memos + 'file/' + resources[j].name + '/' + resources[j].filename + '?thumbnail=true"/></figure>'
    + 
    +
    +

    Github地址

    +

    我已经整理好了修改后的脚本并且提交到github了。如果你感兴趣,可以在下面的地址获取所有代码。

    +

    其中 marked.js 我找到一个CDN 替换脚本:

    +
    +

    marked.js -> https://cdn.bootcdn.net/ajax/libs/marked/14.0.0/marked.min.js

    +
    +

    演示地址

    +
    +

    https://vrast.cn/talking/

    +
    +

    效果图

    +

    diff --git a/uploads/memos/index.html b/uploads/memos/index.html new file mode 100644 index 0000000000..1b7c77043c --- /dev/null +++ b/uploads/memos/index.html @@ -0,0 +1,26 @@ +
    +

    title: 最近又记录了一些内容
    +date: 2024-09-04 15:36:16
    +comments: false

    +

    {% raw %}

    +
    +
    + +
    + + + + +
    + + + +{% endraw %} diff --git a/uploads/memos/lately.min.js b/uploads/memos/lately.min.js new file mode 100644 index 0000000000..1e6e74a53b --- /dev/null +++ b/uploads/memos/lately.min.js @@ -0,0 +1,6 @@ +/** + * Lately.min.js 2.5.2 + * MIT License - http://www.opensource.org/licenses/mit-license.php + * https://tokinx.github.io/lately/ + */ +!function(){window.Lately=new function(){var t=this;this.lang={second:"秒",minute:"分钟",hour:"小时",day:"天",month:"个月",year:"年",ago:"前",error:"NaN"};var e=function(e){e=new Date(n(e));var r=new function(){this.second=(Date.now()-e.getTime())/1e3,this.minute=this.second/60,this.hour=this.minute/60,this.day=this.hour/24,this.month=this.day/30,this.year=this.month/12},i=Object.keys(r).reverse().find(function(t){return r[t]>=1});return(i?function(t,e){return Math.floor(t)+e}(r[i],t.lang[i]):t.lang.error)+t.lang.ago},n=function(t){return t=new Date(t&&("number"==typeof t?t:t.replace(/-/g,"/").replace("T"," "))),!isNaN(t.getTime())&&t.getTime()};return{init:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.target,a=void 0===i?"time":i,o=r.lang;o&&(t.lang=o);var u=!0,h=!1,l=void 0;try{for(var s,c=document.querySelectorAll(a)[Symbol.iterator]();!(u=(s=c.next()).done);u=!0){var f=s.value,g=n(f.dateTime)||n(f.title)||n(f.innerHTML)||0;if(!g)return;f.title=new Date(g).toLocaleString(),f.innerHTML=e(g)}}catch(t){h=!0,l=t}finally{try{!u&&c.return&&c.return()}finally{if(h)throw l}}},format:e}}}(); diff --git a/uploads/memos/marked.min.js b/uploads/memos/marked.min.js new file mode 100644 index 0000000000..fcd6c09035 --- /dev/null +++ b/uploads/memos/marked.min.js @@ -0,0 +1,6 @@ +/** + * marked v14.1.1 - a markdown parser + * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).marked={})}(this,(function(e){"use strict";function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function n(t){e.defaults=t}e.defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};const s=/[&<>"']/,r=new RegExp(s.source,"g"),i=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,l=new RegExp(i.source,"g"),o={"&":"&","<":"<",">":">",'"':""","'":"'"},a=e=>o[e];function c(e,t){if(t){if(s.test(e))return e.replace(r,a)}else if(i.test(e))return e.replace(l,a);return e}const h=/(^|[^\[])\^/g;function p(e,t){let n="string"==typeof e?e:e.source;t=t||"";const s={replace:(e,t)=>{let r="string"==typeof t?t:t.source;return r=r.replace(h,"$1"),n=n.replace(e,r),s},getRegex:()=>new RegExp(n,t)};return s}function u(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const k={exec:()=>null};function g(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let s=!1,r=t;for(;--r>=0&&"\\"===n[r];)s=!s;return s?"|":" |"})).split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:f(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const s=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=s.length?e.slice(s.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=f(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:f(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=f(t[0],"\n").split("\n"),n="",s="";const r=[];for(;e.length>0;){let t=!1;const i=[];let l;for(l=0;l/.test(e[l]))i.push(e[l]),t=!0;else{if(t)break;i.push(e[l])}e=e.slice(l);const o=i.join("\n"),a=o.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}\n${o}`:o,s=s?`${s}\n${a}`:a;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,r,!0),this.lexer.state.top=c,0===e.length)break;const h=r[r.length-1];if("code"===h?.type)break;if("blockquote"===h?.type){const t=h,i=t.raw+"\n"+e.join("\n"),l=this.blockquote(i);r[r.length-1]=l,n=n.substring(0,n.length-t.raw.length)+l.raw,s=s.substring(0,s.length-t.text.length)+l.text;break}if("list"!==h?.type);else{const t=h,i=t.raw+"\n"+e.join("\n"),l=this.list(i);r[r.length-1]=l,n=n.substring(0,n.length-h.raw.length)+l.raw,s=s.substring(0,s.length-t.raw.length)+l.raw,e=i.substring(r[r.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:n,tokens:r,text:s}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const s=n.length>1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let l=!1;for(;e;){let n=!1,s="",o="";if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;s=t[0],e=e.substring(s.length);let a=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],h=!a.trim(),p=0;if(this.options.pedantic?(p=2,o=a.trimStart()):h?p=t[1].length+1:(p=t[2].search(/[^ ]/),p=p>4?1:p,o=a.slice(p),p+=t[1].length),h&&/^[ \t]*$/.test(c)&&(s+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),r=new RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,p-1)}}#`);for(;e;){const l=e.split("\n",1)[0];let u;if(c=l,this.options.pedantic?(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," "),u=c):u=c.replace(/\t/g," "),r.test(c))break;if(i.test(c))break;if(t.test(c))break;if(n.test(c))break;if(u.search(/[^ ]/)>=p||!c.trim())o+="\n"+u.slice(p);else{if(h)break;if(a.replace(/\t/g," ").search(/[^ ]/)>=4)break;if(r.test(a))break;if(i.test(a))break;if(n.test(a))break;o+="\n"+c}h||c.trim()||(h=!0),s+=l+"\n",e=e.substring(l.length+1),a=u.slice(p)}}r.loose||(l?r.loose=!0:/\n[ \t]*\n[ \t]*$/.test(s)&&(l=!0));let u,k=null;this.options.gfm&&(k=/^\[[ xX]\] /.exec(o),k&&(u="[ ] "!==k[0],o=o.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:s,task:!!k,checked:u,loose:!1,text:o,tokens:[]}),r.raw+=s}r.items[r.items.length-1].raw=r.items[r.items.length-1].raw.trimEnd(),r.items[r.items.length-1].text=r.items[r.items.length-1].text.trimEnd(),r.raw=r.raw.trimEnd();for(let e=0;e"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));r.loose=n}if(r.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const n=g(t[1]),s=t[2].replace(/^\||\| *$/g,"").split("|"),r=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(const e of s)/^ *-+: *$/.test(e)?i.align.push("right"):/^ *:-+: *$/.test(e)?i.align.push("center"):/^ *:-+ *$/.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]}))));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:c(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=f(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let s=0;s-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],s=e[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),d(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:s?s.replace(this.rules.inline.anyPunctuation,"$1"):s},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return d(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!s)return;if(s[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...s[0]].length-1;let r,i,l=n,o=0;const a="*"===s[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(s=a.exec(t));){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(i=[...r].length,s[3]||s[4]){l+=i;continue}if((s[5]||s[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);const t=[...s[0]][0].length,a=e.slice(0,n+s.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return n&&s&&(e=e.substring(1,e.length-1)),e=c(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=c(t[1]),n="mailto:"+e):(e=c(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=c(t[0]),n="mailto:"+e;else{let s;do{s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(s!==t[0]);e=c(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:c(t[0]),{type:"text",raw:t[0],text:e}}}}const b=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,w=/(?:[*+-]|\d{1,9}[.)])/,m=p(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,w).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),y=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,$=/(?!\s*\])(?:\\.|[^\[\]\\])+/,z=p(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),T=p(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,w).getRegex(),R="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",_=/|$))/,A=p("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",_).replace("tag",R).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),S=p(y).replace("hr",b).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",R).getRegex(),I={blockquote:p(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",S).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:z,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:b,html:A,lheading:m,list:T,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:S,table:k,text:/^[^\n]+/},E=p("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",b).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",R).getRegex(),q={...I,table:E,paragraph:p(y).replace("hr",b).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",R).getRegex()},Z={...I,html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",_).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:k,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:p(y).replace("hr",b).replace("heading"," *#{1,6} *[^\n]").replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},P=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,L=/^( {2,}|\\)\n(?!\s*$)/,v="\\p{P}\\p{S}",Q=p(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,v).getRegex(),B=p(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,v).getRegex(),M=p("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,v).getRegex(),O=p("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,v).getRegex(),j=p(/\\([punct])/,"gu").replace(/punct/g,v).getRegex(),D=p(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),C=p(_).replace("(?:--\x3e|$)","--\x3e").getRegex(),H=p("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",C).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),U=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,X=p(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",U).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),F=p(/^!?\[(label)\]\[(ref)\]/).replace("label",U).replace("ref",$).getRegex(),N=p(/^!?\[(ref)\](?:\[\])?/).replace("ref",$).getRegex(),G={_backpedal:k,anyPunctuation:j,autolink:D,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:L,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:k,emStrongLDelim:B,emStrongRDelimAst:M,emStrongRDelimUnd:O,escape:P,link:X,nolink:N,punctuation:Q,reflink:F,reflinkSearch:p("reflink|nolink(?!\\()","g").replace("reflink",F).replace("nolink",N).getRegex(),tag:H,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\!!(s=n.call({lexer:this},e,t))&&(e=e.substring(s.raw.length),t.push(s),!0)))))if(s=this.tokenizer.space(e))e=e.substring(s.raw.length),1===s.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(s);else if(s=this.tokenizer.code(e))e=e.substring(s.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?t.push(s):(r.raw+="\n"+s.raw,r.text+="\n"+s.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(s=this.tokenizer.fences(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.heading(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.hr(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.blockquote(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.list(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.html(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.def(e))e=e.substring(s.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title}):(r.raw+="\n"+s.raw,r.text+="\n"+s.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(s=this.tokenizer.table(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.lheading(e))e=e.substring(s.raw.length),t.push(s);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startBlock.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(s=this.tokenizer.paragraph(i)))r=t[t.length-1],n&&"paragraph"===r?.type?(r.raw+="\n"+s.raw,r.text+="\n"+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(s),n=i.length!==e.length,e=e.substring(s.raw.length);else if(s=this.tokenizer.text(e))e=e.substring(s.raw.length),r=t[t.length-1],r&&"text"===r.type?(r.raw+="\n"+s.raw,r.text+="\n"+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(s);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,s,r,i,l,o,a=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(a));)a=a.slice(0,i.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(o=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,a,o))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startInline.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(r))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(o=n.raw.slice(-1)),l=!0,s=t[t.length-1],s&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class te{options;parser;constructor(t){this.options=t||e.defaults}space(e){return""}code({text:e,lang:t,escaped:n}){const s=(t||"").match(/^\S*/)?.[0],r=e.replace(/\n$/,"")+"\n";return s?'
    '+(n?r:c(r,!0))+"
    \n":"
    "+(n?r:c(r,!0))+"
    \n"}blockquote({tokens:e}){return`
    \n${this.parser.parse(e)}
    \n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
    \n"}list(e){const t=e.ordered,n=e.start;let s="";for(let t=0;t\n"+s+"\n"}listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • \n`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",n="";for(let t=0;t${s}`),"\n\n"+t+"\n"+s+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){const s=this.parser.parseInline(n),r=u(e);if(null===r)return s;let i='
    ",i}image({href:e,title:t,text:n}){const s=u(e);if(null===s)return n;let r=`${n}{const r=e[s].flat(1/0);n=n.concat(this.walkTokens(r,t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let s=e.renderer.apply(this,t);return!1===s&&(s=n.apply(this,t)),s}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new te(this.defaults);for(const n in e.renderer){if(!(n in t))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;const s=n,r=e.renderer[s],i=t[s];t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new x(this.defaults);for(const n in e.tokenizer){if(!(n in t))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const s=n,r=e.tokenizer[s],i=t[s];t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new re;for(const n in e.hooks){if(!(n in t))throw new Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;const s=n,r=e.hooks[s],i=t[s];re.passThroughHooks.has(n)?t[s]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then((e=>i.call(t,e)));const n=r.call(t,e);return i.call(t,n)}:t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,s=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(s.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ee.lex(e,t??this.defaults)}parser(e,t){return se.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{const s={...n},r={...this.defaults,...s},i=this.onError(!!r.silent,!!r.async);if(!0===this.defaults.async&&!1===s.async)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==t)return i(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));r.hooks&&(r.hooks.options=r,r.hooks.block=e);const l=r.hooks?r.hooks.provideLexer():e?ee.lex:ee.lexInline,o=r.hooks?r.hooks.provideParser():e?se.parse:se.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(t):t).then((e=>l(e,r))).then((e=>r.hooks?r.hooks.processAllTokens(e):e)).then((e=>r.walkTokens?Promise.all(this.walkTokens(e,r.walkTokens)).then((()=>e)):e)).then((e=>o(e,r))).then((e=>r.hooks?r.hooks.postprocess(e):e)).catch(i);try{r.hooks&&(t=r.hooks.preprocess(t));let e=l(t,r);r.hooks&&(e=r.hooks.processAllTokens(e)),r.walkTokens&&this.walkTokens(e,r.walkTokens);let n=o(e,r);return r.hooks&&(n=r.hooks.postprocess(n)),n}catch(e){return i(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+c(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const le=new ie;function oe(e,t){return le.parse(e,t)}oe.options=oe.setOptions=function(e){return le.setOptions(e),oe.defaults=le.defaults,n(oe.defaults),oe},oe.getDefaults=t,oe.defaults=e.defaults,oe.use=function(...e){return le.use(...e),oe.defaults=le.defaults,n(oe.defaults),oe},oe.walkTokens=function(e,t){return le.walkTokens(e,t)},oe.parseInline=le.parseInline,oe.Parser=se,oe.parser=se.parse,oe.Renderer=te,oe.TextRenderer=ne,oe.Lexer=ee,oe.lexer=ee.lex,oe.Tokenizer=x,oe.Hooks=re,oe.parse=oe;const ae=oe.options,ce=oe.setOptions,he=oe.use,pe=oe.walkTokens,ue=oe.parseInline,ke=oe,ge=se.parse,fe=ee.lex;e.Hooks=re,e.Lexer=ee,e.Marked=ie,e.Parser=se,e.Renderer=te,e.TextRenderer=ne,e.Tokenizer=x,e.getDefaults=t,e.lexer=fe,e.marked=oe,e.options=ae,e.parse=ke,e.parseInline=ue,e.parser=ge,e.setOptions=ce,e.use=he,e.walkTokens=pe})); diff --git a/uploads/memos/memos.js b/uploads/memos/memos.js new file mode 100644 index 0000000000..f340093f7c --- /dev/null +++ b/uploads/memos/memos.js @@ -0,0 +1,195 @@ +var bbMemo = { memos: '', limit: '10', creatorId: '101', domId: '#bber',walineUrl:'' } +if (typeof (bbMemos) !== "undefined") { for (var key in bbMemos) { if (bbMemos[key]) { bbMemo[key] = bbMemos[key]; } } } +function loadCssCode(code) { var style = document.createElement('style'); style.type = 'text/css'; style.rel = 'stylesheet'; style.appendChild(document.createTextNode(code)); var head = document.getElementsByTagName('head')[0]; head.appendChild(style); } +var allCSS = "#bber{margin-top:2em;width:auto !important;}.bb-timeline pre{color:#aaa;}.bb-timeline ul{margin:0;padding:0;}.bb-timeline ul li{list-style-type:none;margin-bottom:3rem;}.bb-timeline ul li .datacont ul li{margin-bottom:0;}.bb-timeline ul li .bb-div{padding:.6rem 1rem;border:0px solid #666;}.bb-load button{font-size:.8rem;font-style:italic;background:none;border-radius:0;border:1px solid #666;padding:10px 30px;width:100%;letter-spacing:0.8rem;}.bb-timeline ul li .datatime{display:flex;width:16px;line-height:18px;font-size:14px;text-align:center;border-right:1px solid rgba(0,0,0,0.35);padding:0 22px 8px 0;float:left;margin-right:1rem;overflow:hidden;max-height:100px;}.bb-timeline ul li .datacont{margin:0 0 0 3.2rem;min-height:88px;}.bb-timeline ul li .datacont img[src*='emotion']{display:inline-block;width:auto;}.bb-timeline ul li .datafrom{color:#aaa;font-size:0.75em !important;font-style:italic;}.bb-timeline ul li p{margin:0;font-size:16px;letter-spacing:1px;line-height:28px;min-height:18px;margin:0;}.bb-timeline pre p{display:inline-block;}.bb-timeline pre p:empty{display:none;}.dark .bb-timeline ul li .datatime{border-color:#666;}.dark .bb-timeline ul li .bb-div p,.dark .bb-timeline .bb-load button{color:#fafafa;}.dark .bb-timeline ul li .bb-div p svg{fill:#fafafa;}.dark .bb-timeline ul li .datafrom{color:#aaa;}.datacont p{magin:0;}.datacont blockquote{font-family: KaiTi,STKaiti,STFangsong !important;margin:0 0 0 1rem;padding:.25rem 2rem;position: relative;border-left:0 none;}.datacont blockquote::before{line-height: 2rem;content: '“';font-family: Georgia, serif;font-size: 28px;font-weight: bold;position: absolute;left: 10px;top:5px;}.datacont .tag-span{color:#42b983;}.datasource a{color:#fafafa;background:#3b3d42;padding:2px 8px;margin:0 6px 0 0;border-radius:5px;font-size:.9rem;font-weight:400;}.datacont .img{cursor:pointer;border-radius:4px;}.datacont .img.square{height:180px;width:180px;object-fit:cover;}.resimg.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:4px;width:calc(100%* 2 / 3);box-sizing:border-box;margin:4px 0 0;}.resimg.grid-2{grid-template-columns:repeat(2,1fr);width:80%;}.resimg.grid-4{grid-template-columns:repeat(2,1fr);width:calc(80% * 2 / 3);}.resimg.grid figure.gallery-thumbnail{position:relative;width:100%;cursor:zoom-in;}.resimg figure{text-align:left;max-height:50%;}.resimg figure img{}.resimg.grid figure,figcaption{margin:0 !important;}.resimg.grid figure.gallery-thumbnail > img.thumbnail-image{position:absolute;left:0;top:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}#bb-footer{margin:5rem auto 1rem;text-align:center;}#bb-footer p{margin:0 0 0.6rem;}.bb-allnums{letter-spacing:2px;}.bb-allpub{text-decoration:none;font-style:italic;}.bb-timeline ul li::before{content:none;}.post-preview{max-width:680px;height:210px;margin:1em auto;position:relative;display:flex;background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 1px rgba(0,0,0,.25);}.post-preview--meta{width:75%;padding:25px;overflow:hidden;}.post-preview--middle {line-height:28px;}.post-preview--title {font-size:18px;margin:0!important;}.post-preview--title a{text-decoration:none;}.post-preview--date{font-size:14px;color:#999;}.post-preview--excerpt{font-size:14px;line-height:1.825;}.post-preview--excerpt p{display: inline;margin: 0;}.post-preview--image {object-fit:cover;height:auto;width:25%;float:right;border-top-right-radius: 2px!important;border-bottom-right-radius:2px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;}@media (max-width:550px) {.post-preview {width:95%;height:120px;}.post-preview--meta{padding:15px;}.post-preview--image{height:120px!important;}.post-preview--excerpt{display:none;}.post-preview--middle {line-height:19px;}}.rating{display:block;line-height:15px;}.rating-star{display:inline-block;width:75px;height:15px;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAClCAYAAAAUAAAYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA5xJREFUeNrs3T9rFEEcxvG7qEQIglaCICKkin9AUEtBKxU7wS61VlYivgWj70TtNFj5BqzE7qxEWwsxKIoYn4UtluFmbm8nczvzm+/BjxyuDwNzu3uXD0+46f7LC5PA45Hm+WTYw1x2LRDc0jzTXB+wqMlsaLPutz8fDFjYZHYauAz3NBvt83XNnyUWNpn1nVm3OsHmsb3EomazzZnVXKMPNcc0xzUnNKc0Rzv/77fms+Z7O3vt9b1eU7bZrNN68l5zcolX4ofmsuZXTdnmMvyi2dR86Bmcac62P6vKrnVubpc0bxYE32nOab45N8YqsvPeDfcD4SOav4HjprPuu+H5BTt9LXDMfNbdLPfT678Fx6vKupt1o/O8+R3pkOaJ5/iktqx7z/qp+aq5q/nY+fczmheaK03Gs7D5rLtZdzSvA6/Ebc2u55j57HQB0TzW7AzkjiKzny6+2hlKNE8juMNcFqKBaIZndRlCNBBNgmx7ZkE0fbLtZkE0EA1EM17WuQwhGogGooFoss6296y52cNO+J6HLJoPaFdbsvA9zGerIxrPh85eWYgGooFoDiQbuAxp0UA0EVmdWbRo+ma1WbRoIBqIZtzsnHdDWjQQDUQD0WSbde5ZS2UhmtqJJtSEiVkXooFoIJre2VATJmZdiKZ2ogk1YSb8oVMvDeUPnSAaiCaPJkzMuhANRAPRQDQpsqEmTMy6EI11oolpwkA0EA1EcyDZmCYMRAPR+LMxTZjqiCamCQPRQDQQzehNGIgGooFoIJpVZ2OaMBBN7USTqgkD0UA0EE3vbKomDERTO9GkasKYJJpUTRiIBqKBaEZvwkA0EA1EA9GkyKZqwkA01olmrCYMRAPRQDR9LkO+0QmiKbAJUyTRjNWEgWggGohm9CYMRAPRQDQQzZDsWE0YiMYC0eTYhIFoIJrKiCbHJgxEY4FocmzCZEs0OTZhIBqIpjKiybEJA9FANBANROPL5tiEgWhKIJoSmzAQDURjjGhKbMJANCUQTYlNmNGIpsQmDEQD0RgjmhKbMBANRAPR1Es0JTZhIJpciMZaEwaigWgKJBprTRiIJheisdaESUo01powEA1EUyDRWGvCQDQQDURjm2isNWEgmlURzWw2q4pZIBqIJkOiCVyGJpkFolkV0ejMMvel28mIRptl7ku3IRqIpjCimfNuaJpZIBqIBqIpm2ice5Z5ZonJupvVkMRu4JW4qXnrOWY++1+AAQBw9BJSCTeN9wAAAABJRU5ErkJggg==);overflow:hidden;}.allstar10{background-position:0px 0px;}.allstar9{background-position:0px -15px;}.allstar8{background-position:0px -30px;}.allstar7{background-position:0px -45px;}.allstar6{background-position:0px -60px;}.allstar5{background-position:0px -75px;}.allstar4{background-position:0px -90px;}.allstar3{background-position:0px -105px;}.allstar2{background-position:0px -120px;}.allstar1{background-position:0px -135px;}.allstar0{background-position:0px -150px;}.rating-average{color:#777;display:inline-block;font-size:13px;margin-left:10px;}.dark .post-preview{background: #3b3d42;}.video-wrapper{position:relative;padding-bottom:55%;width:100%;height:0}.video-wrapper iframe{position:absolute;height:100%;width:100%;}" +loadCssCode(allCSS); var limit = bbMemo.limit +var memos = bbMemo.memos +var page = 1, offset = 0, nextLength = 0, nextDom = ''; var bbDom = document.querySelector(bbMemo.domId); var load = '
    ' +if (bbDom) { + getFirstList() + var btn = document.querySelector("button.button-load"); btn.addEventListener("click", function () { + btn.textContent = '加载中……'; updateHTMl(nextDom) + if (nextLength < limit) { + document.querySelector("button.button-load").remove() + return + } + getNextList() + }); +} + +var nextPageToken = ''; + +function getFirstList() { + bbDom.insertAdjacentHTML('afterend', load); + + // var bbUrl = memos + "api/v1/memo?creatorId=" + bbMemo.creatorId + "&rowStatus=NORMAL&limit=" + limit; + // https://os.vrast.cn/api/v1/memos?filter=creator=='users/1'&&visibilities=='PUBLIC'& + var bbUrl = memos + "api/v1/memos?filter=creator=='users/"+ bbMemo.creatorId + "'&&visibilities=='PUBLIC'&&pageSize=" + limit; + // var bbUrl = memos + '&pageSize=' + limit; + + fetch(bbUrl).then(res => res.json()).then(resdata => { + + nextPageToken = resdata.nextPageToken;//获取token + resdata = resdata.memos; + updateHTMl(resdata) + + var nowLength = resdata.length + if (nowLength < limit) { + document.querySelector("button.button-load").remove() + return + } + page++ + offset = limit * (page - 1) + getNextList() + }); +} +function getNextList() { + // var bbUrl = memos + "api/v1/memo?creatorId=" + bbMemo.creatorId + "&rowStatus=NORMAL&limit=" + limit + "&offset=" + offset; + // var bbUrl = memos + '&pageSize=' + limit + '&pageToken=' + nextPageToken; + var bbUrl = memos + "api/v1/memos?filter=creator=='users/"+ bbMemo.creatorId + "'&&visibilities=='PUBLIC'&&pageSize=" + limit + '&pageToken=' + nextPageToken; + + fetch(bbUrl).then(res => res.json()).then(resdata => { + resdata = resdata.memos; + + nextDom = resdata + nextLength = nextDom.length + page++ + offset = limit * (page - 1) + if (nextLength < 1) { + document.querySelector("button.button-load").remove() + return + } + }) +} +String.format = function() { + if (arguments.length == 0) + return null; + var str = arguments[0]; + for ( var i = 1; i < arguments.length; i++) { + var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm'); + str = str.replace(re, arguments[i]); + } + return str; + /* + 调用方式: + var info = "我喜欢吃{0},也喜欢吃{1},但是最喜欢的还是{0},偶尔再买点{2}。"; + var msg=String.format(info , "苹果","香蕉","香梨") + alert(msg); + 输出:我喜欢吃苹果,也喜欢吃香蕉,但是最喜欢的还是苹果,偶尔再买点香梨。 + */ +}; + +function updateHTMl(data) { + var result = "", resultAll = ""; const TAG_REG = /#([^\s#]+?) /g, BILIBILI_REG = /.*<\/a>/g, NETEASE_MUSIC_REG = /.*<\/a>/g, QQMUSIC_REG = /.*?<\/a>/g, QQVIDEO_REG = /.*<\/a>/g, YOUKU_REG = /.*<\/a>/g, YOUTUBE_REG = /.*<\/a>/g; marked.setOptions({ breaks: !0, smartypants: !0, langPrefix: 'language-' }); for (var i = 0; i < data.length; i++) { + var bbContREG = data[i].content.replace(TAG_REG, "#$1 ") + bbContREG = marked.parse(bbContREG).replace(BILIBILI_REG, "
    ").replace(NETEASE_MUSIC_REG, "").replace(QQMUSIC_REG, "").replace(QQVIDEO_REG, "
    ").replace(YOUKU_REG, "
    ").replace(YOUTUBE_REG, "
    ") + if (data[i].resources && data[i].resources.length > 0) { + var resources = data[i].resources; var imgUrl = '', resUrl = '', resImgLength = 0; for (var j = 0; j < resources.length; j++) { + var restype = resources[j].type.slice(0, 5); if (restype == 'image') { + // imgUrl += '' + imgUrl += '' + resImgLength = resImgLength + 1 + } + if (restype !== 'image') + { + // resUrl += '
    ' + resources[j].filename + '' + resUrl += '' + resources[j].filename + '' + } + } + if (imgUrl) { + var resImgGrid = "" + if (resImgLength !== 1) { var resImgGrid = "grid grid-" + resImgLength } + bbContREG += '
    ' + imgUrl + '
    ' + } + if (resUrl) { bbContREG += '

    ' + resUrl + '

    ' } + } + + result += "
  • " + new Date(data[i].createTime).toLocaleString() + "
    " + bbContREG + '' + "
  • " + result = String.format(result,data[i].uid) + } + var bbBefore = "
      " + var bbAfter = "
    " + resultAll = bbBefore + result + bbAfter + bbDom.insertAdjacentHTML('beforeend', resultAll); fetchDB() + document.querySelector('button.button-load').textContent = '加载更多'; window.ViewImage && ViewImage.init('.datacont img') + window.Lately && Lately.init({ target: '.datatime' }); +} + +function loadtalk(e) { + + let id = e.getAttribute("id"); + let talkDom = document.getElementById(`${id}-content`); + + + if (document.getElementById("waline")) { + document.getElementById("waline").remove() + } + + let talkContent = "
    "; + talkDom.insertAdjacentHTML('beforeend', talkContent); + + + let metaInfo = ['nick', 'mail', 'link'] + let requiredMeta = 'nick,mail,link'.split(',').filter(item => { + return metaInfo.indexOf(item) > -1 + }) + + let post_index = window.location.pathname.replace(/\/$/,'') + String.format("/talk_page/{0}",id); + Waline.init({ + el: '#waline', + comment: true, + path:post_index, + serverURL: bbMemo.walineUrl, + pageSize: '15', + wordLimit: '500', + requiredMeta, + locale: { + level0: '学步中', + level1: '幼稚园', + level2: '小学生', + level3: '初中生', + level4: '高中生', + level5: '大一萌新', + level6: '大二学霸', + level7: '大三精英', + level8: '大四前辈', + level9: '超级毕业生' + }, + }) +} + +function fetchDB() { + var dbAPI = "https://douban.edui.fun/"; var dbA = document.querySelectorAll(".bb-timeline a[href*='douban.com/subject/']:not([rel='noreferrer'])") || ''; if (dbA) { + for (var i = 0; i < dbA.length; i++) { + _this = dbA[i] + var dbHref = _this.href + var db_reg = /^https\:\/\/(movie|book)\.douban\.com\/subject\/([0-9]+)\/?/; var db_type = dbHref.replace(db_reg, "$1"); var db_id = dbHref.replace(db_reg, "$2").toString(); if (db_type == 'movie') { + var this_item = 'movie' + db_id; var url = dbAPI + "movies/" + db_id; if (localStorage.getItem(this_item) == null || localStorage.getItem(this_item) == 'undefined') { + fetch(url).then(res => res.json()).then(data => { + let fetch_item = 'movies' + data.sid; let fetch_href = "https://movie.douban.com/subject/" + data.sid + "/" + localStorage.setItem(fetch_item, JSON.stringify(data)); movieShow(fetch_href, fetch_item) + }); + } else { movieShow(dbHref, this_item) } + } else if (db_type == 'book') { + var this_item = 'book' + db_id; var url = dbAPI + "v2/book/id/" + db_id; if (localStorage.getItem(this_item) == null || localStorage.getItem(this_item) == 'undefined') { + fetch(url).then(res => res.json()).then(data => { + let fetch_item = 'book' + data.id; let fetch_href = "https://book.douban.com/subject/" + data.id + "/" + localStorage.setItem(fetch_item, JSON.stringify(data)); bookShow(fetch_href, fetch_item) + }); + } else { bookShow(dbHref, this_item) } + } + } + } +} +function movieShow(fetch_href, fetch_item) { + var storage = localStorage.getItem(fetch_item); var data = JSON.parse(storage); var db_star = Math.ceil(data.rating); var db_html = "

    《" + data.name + "》

    " + data.rating + "
    " + data.intro.replace(/\s*/g, "") + "
    " + var db_div = document.createElement("div"); var qs_href = ".bb-timeline a[href='" + fetch_href + "']" + var qs_dom = document.querySelector(qs_href) + qs_dom.parentNode.replaceChild(db_div, qs_dom); db_div.innerHTML = db_html +} +function bookShow(fetch_href, fetch_item) { + var storage = localStorage.getItem(fetch_item); var data = JSON.parse(storage); var db_star = Math.ceil(data.rating.average); var db_html = "

    《" + data.title + "》

    " + data.rating.average + "
    " + data.summary.replace(/\s*/g, "") + "
    " + var db_div = document.createElement("div"); var qs_href = ".bb-timeline a[href='" + fetch_href + "']" + var qs_dom = document.querySelector(qs_href) + qs_dom.parentNode.replaceChild(db_div, qs_dom); db_div.innerHTML = db_html +} diff --git a/uploads/memos/view-image.min.js b/uploads/memos/view-image.min.js new file mode 100644 index 0000000000..4c8141725f --- /dev/null +++ b/uploads/memos/view-image.min.js @@ -0,0 +1,22 @@ +/** + * ViewImage.min.js 2.0.2 + * MIT License - http://www.opensource.org/licenses/mit-license.php + * https://tokinx.github.io/ViewImage/ + */ +var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.createTemplateTagFirstArg = function (b) { return b.raw = b }; $jscomp.createTemplateTagFirstArgWithRaw = function (b, a) { b.raw = a; return b }; $jscomp.arrayIteratorImpl = function (b) { var a = 0; return function () { return a < b.length ? { done: !1, value: b[a++] } : { done: !0 } } }; $jscomp.arrayIterator = function (b) { return { next: $jscomp.arrayIteratorImpl(b) } }; $jscomp.makeIterator = function (b) { var a = "undefined" != typeof Symbol && Symbol.iterator && b[Symbol.iterator]; return a ? a.call(b) : $jscomp.arrayIterator(b) }; +$jscomp.arrayFromIterator = function (b) { for (var a, d = []; !(a = b.next()).done;)d.push(a.value); return d }; $jscomp.arrayFromIterable = function (b) { return b instanceof Array ? b : $jscomp.arrayFromIterator($jscomp.makeIterator(b)) }; +(function () { + window.ViewImage = new function () { + var b = this; this.target = "[view-image] img"; this.listener = function (a) { if (!(a.ctrlKey || a.metaKey || a.shiftKey || a.altKey)) { var d = String(b.target.split(",").map(function (g) { return g.trim() + ":not([no-view])" })), c = a.target.closest(d); if (c) { var e = c.closest("[view-image]") || document.body; d = [].concat($jscomp.arrayFromIterable(e.querySelectorAll(d))).map(function (g) { return g.href || g.src }); b.display(d, c.href || c.src); a.stopPropagation(); a.preventDefault() } } }; this.init = + function (a) { a && (b.target = a);["removeEventListener", "addEventListener"].forEach(function (d) { document[d]("click", b.listener, !1) }) }; this.display = function (a, d) { + var c = a.indexOf(d), e = (new DOMParser).parseFromString('\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n ' + + (c + 1) + "/" + a.length + '\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n ', + "text/html").body.firstChild, g = function (f) { var h = { Escape: "close", ArrowLeft: "tools__flip-prev", ArrowRight: "tools__flip-next" }; h[f.key] && e.querySelector(".view-image-" + h[f.key]).click() }, l = function (f) { + var h = new Image, k = e.querySelector(".view-image-lead"); k.className = "view-image-lead view-image-lead__out"; setTimeout(function () { + k.innerHTML = ""; h.onload = function () { setTimeout(function () { k.innerHTML = 'ViewImage'; k.className = "view-image-lead view-image-lead__in" }, 100) }; + h.src = f + }, 300) + }; document.body.appendChild(e); l(d); window.addEventListener("keydown", g); e.onclick = function (f) { f.target.closest(".view-image-close") ? (window.removeEventListener("keydown", g), e.onclick = null, e.classList.add("view-image__out"), setTimeout(function () { return e.remove() }, 290)) : f.target.closest(".view-image-tools__flip") && (c = f.target.closest(".view-image-tools__flip-prev") ? 0 === c ? a.length - 1 : c - 1 : c === a.length - 1 ? 0 : c + 1, l(a[c]), e.querySelector(".view-image-index").innerHTML = c + 1) } + } + } +})();