Giter Site home page Giter Site logo

salamann / nagias Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kadoyau/nagias

0.0 0.0 0.0 56 KB

NAnaco GIft Autofiller for Sunday

Home Page: https://scrapbox.io/kadoyau/Nanaco%E3%82%AE%E3%83%95%E3%83%88%E3%81%AE%E5%85%A5%E5%8A%9B%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B

License: Apache License 2.0

JavaScript 15.54% Python 77.00% Dockerfile 7.46%

nagias's Introduction

ナナコギフト入力で日曜日を溶かすのは、もうおしまいにしよう

Dockerを使った実行 (recommended)

動作環境

使い方

1. このリポジトリをダウンロード

git clone https://github.com/kadoyau/nagias.git
cd nagias

2. 必要なファイルを用意

IDとpasswordの設定を記述・ギフトコードを入力(設定ファイルの作り方を参照)

$EDITOR .secret
$EDITOR .giftcodes

Chrome向けのseccomp profileを用意する

// macOS/Linux
wget https://raw.githubusercontent.com/jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json -O chrome.json

// windows
Invoke-WebRequest -Uri https://raw.githubusercontent.com/jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json -OutFile chrome.json

3. Dockerイメージを構築

docker build -t nagias .

4. コンテナとしてイメージを実行

モバイル会員・ネット会員

docker run --rm --name nagias \
           -v $PWD/.secret:/home/nagias/.secret \
           -v $PWD/.giftcodes:/home/nagias/.giftcodes \
           --security-opt seccomp=$PWD/chrome.json \
           nagias python nanaco_auto_fill.py -d

カード会員

docker run --rm --name nagias \
           -v $PWD/.secret:/home/nagias/.secret \
           -v $PWD/.giftcodes:/home/nagias/.giftcodes \
           --security-opt seccomp=$PWD/chrome.json \
           nagias python nanaco_auto_fill.py -t 2 -d

参考:Dockerのセキュリティ

Docker用のSeccomp Profileはjessfrazchrome.jsonを使っています。

検証環境

  • Ubuntu 20.04.2 LTS
    • Docker 20.10.3
    • git 2.25.1
  • Docker Image: python:3.9.2-alpine3.13
    • Chromium 86.0.4240.111
    • ChromeDriver 86.0.4240.111
    • Selenium 3.141.0

macOSでの実行

事前準備

  • ChromeおよびChrome Canaryをインストールする
    • /Applications 直下におく
    • 使いたい方だけ入れれば問題ない(デフォルトはChromeを利用する)
  • 以下の手順に従ってselenium等を導入
git clone [email protected]:kadoyau/nagias.git
cd nagias

# virtualenvのインストール
pip install virtualenv
# virtualenvをアクティベート(ここで/env/binが生成される)
virtualenv env
source env/bin/activate

# Seleniumのインストール
pip install selenium

# Chrome Driverのインストール
PLATFORM=mac64
VERSION=$(curl http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
curl http://chromedriver.storage.googleapis.com/$VERSION/chromedriver_$PLATFORM.zip \
| bsdtar -xvf - -C env/bin/
chmod u+x env/bin/chromedriver

# 実行確認
chromedriver
Starting ChromeDriver 2.30.477690 (c53f4ad87510ee97b5c3425a14c0e79780cdf262) on port 9515
Only local connections are allowed.
# Ctrl-Cなどで一旦切断する

# IDとpasswordの設定を記述
$EDITOR .secret
# ギフトコードを入力する
$EDITOR .giftcodes 

使い方

実行方法

モバイル会員・ネット会員

python nanaco_auto_fill.py

カード会員

python nanaco_auto_fill.py -t 2

詳細な使い方

以下のコマンドでヘルプを表示できます。

python nanaco_auto_fill.py -h

注意

-qオプションを使う際には、-cと組み合わせて利用しないとエラーが発生します。

再現環境

  • headless chrome=60.0.3112.78
  • chromedriver=2.30.477690
  • Mac OS X 10.12.5

Chrome 62.0.3168.0では問題ありませんでした。

設定ファイルの作り方

.secretの中身

タブ区切りでID/Passをかきます

YOUR_LOGIN_ID  YOUR_PASSWORD

.giftcodesの中身

16桁のギフトコードを入力する。1つのコードごとに改行する。

abcdefghijklmnop
bcdefghijklmnopq
...

.giftcodesを作成しやすくする補助ツール

image

使い方

  1. Tampermonkeyをインストールする
  2. https://github.com/kadoyau/nagias/raw/master/code_extractor.user.js をひらいてユーザスクリプトをインストールする
  3. ギフトコードが送られてくるページへアクセスするとコピペ用のテキストエリアにコードが出現
  4. .giftcodesにペーストする

よくある質問

https://scrapbox.io/kadoyau/nagias_FAQ

nagias's People

Contributors

kadoyau avatar ichicho avatar salamann avatar hsmtkk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.